STON is able to serialise Pharo���s Floats, what do you mean by double ?
��
Floating-point numbers in IEEE 64-bit format, 14 or 15 significant digits, with a range between =10^307 and 10^307.
��
Additionally, I recently asked Sven if t would be possible to store ScaledDecimals (I think it implements what you call ArbitraryPrecisionFloats) without loss of precision.
��
I���m referring VW���s Double (and SmallDouble in 64-bit engines/images).�� APFs are binary representations that can be arbitrarily large, using Integers (LargePositiveIntegers for example) to model the bits of the mantissa.
��
Before, because STON extends JSON, it was storing all kind of numbers either as float or integer.
��
Now, thanks to Sven, STON stores��ScaledDecimals correctly (without loss of precision through serialisation as float, what was done before).
��
But I do not know if this change is integrated in recent images yet.
��
���..
��
Number subclass: #Float
������������������������������ instanceVariableNames: ''
������������������������������ classVariableNames: 'E Epsilon Halfpi Infinity Ln10 Ln2 MaxVal MaxValLn MinValLogBase2 NaN NegativeInfinity NegativeZero Pi RadiansPerDegree Sqrt2 ThreePi Twopi'
������������������������������ poolDictionaries: ''
������������������������������ category: 'Kernel-Numbers'
��
��
My instances represent IEEE-754 floating-point double-precision numbers.�� They have about 16 digits of accuracy and their range is between plus and minus 10^307. Some valid examples are:
������������������������������
������������������������������ 8.0 13.3 0.3 2.5e6 1.27e-30 1.27e-31 -12.987654e12
���.
��
I see that Pharo���s Float is VW���s Double.���� So then I just need to be able to serialize APF.
��
���.
FIFloatType subclass: #FFIFloat128
������������������������������ instanceVariableNames: ''
������������������������������ classVariableNames: ''
������������������������������ poolDictionaries: ''
������������������������������ category: 'UnifiedFFI-Types'
��
��
I'm a 128bits (cuadruple precision) float.
It is usually not used, but some compiler modes support it (__float128 in gcc)
��
THIS IS NOT YET SUPPORTED
���.
��
The class above is also from the Pharo 7 image.�� This is the largest of the c-type FFIFloats.�� Any Float classes of this size and larger for the Smalltalk heap on 64-bit Pharo?��
��
��
Cheers,
��
Shaping
��
��
Le 6 nov. 2018 �� 06:58, Shaping <shaping@uurda.org> a ��crit :
��
(Having domain problems recently.�� Please excuse this posting if you have
seen it twice.�� I've not seen it appear yet on the list.)
Can STON be extended to handle Doubles and ArbitraryPrecisionFloats?
Shaping
-----Original Message-----
From: Pharo-dev [mailto:pharo-dev-bounces@lists.pharo.org] On Behalf Of
David T. Lewis
Sent: Wednesday, October 31, 2018 14:58
To: Pharo Development List <pharo-dev@lists.pharo.org>
Subject: Re: [Pharo-dev] [ANN] The STON Specification
This is very clear and well written.
DaveHi,
Since there can never be enough documentation I finally took some time
to write a more formal description of STON as a data format.
��https://github.com/svenvc/ston/blob/master/ston-spec.md
The idea is to let this stabilise a bit and to then update the two
other documents describing STON, where necessary:
��https://github.com/svenvc/ston/blob/master/ston-paper.md
https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuc
cessfulBuild/artifact/book-result/STON/STON.html
Also, the latest changes in STON have to make their way to the Pharo
image as well.
��https://github.com/svenvc/ston
All feedback is welcome.
Sven
--
Sven Van Caekenberghe
Proudly supporting Pharo
http://pharo.org
http://association.pharo.org
http://consortium.pharo.org
��