So numbers with a decimal point are always interpreted as floats.By default the package exports functions PARI(), PARIcol(), PARIvar(), + PARImat() and PARImat_tr() which convert their argument(s) to a PARI + object. (In fact PARI() is just an alias for new Math::Pari). The fu +nction PARI() accepts following data as its arguments One integer Is converted to a PARI integer. One float Is converted to a PARI float. One string Is executed as a PARI expresion (so should not contain whitespace) +. PARI object Is passed unchanged. Reference to a Perl array Each element is converted using the same rules, PARI vector-row wi +th these elements is returned. ... Conflicts of rules in PARI() In deciding what rule of the above to apply the preference is give +n to the uppermost choice of those available now. If none matches, th +en the string rule is used. So PARI(1) returns integer, PARI(1.) retu +rns float, PARI("1") evaluates 1 as a PARI expression (well, the resu +lt is the same as PARI(1), only slower).
An alternative method for insuring integer objects is to int Perl variables before converting to Pari objects.
-Mark
In reply to Re: On precision in Math::Pari
by kvale
in thread On precision in Math::Pari
by tlm
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |