12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- { Source provided for Free Pascal Bug Report 1021 }
- { Submitted by "Oliver Puetz" on 2000-07-03 }
- { e-mail: [email protected] }
- {
- Free Pascal Compiler version 0.99.15 [2000/03/30] for i386
- Copyright (c) 1993-2000 by Florian Klaempfl
- Win NT 4.0 Fixpak 2
- With TFloat = EXTENDED Writeln resumes 0.0 0.0 1
- With TFloat = DOUBLE Writeln resumes 0.0 1.0 1
- Thus only the write-command seems not to transfer the extended a equals 1
- to a string like '1'
- }
- type tfloat = extended;
- var a, b : tfloat;
- i : INTEGER;
- f : text;
- begin
- case sizeof(tfloat) of
- 4: writeln('single');
- 8: writeln('double');
- 10: writeln('extended');
- else writeln(sizeof(tfloat));
- end;
- a := 0;
- b := 1 - a;
- i := Round(b);
- writeln(a:30:20, b:30:20, i:10);
- assign(f,'tbug1021.txt');
- rewrite(f);
- writeln(f,a:30:20,' ',b:30:20,' ',i:10);
- close(f);
- reset(f);
- read(f,a);
- read(f,b);
- read(f,i);
- if (a<>0.0) then
- begin
- Writeln('Error reading A value, should be zero');
- Halt(1);
- end;
- if (b<>1.0) then
- begin
- Writeln('Error reading B value, should be one');
- Halt(1);
- end;
- if (i<>1) then
- begin
- Writeln('Error reading I value, should be one');
- Halt(1);
- end;
- end.
|