help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: with 64-bit arrays: A, M, S out of order in MLTMOD - ABORT!


From: David Bateman
Subject: Re: with 64-bit arrays: A, M, S out of order in MLTMOD - ABORT!
Date: Thu, 03 Jun 2010 00:09:21 +0200
User-agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090706)

Muhali wrote:
octave-3.2.4 with 64-bit arrays works flawlessly now. But the current version
3.3.51+ (configured identically) aborts when issuing `rand', reporting

octave:1> rand
  A, M, S out of order in MLTMOD - ABORT!
A = 2082007225 S = 4294978096 M = 2147483563
  MLTMOD requires: 0 < A < M; 0 < S < M
error:  A, M, S out of order in MLTMOD - ABORT!
terminate called after throwing an instance of 'octave_execution_exception'
panic: Aborted -- stopping myself...
Aborted
By default Octave is supposed to use the mersenne twister code in liboctave for rand whereas the error above indicates that you've called rand("seed", ...) and you're using the older randlib generators. I suspect if you used the newer mersenne twister code (inital the generators with rand("state", ...) instead) that Octave won't crash.. Its still a bug you've found however in libcruft/randlib. I suspect that randlib assumes that integers ar 32bit and we have to build randlib with 32bit integers within Octave and treat the change between 32 and 64 bit integers in the oct-rand.cc code.

David


--
David Bateman                                address@hidden
35 rue Gambetta                              +33 1 46 04 02 18 (Home)
92100 Boulogne-Billancourt FRANCE            +33 6 72 01 06 33 (Mob)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]