From: Frank Heckenbach frank@g-n-u.de To: gpc@gnu.de Subject: Re: Date: Tue, 4 Jul 2000 19:33:48 +0200
Here is the routine which is involved:
function travel(djk:real;md:mat;A:minitable;Ak:real;ns,j:integer):real; {probability of an individual leaving patch j to reach patch k} const alpha = 4.910; zim = 0.263; lambda = 0.175; var Sj,t : real; begin Sj:=connect(md,A,ns,j); t:=(exp(-alpha*djk)*pow2(Ak,zim))/((lambda/Sj)+Sj); travel:=t; end;
This is exactly the same GPC bug that Clyde Meli has just reported. As I wrote last night, this bug has been fixed meanwhile. According to the `Fixed Bugs' section in the To-Do list http://agnes.dida.physik.uni-essen.de/~gnu-pascal/todo.html:
20000503: Sparc: division by reals (fjf237.pas, matt1.pas) or `Round (real_constant)' (chaput1.pas) make the compiler crash <199911040915.KAA11168@@humulus.daimi.au.dk>
(Sparc is the processor used in Sun's machines.)
Until there is a new GPC release with this bug fixed, you can work around by type-casting the constants to Real:
const alpha = Real (4.910); zim = Real (0.263); lambda = Real (0.175);
Ok, but I need these true values, so?...
Nathalie ________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com
Nathalie Jarosz wrote:
const alpha = Real (4.910); zim = Real (0.263); lambda = Real (0.175);
Ok, but I need these true values, so?...
So what? These are numeric constants, and if you give them the type "Real" explicitly this does not change anything.
(Well, it does affect the precision of the values, but with three digits given after the decimal point, this does not matter.:-)
Hope this helps,
Peter