but in C (32bits) floats are 4 bytes, so when you do: 

ByteArray new 
        floatAt: 1 put: somePharoFloat;

it will cast it to 4 bytes (if it fits which is most of the cases).

but as I said… it is an error I need to fix :)

Esteban

> On 12 Feb 2016, at 20:50, Clément Bera <bera.clem...@gmail.com> wrote:
> 
> I don't understand. All BoxedFloat have 8 bytes, that's why they are called 
> BoxedFloat64. There are no 4-bytes floats in Pharo. Even in 32 bits.
> 
> 2016-02-12 18:06 GMT+01:00 Esteban Lorenzano <esteba...@gmail.com 
> <mailto:esteba...@gmail.com>>:
> 
>> On 12 Feb 2016, at 17:50, Aliaksei Syrel <alex.sy...@gmail.com 
>> <mailto:alex.sy...@gmail.com>> wrote:
>> 
>> On Fri, Feb 12, 2016 at 5:45 PM, Esteban Lorenzano <esteba...@gmail.com 
>> <mailto:esteba...@gmail.com>> wrote:
>> Float>>#pointer 
>>      ^ (ByteArray new: FFIExternalType pointerSize)
>>              floatAt: 1 put: self;
>>              yourself
>> 
>> Yes it does the trick :) Thanks!
> 
> yes and no (I made a mistake): that works because incidentally pointers and 
> floats have same size (4 bytes)… but can happen that it is not (doubles have 
> 8 bytes)… but is ok for now :)
> I will fix it correctly next week. 
> 
> Esteban
> 

Reply via email to