Re: [Pharo-dev] what is the relationship between Float and its subclasses?

2016-02-02 Thread Eliot Miranda
Stef, in 32-bit Spur there are only BoxedFloat64 instances. In 64-bit Spur there are (already) both BoxedFloat64 instances and SmallFloat64 immediates. In 64-but Spur, if a float's exponent is in the middle 8 bit range of the 11-bit double precision exponent range it is represented as a

Re: [Pharo-dev] what is the relationship between Float and its subclasses?

2016-02-02 Thread Eliot Miranda
Hi Stef, > On Feb 1, 2016, at 11:03 PM, stepharo wrote: > > What about something like that > > > My instances hold 64-bit Floats in heap objects. This is the only > representation on 32-bit systems. But on 64-bit systems SmallFloat64 holds a > subset of the full 64-bit

Re: [Pharo-dev] what is the relationship between Float and its subclasses?

2016-02-01 Thread Nicolas Cellier
SmallFloat is like SmallInteger: immediate value encoded in oop, and it is only for 64 bits Spur VM. Boxed is the classical VM Float, two 4-bytes word allocated per Float, and is both for 32 bits VM and Float values not fitting in immediate format (3 bits have been stolen from exponent...).

[Pharo-dev] what is the relationship between Float and its subclasses?

2016-02-01 Thread stepharo
Hi I'm updating Pharo by example and the relationship between Float and its subclasses is unclear to me. Do we only get instances of the subclasses now? I got that Boxed is only for 64 bits. But SmallFloat? The class comment is not really self describing. Stef

Re: [Pharo-dev] what is the relationship between Float and its subclasses?

2016-02-01 Thread stepharo
What about something like that My instances hold 64-bit Floats in heap objects. This is the only representation on 32-bit systems. But on 64-bit systems SmallFloat64 holds a subset of the full 64-bit double-precision range in immediate objects. BoxedFloat64 is the classical VM Float, two

Re: [Pharo-dev] what is the relationship between Float and its subclasses?

2016-02-01 Thread stepharo
Tx nicolas I read SmallFloat64: My instances represent 64-bit Floats whose exponent fits in 8 bits as immediate objects. This representation is only available on 64-bit systems, not 32-bit systems. BoxedFloat64: My instances hold 64-bit Floats in heap objects. This is the only