just in case, and https://www.virustotal.com/ru/file/738460bb6be71b4615581dad1a787cbb80b188e52fe3480ef54b7bfce500f3dd/analysis/1543226071/
пн, 26 нояб. 2018 г. в 12:50, Yuriy Babah <babah.yuri...@gmail.com>: > Thank, i'm trued do this, and i'm got > aBoxedFloat64 4.5879913020458836e-41 , > which is still a very strange value > > пн, 26 нояб. 2018 г. в 12:33, teso...@gmail.com <teso...@gmail.com>: > >> Hi, >> >> could be the problem that you are using the same external array for >> both xm and ym?. >> The clone message just creates a shallow copy of the external array. >> It does not allocates a new external array, it only copies the address in >> both xm and ym. >> >> You should better do something like this: >> >> xm := FFIExternalArray externalNewType: 'float' size: 2. >> ym := FFIExternalArray externalNewType: 'float' size: 2. >> >> Cheers. >> >> On Mon, Nov 26, 2018 at 9:30 AM Yuriy Babah <babah.yuri...@gmail.com> >> wrote: >> >>> Hi ! >>> >>> I'm trying to call a very simple function from C ++ lib, writed for the >>> test. >>> function with prototype: >>> >>> extern "C" float interpolationFunc(float* xm, float* ym, int size, float >>> x). >>> >>> In Pharo7 wrote: >>> FFIExamples class >> interpolationFunc_xm: xM ym: yM size: size x: x >>> ^ self ffiCall: #(float interpolationFunc #(float * xM , float * yM >>> , int size , float x)) module: 'libinterpolationLib.so' >>> >>> in Playground i'm doing: >>> xm := FFIExternalArray externalNewType: 'float' size: 2. >>> ym := xm clone. >>> #(2 3) doWithIndex: [:each :i | xm at: i put: each]. >>> #(3 4) doWithIndex: [:each :i | ym at: i put: each]. >>> FFIExamples interpolationFunc_xm: xm pointer ym: ym pointer size: 2 x: >>> 2.5 . >>> >>> last expression returninп me 0.0, but right is 3.5. >>> >>> I'm dit the same in Python3 ctypes, and there work's fine. >>> >>> In UnifiedFFI booklet is absent chapter "Arrays", anybody may help with >>> whot i'm doing wrong? >>> >> >> >> -- >> Pablo Tesone. >> teso...@gmail.com >> >
libinterpolationLib.so
Description: Binary data