I rebuilt all jconsole/libj/tsdll. linux32 failed gdll_df test.
9 13 14 26(4 : 0"0)'abcz'
try.
(+/>yy)=>{.z=:('d1',y,' d ','d '$~2*x) dcd yy=:<"0 [ 1.3*?x#10
catch.
7 0-:cder'' NB. failure with too many float/double args allowed
end.
)
1 1 1 0
|assertion failure: RUN1
|[-66] /home/bill/jbld/test/gdll_df.ijs
+/>yy
132.6
>{.z
87.1
but it passed under linux64.
Чт, 22 сен 2016, Xiao-Yong Jin написал(а):
> Thanks Bill for the guidance. I've looked into the ABI's for ppc64 and
> x86_64.
>
> Attached is a patch to fix cd for correctly passing floating point values
> under linux_ppc64, linux_x86_64, and darwin_x86_64.
>
> On linux ppc64, I tested with RHEL on a power7. Single precision floating
> point numbers are now correctly passed. The first 13 of both single and
> double precision numbers are passed via registers, and the rest are correctly
> pushed to stack with other arguments.
>
> On x86_64, I tested with both linux and darwin. The patch lifts the
> restriction of 8 floating point scalars. Extra single or double precision
> floating point numbers are correctly pushed to stack. Now you will never
> have to see the cd domain error "7 0 - system limit - linux64 max 8
> float/double scalars". We can remove this line from our dictionary.
>
> I imagine it would take minimal changes to apply to other x86_64 systems.
> Though I don't have the OS to test, but I'd be glad to explain and help out.
>
> Best,
> Xiao-Yong
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
--
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm