OK nevermind I got it now. I talked with Esteban. I had misunderstood.

2016-02-18 14:57 GMT+01:00 Clément Bera <bera.clem...@gmail.com>:

> I don't understand.
>
> In 32 bits in C, there are 32 bits float called "float" or "single
> precision float" but its usage is very uncommon. People always use "double"
> as every 32 bits processors supports 64 bits float nowadays. When I look at
> the Cairo reference manual, only double are used, so I don't understand why
> you need to cast BoxedFloat64 to single precision float for FFI. The
> ThreadedIA32FFIPlugin has both #ffiPushDoubleFloat:in:
> and ffiPushSingleFloat:in: so all the support seems to be available.
>
> Can you explain why by default you reduce the precision of float to 32
> bits ? Is it because the library used expects a single precision float to
> be passed ?
>
>
>
> 2016-02-18 11:57 GMT+01:00 Esteban Lorenzano <esteba...@gmail.com>:
>
>> 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>:
>>
>>>
>>> On 12 Feb 2016, at 17:50, Aliaksei Syrel <alex.sy...@gmail.com> wrote:
>>>
>>> On Fri, Feb 12, 2016 at 5:45 PM, Esteban Lorenzano <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