Raul,

You have a newer beta than I do? Is there no end to your wizardry!

But, I see the same thing now that I am updated to the commercial version of 
j806

   JVERSION
Engine: j806/j64/darwin
Release: commercial/2017-11-06T10:20:33
Library: 8.06.09
Platform: Darwin 64
Installer: J806 install
InstallPath: /users/bobtherriault/j64-806
Contact: www.jsoftware.com
   numeric=: 0  =  0 {.@{. ,
   numeric 4+0 $.i.3
0
   numericM=: monad : '0 -: 0{ , 1{. 0#y'
   numericM 4+0 $.i.3
0

But then I noticed something that I hadn't known about sparse arrays and their 
sparse characters

   numeric 0 $. 4 + i.3
1
   numericM 0 $. 4 + i.3
1
   3 $. 0 $. 4 + i.3 NB. Sparse character displayed using 3 $. y is 0 after 
sparse array is first created
0
   3 $. 3 + 0 $. 4 + i.3 NB. Sparse character changes if entire array is 
changed later
3
   (0 # ,) 3 + 0 $. 4 + i.3 NB. Empty
   {: (0 # ,) 3 + 0 $. 4 + i.3 NB. result comes from updated sparse character
3

I think that this is what breaks numeric and numericM, but there is always more 
to know

   s=: (0 # ,) 3 + 0 $. 4 + i.3 
   s           NB. Empty array
   {:s         NB. now we know the 3 comes from the sparse character
3
   (1,{:) s    NB. makes sense
1 3
   (1,{.) s    NB. turns out first of empty is sparse character as well
1 3
   s -: 0$0    NB. s is empty, right?
1
   ((0$0),{.) s    NB. empty and integer is list
3
   (s,{.) s    NB. this displays like 0 $ 0
   $(s,{.) s   NB. but has a shape of 1 
1

It turns out it this is what an empty sparse array looks like. It has zero 
non-sparse entries.   


Cheers, bob


> On Nov 9, 2017, at 12:56 PM, Raul Miller <[email protected]> wrote:
> 
> I'm using Beta-7, where you are using Beta-6.
> 
> That might be the issue?

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to