Matthew Brett <matthew.br...@gmail.com> writes: > Hi, > > Can anyone think of a good way to set a float128 value to an > arbitrarily large number? > > As in > > v = int_to_float128(some_value) > > ? > > I'm trying things like > > v = np.float128(2**64+2) > > but, because (in other threads) the float128 seems to be going through > float64 on assignment, this loses precision, so although 2**64+2 is > representable in float128, in fact I get: > > In [35]: np.float128(2**64+2) > Out[35]: 18446744073709551616.0 > > In [36]: 2**64+2 > Out[36]: 18446744073709551618L > > So - can anyone think of another way to assign values to float128 that > will keep the precision?
Just use float128 all the was through, and avoid casting to float in between: .>>> "%20.1f"%float(2**64+2) '18446744073709551616.0' .>>> np.float128(np.float128(2)**64+2) 18446744073709551618.0 Regards Berthold > > Thanks a lot, > > Matthew -- A: Weil es die Lesbarkeit des Textes verschlechtert. F: Warum ist TOFU so schlimm? A: TOFU F: Was ist das größte Ärgernis im Usenet?
pgpgCtTQeLJUE.pgp
Description: PGP signature
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion