Karim Belabas on Fri, 28 May 2010 19:28:40 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: integer representation in pari |
* Bill Allombert [2010-05-28 18:26]: > On Fri, May 28, 2010 at 11:13:11AM -0400, Sam Steingold wrote: > > Hi, > > > > On 5/27/10, Bill Allombert <Bill.Allombert@math.u-bordeaux1.fr> wrote: > > > > > > You can also check whether the C macro PARI_KERNEL_GMP is defined, > > > but usually it is better to use int_W() to acces the mantissa. > > > > thanks! > > can I also use int_W to access the mantissa of a t_REAL? > > (it never explicitly says that, but ...) > > No you cannot. t_REAL mantissa is always in HIGH bytes first, > so this would not work with the GMP kernel. Note that > t_REAL mantissa is normalized (i.e. first bit is one). All this may change (in fact, it *will* change : it is very annoying to have different internal representations for t_INTs and t_REALs). In general, direct access to an object's internal representation is strongly discouraged. In the 2.4.* branch (2.5-stable-to-be), you can use trunc2nr() or trun2nr_lg() to recover any part of the matissa as a t_INT. Btw, why do you want to access words of a t_REAL mantissa in the first place ? Cheers, K.B. -- Karim Belabas, IMB (UMR 5251) Tel: (+33) (0)5 40 00 26 17 Universite Bordeaux 1 Fax: (+33) (0)5 40 00 69 50 351, cours de la Liberation http://www.math.u-bordeaux.fr/~belabas/ F-33405 Talence (France) http://pari.math.u-bordeaux.fr/ [PARI/GP] `