Another workaround would be convert integers to floating point numbers on
the J side.
_j.Do("a =: (0.5-0.5)+ 10 20 30");
Another issue with J COM was it can not handle wide unicode characters as
reported by Alex Rufon.
On Aug 19, 2014 7:37 PM, "Eric Iverson" wrote:
> The bugs in J64 com are unl
The bugs in J64 com are unlikely to be fixed soon (at least months away).
You'll need to use a workaround.
Perhaps the simplest would be to use 3!:4 (3 ic 4) to convert the 64
bit ints to bytes, transfer those, and then do a cast on the c# side.
Another way would be to pass pointers but this wo
Sorry. You are correct.
The following comment appears in j engine source. I guess this
was written more than a decade ago when 64-bit COM was uncommon.
But by now, there is not so much incentive to support 64-bit COM.
//! 64 bit problems - com and dll interface is 32 bit - needs test and thought
The subject said JDLLServer which should be available in all
versions of J engines. You need to run the batch file included
to register the COM server. If you use the AIO installer, this
will be done for you.
Пн, 18 авг 2014, John Baker написал(а):
> I curious as to what version of j64 you are us
I curious as to what version of j64 you are using. Are the COM servers
still embedded in j8.02?
Yes, they are. :)
On Mon, Aug 18, 2014 at 7:55 AM, bill lam wrote:
I'm not an expert on C#, but it seems that int is always 4-byte
whether on
32 or 64 bit, so that you propably need int64[]
Thanks for your reply.
I'm not an expert on C#, but it seems that int is always 4-byte whether
on
32 or 64 bit, so that you propably need int64[] for J64.
Yes, that right. Integers like int or Int32 have a size of 32 bit, but
that is not the problem here. Already the _j.GetB always returns box
I curious as to what version of j64 you are using. Are the COM servers
still embedded in j8.02?
On Mon, Aug 18, 2014 at 7:55 AM, bill lam wrote:
> I'm not an expert on C#, but it seems that int is always 4-byte whether on
> 32 or 64 bit, so that you propably need int64[] for J64.
> On Aug 18, 2
I'm not an expert on C#, but it seems that int is always 4-byte whether on
32 or 64 bit, so that you propably need int64[] for J64.
On Aug 18, 2014 8:16 PM, wrote:
> I have an issue with the 64-bit JDLLServer in relation to 64 integers. It
> seems that JDLLServer handles only the lower 32 bits of
I have an issue with the 64-bit JDLLServer in relation to 64 integers.
It seems that JDLLServer handles only the lower 32 bits of a 64 bit
value. The following test demonstrates this issue:
Test (C#):
var value = 1000 + ((Int64)1 << 32);
_j.Do(String.Format("a =: {0}", value));
Assert.AreEqual(