In any case, yes, I see the test does not work. Its 1735 (from the Pascal-P5 test catalog):
 
{

PRT test 1735: For trunc(x), the value of trunc(x) is such that if x is
positive or zero then 0 < x-trunc(x) < 1; otherwise 1 <x-
trunc(x) < 0. It is an error if such a value does not exist.

ISO 7185 reference: 6.6.5.3

}

program iso7185prt1735;

var a: integer;
b: real;

begin

{ assign maximum value of integer }
b := maxint;
{ now move it completely out of range in floating point only }
b := b+10.0;
{ now the assignment is invalid }
a := trunc(b)

end.

I'm open to suggestions. ISO 7185 does not have a "maxreal" or similar.

I guess b := maxint; b := b*2 would do it. I was trying for something more subtle

(which clearly didn't work).

Regards,

Scott Franco

--------- Original Message ---------
Subject: RE: Floating point
From: "scott andrew franco" <samiam@moorecad.com>
Date: 8/31/20 8:06 pm
To: "Waldek Hebisch" <hebisch@math.uni.wroc.pl>, "gpc@gnu.de" <gpc@gnu.de>

Waldek,
 
Sure, 48 bits vs 64 bits. Why didn't it truncate the mantissa on conversion to float, ie, b := maxint?
I would have expected something like zeros on the right side.
 
Thanks,
 
Scott
 
--------- Original Message ---------
Subject: Floating point
From: "Waldek Hebisch" <hebisch@math.uni.wroc.pl>
Date: 8/31/20 7:58 pm
To: "gpc@gnu.de" <gpc@gnu.de>

On Mon, Aug 31, 2020 at 01:07:42PM -0700, scott andrew franco wrote:
> samiam@samiam-home-pc:~/projects/pascal/pascal-p5$ cat test.pas
> program test(output);
> var b,c: real;
> begin
> b := maxint;
> c := 10.0;
> b := b+c;
> writeln(b:40:1);
> writeln(maxint:38);
> end.
> samiam@samiam-home-pc:~/projects/pascal/pascal-p5$ gpc -o test test.pas
> samiam@samiam-home-pc:~/projects/pascal/pascal-p5$ ./test
> 9223372036854775808.0
> 9223372036854775807

Note that floating point results are approximate and on
64-bit machines real accuracy is lower than integer
accuracy.

--
Waldek Hebisch

_______________________________________________
Gpc mailing list
Gpc@gnu.de
https://www.g-n-u.de/mailman/listinfo/gpc
_______________________________________________ Gpc mailing list Gpc@gnu.de https://www.g-n-u.de/mailman/listinfo/gpc