Hi Alex,
one more question:
(de pwilcox (X Y Z I J)
(! native `*LibRmath "pwilcox" 1.0 (cons X 1.0) (cons Y 1.0) (cons Z
1.0) I J ) )
## double pwilcox(double, double, double, int, int);
: (rmath~pwilcox 2.7 6.20 5.4 1 3)
(native "libRmath.so" "pwilcox" 1 (cons X 1) (cons Y 1) (cons Z 1) I "J")
! J
-> NIL
! I
-> 1
!
-> -4
Why is that second Integer argument interpreted as transient symbol, and
then NIL although the actual arg = 3?
In the docs I only find:
"The number of fixpoint arguments is limited to six."
but that looks irrelevant here.
So how do I specify a
## double pwilcox(double, double, double, int, int);
signature correctly?
Cheers
Thorsten
Am Fr., 13. Nov. 2020 um 17:15 Uhr schrieb Thorsten Jolitz <
[email protected]>:
> Hi Alex,
> yes that works with (cons X 1.0), I knew it was a trivial problem.
> Thanks!
> Cheers
> Thorsten
>
> Am Fr., 13. Nov. 2020 um 08:00 Uhr schrieb Alexander Burger <
> [email protected]>:
>
>> Hi Thorsten,
>>
>> welcome back! :)
>>
>> > I'm playing around with the native function again (after a long long
>> time
>> > ;-) and somehow I don't manage to call a native wrapper with double arg.
>>
>> >
>> > Using rmath from R, random value from poisson distribution:^
>> > ## double› rpois(double);
>> > ...
>> > This works
>> > : (native "libRmath.so" "rpois" 1.0 (2.567 . 1.0))
>> > ...
>> > but this dumps
>> > : (de rpois (X) (native "libRmath.so" "rpois" 1.0 (X . 1.0) ) )
>> > ...
>> > When I debug it, X=3 when the function is called.
>>
>> The problem is (X . 1.0), it calls 'X' as a function.
>>
>> So this would work:
>>
>> : (de rpois (X)
>> (native "libRmath.so" "rpois" 1.0 (cons X 1.0) ) )
>>
>> ☺/ A!ex
>>
>> --
>> UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe
>>
>>