> >Does it mean we have to make all arguments assignable ? > > The problem is not with assignable. For now, when we have a > __gmp_expr<T,G>, Assignable say : "ho, I have a specialisation which > say it is a mpz_class" but in fact, is is not really a mpz_class. It > is for exemple a __gmp_expr<mpz_struct, > gmp_binary<__gmp_expr<mpz_struct,mpz_struct>,double,binary_plus> > > or something like this. > As you can see, in fact this is the result of an addition between a > double and a mpz_class and it should be a mpf_class because we can > see a double in this expression. But it should be more complicated > otherwise gmp developper may have fix this problem isn't it? OK I got it. Pythran cast the result to long and python to float, because we do not try to expand the __gmp_expr... -- serge