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
