134van Wijngaarden, et al.ALGOL <strong>68</strong> Revised" Report135c)op abs = (L compl a) L real : L sqrt (re a T 2 + im a ! 2) ;10.2.3.8. Bits and associated operationsd)op arg = (L compl a) L real :it L real re = re a, im =im a;reeL Ov im~ L 0then if abs re > abs imthen L arctan (ira / re) + L pi / L 2 x(im < L O I sign re - 11 1 - sign re)else -L arctan (re / ira) + L pi / L 2 × sign imfifi;a) op ~ =, eq ~ = (L bits a, b) bool :begin bool c;for i to L bits widthwhile c :: (L F of a) [i]_ffi(L P@f b) [ !]__ Ido skip od;b)Cend;op ~ ~ , /=, ne ~ = (L bits a, b) bool : ~ (a = b) ;e)f)g)h)i)op conj = (L compl a) L compl : re a .L -im a ;op ~ =, eq ~ = (L compl a, b) bool : re a = re b ^im a =im b ;op ~ ~, /=, ne ~ = (L compl a, b) bool : ~ (a = b) ;op - = (L compl a, b) L compl : (re a - re b) .L (ira a -im b) ;op -= (L compl a) L compl : - re a .L -ira a ;c)op ~ v, or~ = (L bits a, b) L bits :begin L bits c;for i to L bits widthdo(L Fofc) [i]1:= (L Fofa) [i]l v (L Fofb)[i]lod;Cend;J)k)l)m)op + = (L compl a, b) L compl : (re a + re b) L (ira a +im b) ;op + = (L compl a) L compl : a ;op ~ x, • ~ = (L compl a, b) L compl :(rea×reb-imaximb) J_ (reaximb+ima×reb);op / = (L compl a, b) L compl :(L real d = re (b × conj b); L compl n = a × conj b;(re n / d) L (im n / d)) ;d) op ~ ^, &, and ~ = (L bits a, b) L bits :begin L bits c;for i to L bits widthdo (L Fofc) [i]1: = (C Fofa) [i]1^ (C Fofb) [/]lod;Cend;e) op~=, ge ~ = (L bits a, b) bool" b _OIp I L 1/p));op E = (L compl a, Lint b) bool : a E L compl (b) ;op E = (L compl a, L real b) bool : a E L compl (b) ;op E = (L int a, L compl b) bool : b E a ;g) op ~ l, up, shl~ = (L bits a, int b) L bits :if.abs b 0 thenfor i from 3 to L bits widthdolL Fore) [i-i]l:: (L 'ofc)t od:(L F of c) [L bit# u~b~--h~ : = falseelsefori from L bits width by-1 to2do (L F of c) [~J]: = (L F of c) [i-: i]lod:(L F of c) [j]~ = falsefi od;fl;C\\x)op E = (L real a, L compl b) bool : b E a ;h) op ~ 1, down, shr~ = (L bits x, int n) L bits" x T - n ;
136 van Wijngaarden, et al.i) opabs=(L bitsa) L int:begin Lint c : = L O;for i to L bits widthdoc := L 2xc + Kabs(LCend;Fof a) [i] od;j) opbin=(L inta) L bits:ifa>_L 0then Lint b := a; L bits c;for i from L bits width by - 1 to 1do(L Fofc) [i] := oddb; b := b+ L 2od;fl;Ck) optelem, D~=(inta, L bitsb)bool: (L Fofb) [aJ;1) proc L bits pack = ([ ] bool a) L bits :ifintn= r a [@ 1];n
- Page 2 and 3:
van Wijngaarden, et al.1.1.4.2. Par
- Page 4:
Acknowledgements{Habent sua fata li
- Page 8 and 9:
14 van Wijngaarden, et al.0.3.4. Mo
- Page 10 and 11:
. . . . . . . 4 " ' 0 . . . . . . .
- Page 12 and 13:
22 van Wijngaarden, et al.• let P
- Page 14 and 15:
26 van Wijngaarden, et al.{Since so
- Page 16 and 17:
30 van Wijngaarden, et aLloperandfo
- Page 18 and 19: 34 van Wijngaarden, et al.j) WHETHE
- Page 20 and 21: 38 van Wijngaarden, et al.A protono
- Page 22 and 23: 42 van Wijngaarden, et al.d) If N i
- Page 24 and 25: 46 van Wijngaarden, et al.c) {There
- Page 26 and 27: 50 van Wijngaarden, et al.c) The ph
- Page 28 and 29: 54 van Wijngaarden, et al.3.1.1. Sy
- Page 30 and 31: 58 van Wijngaarden, et al.where (RO
- Page 32 and 33: 62 van Wijngaarden, et al.1) SOlD N
- Page 34 and 35: 66 van Wijngaarden, et al.ALGOL 68
- Page 36 and 37: 70 van Wijngaarden, et el.For each
- Page 38 and 39: 74 van Wijngaarden, et al.If 'MODE"
- Page 40 and 41: 78 J van Wijngaarden, et al.C) SECO
- Page 42 and 43: 82 van Wijngaarden, et al.ALGOL 68
- Page 44 and 45: 86 van Wijngaarden. et al.ALGOL 68
- Page 46 and 47: 90 van Wijngaarden, et al.5.4.4.1.
- Page 48 and 49: 94van Wijngaarden, et al.ALGOL 68 R
- Page 50 and 51: 98 van Wijngaarden, et al.Assignati
- Page 52 and 53: 102 van Wijngaarden, et at.{A nest,
- Page 54 and 55: 106 van Wijngaarden, et al.'HEAD's
- Page 56 and 57: 110 van Wijngaarden, et al.ALGOL 68
- Page 58 and 59: 114van Wijngaarden, et al.ALGOL 68
- Page 60 and 61: 118 van Wijngaarden, et al.ALGOL 68
- Page 62 and 63: 122 van Wijngaarden, et al.style ii
- Page 64 and 65: 126 van Wijngaarden, et al.b) The c
- Page 66 and 67: 130van Wijngaarden, et al.ALGOL 68
- Page 70 and 71: 138d)e)f)g)h)i)J)k)1)m)n)van Wijnga
- Page 72 and 73: 142 van Wijngaarden, et al.physics
- Page 74 and 75: 146 van Wijngaarden, et al.gg) On s
- Page 76 and 77: 150van Wijngaarden, et al.ALGOL 68
- Page 78 and 79: 154/van Wijngaarden, et al.ALGOL 68
- Page 80 and 81: 158 van Wijngaarden, et el.fi;ref p
- Page 82 and 83: 162van Wijngaarden, et al.ALGOL 68
- Page 84 and 85: 166van Wijngaarden, et al.ALGOL 68
- Page 86 and 87: 170/van Wijngaarden, etal.ALGOL 68
- Page 88 and 89: 174J)K)L)M)N)O)P)a)b)c)d)e)van Wijn
- Page 90 and 91: 178/van Wijngaarden, et al.ALGOL 68
- Page 92 and 93: 182 van Wijngaarden, et al.• let
- Page 94 and 95: 186van Wijngaarden, et al./ALGOL 68
- Page 96 and 97: 190 van Wijngaarden, etal.composed
- Page 98 and 99: 194h)i)J)van Wijngaa(rden, et al.pr
- Page 100 and 101: 198 van Wijngaarden, et al.¢ strin
- Page 102 and 103: 202tvan Wijngaarden, et al.ALGOL 68
- Page 104 and 105: 206 van Wijngaa~den. et al.10.3.6.1
- Page 106 and 107: 210 van Wijngaarden, et al.!ALGOL 6
- Page 108 and 109: 214 van Wijngaarden, et al.inoperat
- Page 110 and 111: 218fvan Wijngaarden, et al.¢ move
- Page 112 and 113: 222 van Wijngaarden, etaL{overflow}
- Page 114 and 115: 226 van Wijngaarden, et al.ALGOL 68
- Page 116 and 117: 230max int 10.2.1.cmax real 10.2.l.
- Page 118 and 119:
234 van Wijngaarden, et al.ALGOL 68