Home » Archimedes archive » Acorn User » AU 1997-10 A.adf » Extras » Apple][e/PD/BOB/ARMBOB/!ArmBob/progs/ArithTest

Apple][e/PD/BOB/ARMBOB/!ArmBob/progs/ArithTest

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1997-10 A.adf » Extras
Filename: Apple][e/PD/BOB/ARMBOB/!ArmBob/progs/ArithTest
Read OK:
File size: 020D bytes
Load address: 0000
Exec address: 0000
File contents
/* ArithTest */

main()
 {
   print("       r  = 4095.99987792968568\n");
   r = 4095.99987792968568;
   print("       r  = ",r,"\n");
   r = 1.0*r;
   print("       r  = ",r,"\n");
   s = sqrt(r);
   print("  sqrt(r) = ",s,"\n");
   t = s * s;
   print("  square    ",t,"\n");
   u = r * r;
   print("  r*r     = ",u,"\n");
   v = sqrt(u);   
   print("sqrt(r*r) = ",v,"\n");
 }
 

vdu(s)
 {
  local out,i;
  out = fopen("rawvdu:","w");
  for(i=0;i<sizeof(s);putc(s[i++],out));
  fclose(out);
 }

mode(n)
 { vdu(""+22+n); }
00000000  2f 2a 20 41 72 69 74 68  54 65 73 74 20 2a 2f 0a  |/* ArithTest */.|
00000010  0a 6d 61 69 6e 28 29 0a  20 7b 0a 20 20 20 70 72  |.main(). {.   pr|
00000020  69 6e 74 28 22 20 20 20  20 20 20 20 72 20 20 3d  |int("       r  =|
00000030  20 34 30 39 35 2e 39 39  39 38 37 37 39 32 39 36  | 4095.9998779296|
00000040  38 35 36 38 5c 6e 22 29  3b 0a 20 20 20 72 20 3d  |8568\n");.   r =|
00000050  20 34 30 39 35 2e 39 39  39 38 37 37 39 32 39 36  | 4095.9998779296|
00000060  38 35 36 38 3b 0a 20 20  20 70 72 69 6e 74 28 22  |8568;.   print("|
00000070  20 20 20 20 20 20 20 72  20 20 3d 20 22 2c 72 2c  |       r  = ",r,|
00000080  22 5c 6e 22 29 3b 0a 20  20 20 72 20 3d 20 31 2e  |"\n");.   r = 1.|
00000090  30 2a 72 3b 0a 20 20 20  70 72 69 6e 74 28 22 20  |0*r;.   print(" |
000000a0  20 20 20 20 20 20 72 20  20 3d 20 22 2c 72 2c 22  |      r  = ",r,"|
000000b0  5c 6e 22 29 3b 0a 20 20  20 73 20 3d 20 73 71 72  |\n");.   s = sqr|
000000c0  74 28 72 29 3b 0a 20 20  20 70 72 69 6e 74 28 22  |t(r);.   print("|
000000d0  20 20 73 71 72 74 28 72  29 20 3d 20 22 2c 73 2c  |  sqrt(r) = ",s,|
000000e0  22 5c 6e 22 29 3b 0a 20  20 20 74 20 3d 20 73 20  |"\n");.   t = s |
000000f0  2a 20 73 3b 0a 20 20 20  70 72 69 6e 74 28 22 20  |* s;.   print(" |
00000100  20 73 71 75 61 72 65 20  20 20 20 22 2c 74 2c 22  | square    ",t,"|
00000110  5c 6e 22 29 3b 0a 20 20  20 75 20 3d 20 72 20 2a  |\n");.   u = r *|
00000120  20 72 3b 0a 20 20 20 70  72 69 6e 74 28 22 20 20  | r;.   print("  |
00000130  72 2a 72 20 20 20 20 20  3d 20 22 2c 75 2c 22 5c  |r*r     = ",u,"\|
00000140  6e 22 29 3b 0a 20 20 20  76 20 3d 20 73 71 72 74  |n");.   v = sqrt|
00000150  28 75 29 3b 20 20 20 0a  20 20 20 70 72 69 6e 74  |(u);   .   print|
00000160  28 22 73 71 72 74 28 72  2a 72 29 20 3d 20 22 2c  |("sqrt(r*r) = ",|
00000170  76 2c 22 5c 6e 22 29 3b  0a 20 7d 0a 20 0a 0a 76  |v,"\n");. }. ..v|
00000180  64 75 28 73 29 0a 20 7b  0a 20 20 6c 6f 63 61 6c  |du(s). {.  local|
00000190  20 6f 75 74 2c 69 3b 0a  20 20 6f 75 74 20 3d 20  | out,i;.  out = |
000001a0  66 6f 70 65 6e 28 22 72  61 77 76 64 75 3a 22 2c  |fopen("rawvdu:",|
000001b0  22 77 22 29 3b 0a 20 20  66 6f 72 28 69 3d 30 3b  |"w");.  for(i=0;|
000001c0  69 3c 73 69 7a 65 6f 66  28 73 29 3b 70 75 74 63  |i<sizeof(s);putc|
000001d0  28 73 5b 69 2b 2b 5d 2c  6f 75 74 29 29 3b 0a 20  |(s[i++],out));. |
000001e0  20 66 63 6c 6f 73 65 28  6f 75 74 29 3b 0a 20 7d  | fclose(out);. }|
000001f0  0a 0a 6d 6f 64 65 28 6e  29 0a 20 7b 20 76 64 75  |..mode(n). { vdu|
00000200  28 22 22 2b 32 32 2b 6e  29 3b 20 7d 0a           |(""+22+n); }.|
0000020d