Re: [Jprogramming] 64/32 bit issue with JDLLServer .NET

2014-08-20 Thread bill lam
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

Re: [Jprogramming] 64/32 bit issue with JDLLServer .NET

2014-08-19 Thread Eric Iverson
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

Re: [Jprogramming] 64/32 bit issue with JDLLServer .NET

2014-08-18 Thread bill lam
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

Re: [Jprogramming] 64/32 bit issue with JDLLServer .NET

2014-08-18 Thread bill lam
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

Re: [Jprogramming] 64/32 bit issue with JDLLServer .NET

2014-08-18 Thread seb_foren
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[]

Re: [Jprogramming] 64/32 bit issue with JDLLServer .NET

2014-08-18 Thread seb_foren
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

Re: [Jprogramming] 64/32 bit issue with JDLLServer .NET

2014-08-18 Thread John Baker
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

Re: [Jprogramming] 64/32 bit issue with JDLLServer .NET

2014-08-18 Thread bill lam
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

[Jprogramming] 64/32 bit issue with JDLLServer .NET

2014-08-18 Thread seb_foren
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(