Hi, On Sat, Nov 12, 2011 at 11:35 PM, Matthew Brett <matthew.br...@gmail.com> wrote: > Hi, > > Sorry for my continued confusion here. This is numpy 1.6.1 on windows > XP 32 bit. > > In [2]: np.finfo(np.float96).nmant > Out[2]: 52 > > In [3]: np.finfo(np.float96).nexp > Out[3]: 15 > > In [4]: np.finfo(np.float64).nmant > Out[4]: 52 > > In [5]: np.finfo(np.float64).nexp > Out[5]: 11 > > If there are 52 bits of precision, 2**53+1 should not be > representable, and sure enough: > > In [6]: np.float96(2**53)+1 > Out[6]: 9007199254740992.0 > > In [7]: np.float64(2**53)+1 > Out[7]: 9007199254740992.0 > > If the nexp is right, the max should be higher for the float96 type: > > In [9]: np.finfo(np.float64).max > Out[9]: 1.7976931348623157e+308 > > In [10]: np.finfo(np.float96).max > Out[10]: 1.#INF > > I see that long double in C is 12 bytes wide, and double is the usual 8 bytes.
Sorry - sizeof(long double) is 12 using mingw. I see that long double is the same as double in MS Visual C++. http://en.wikipedia.org/wiki/Long_double but, as expected from the name: In [11]: np.dtype(np.float96).itemsize Out[11]: 12 Cheers, Matthew _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion