File: tstrreal1.pp

package info (click to toggle)
fpc 2.6.4%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 178,760 kB
  • ctags: 83,946
  • sloc: pascal: 2,000,374; xml: 138,807; ansic: 9,617; asm: 7,843; yacc: 3,747; php: 3,271; sh: 2,626; makefile: 2,610; lex: 2,537; sql: 267; cpp: 145; sed: 132; perl: 126; csh: 34; tcl: 7
file content (42 lines) | stat: -rw-r--r-- 735 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
const
  s: array[0..16] of string[13] =
    ('99999.900000',
     '99999.990000',
     '99999.999000',
     '99999.999900',
     '99999.999990',
     '99999.999999',
     '100000.000000',
     '100000.000000',
     '100000.000000',
     '100000.000000',
     '100000.000000',
     '100000.000000',
     '100000.000000',
     '100000.000000',
     '100000.000000',
     '100000.000000',
     '100000.000000');

var
  e,e2,e3: double;
  s2: string;
  c: longint;

begin
  e := 100000.0;
  e2 := 0.1;
  c := 0;
  repeat
    e3 := e-e2;
    str(e3:0:6,s2);
    writeln(s2);
    if s2 <> s[c] then
      begin
        writeln('  Error, should be ',s[c]);
        halt(1);
      end;
    e2 := e2 /10.0;
    inc(c);
  until e2 < 1e-17;
end.