On 32-bit, 9!:20 returns 2^30 when set above that number with 9!:21 and the 
same input number when set lower.

So it's <./y,2^30


On Nov 17, 2008, at 17:41, Roger Hui <[EMAIL PROTECTED]> wrote:

What is the result of   9!:20 ''    ?



----- Original Message -----
From: Oleg Kobchenko <[EMAIL PROTECTED]>
Date: Monday, November 17, 2008 13:32
Subject: Re: [Jgeneral] Mac 64 bit revisited
To: General forum <[email protected]>

Yes, this is really weird. It is not possible
to allocate more than 1Gb chunk of memory.

Running Ubuntu-8 64-bit in VMWare with 1.5Gb RAM,
I can allocate even smaller array than on 32-bit
Windows, with 1.5 Gb RAM.

On Ubuntu-8 64-bit:

   A=: i.2^26   NB. 0.5 Gb OK

   A=: i.2^27   NB. > 1 Gb Error
|out of memory
|   A=:    i.2^28

It is possible to allocate one more such array:

   B=: i.2^26

To a total of
   7!:0''
2,148,241,024

then it given out of memory

On Windows XP 32-bit:

   A=: i.2^27   NB. 0.5 Gb OK

   A=: i.2^28   NB. > 1 Gb Error
|limit error
|   A=:    i.2^28

(The memory limit is of 2^30 is maximum possible on 32-bit.)


   <.2^26
67,108,864
   8*<.2^26   NB. 0.5 Gb worth of 64-bit ints
536,870,912

   <.2^27
134,217,728
   4*<.2^27   NB. 0.5 Gb worth of 32-bit ints
536,870,912
   
   <.2^28
268,435,456
   4*<.2^28   NB. 1 Gb worth of 32-bit ints
1,073,741,824






From: Matthew Brand <[EMAIL PROTECTED]>

I don't think I understand all this 64-bit stuff at all now.

I am using J64 for Linux on 64 bit Ubuntu on VMWare fusion on 
Leopard> on a 2GB Mac Book Pro. I thought that by using J64 I 
would be able to
work with arrays of much larger size because the Virtual 
Address Space
would be larger.

But I get this:
    #i.2^24
16777216
    #i.2^30
|out of memory
|   #    i.2^30

When I try to use mapped files...
require 'jmf files dir'
NB. This works
size =. 65536
bigfn =. jpath '~temp\big.jmf'
createjmf_jmf_ bigfn;(size)
map_jmf_ 'bigvar';bigfn
bigfun =: i.size
unmap_jmf_ 'bigvar'

NB. This does not work, but I cannot see why since 65536=2^16
size =. 2^16
bigfn =. jpath '~temp\big.jmf'
createjmf_jmf_ bigfn;(size)
map_jmf_ 'bigvar';bigfn
bigfun =: i.size
unmap_jmf_ 'bigvar'

NB. When I try to make a really big mapped file, I get an 
error. but I
thought the VAS on J64 was 2^64?
NB. This only tries to make a 2GB mapped file (only 2^32) but 
does not work.
size =. 2147483648
bigfn =. jpath '~temp\big.jmf'
createjmf_jmf_ bigfn;(size)
map_jmf_ 'bigvar';bigfn
bigfun =: i.size
unmap_jmf_ 'bigvar'

NB. the error is:
    map_jmf_ 'bigvar';bigfn
|bad jmf header: assert
|   'bad jmf header'    assert 0[free 
fh,mh,fad> 
Have I just completely missed the point of 64-bit VAS? Should 
I be
able to create size 2^32 byte mapped files using J64? When a command
results in "out of memory", does that mean it is out of RAM or 
out of
VAS? My edit->configure->parameters->memory limit is set to 
2^62. Do I
need to set some other parameters in Ubuntu to allow J to use more
VAS?

Thanks,
Matthew.

2008/11/15 Matthew Brand :
Thanks for the help guys. I think the problem is that 
VirtualBox does
not support 64 bit guests on the Mac yet. Let's hope they 
sort it out
soon?

I have installed a trial copy of VMWare fusion and have 
managed to get
J64 working on ubuntu. Hooray! :-).

Issues I ran into, in case anyone else tries it this way:

1) The macBook Pro keyboard is not properly recognised, so I 
did the
things advised on this page
http://ubuntuforums.org/showthread.php?t=959249 .

I installed xkbset:

sudo apt-get install xkbset

and appended the following to .bashrc:

xmodmap -e "keycode 94 = grave asciitilde"
xmodmap -e "keycode 133 = ISO_Level3_Shift"
xmodmap -e "keycode 134 = Multi_key"
xmodmap -e "keycode 108 = Pointer_Button3"
xkbset m


2) java64 had to be created:
  sudo  ln /usr/bin/java /usr/bin/java64

64-bit jconsole and jwd work for me now start for me now. If 
I don't
run into any problems then I will buy a copy of VMWare 
fusion when the
trial runs out. It is pretty slick and only costs ~£50.

Cheers,
Matthew.

2008/11/15 bill lam :
On Fri, 14 Nov 2008, Matthew Brand wrote:
I have managed to get Damn Small Linux (DSL) working, but 
it complains
that the Jconsole binary cannot be executed. I tried to 
install Java
on it, but gave up after an hour. Then I installed Arch 
Linux 64, but
could not get it to connect to the internet. Ubuntu 
complains that the
kernel is for x86 rather than i686 so that does not work, 
I cannot
find an Ubuntu which has got the i686 kernel.

virtualbox only started to support 64-bit guest 
recently.  My
experience is that it works but not very well. DSL uses a rather
outdated kernel 2.24 iirc. Arch Linux is meant for hackers, its
installation stops after setting up enough to allow to you 
login a tty
console. You have to manually set up various conf files 
yourself. I
guess that ubuntu said it needs a "x86_64" which means a 64-
bit cpu
rather than "i686" (32-bit). So did you actually install a 
64-bit
version of virtualbox on a 64-bit os running on a 64-bit cpu?

What is involved in making a 64 bit J64 bit binary for the 
Mac anyway?
Is it possible to just put the source code onto a 64 bit 
mac and press
compile/build to make a dmg file and upload it to the 
download page
for J?

Might be Eric did not get a macbook with 64-bit os to play 
with, or
you might contact [EMAIL PROTECTED] as mentioned in the 
download> >> page.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm




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

Reply via email to