On Sat, Oct 27, 2012 at 11:56:21PM +0200, serge Guelton wrote: > > >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... Or __gmp_resolve_expr __gmp_resolve_temp ... -- serge