home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
historic
/
v941.tgz
/
icon.v941src.tar
/
icon.v941src
/
tests
/
general
/
large.icn
< prev
next >
Wrap
Text File
|
2000-07-29
|
990b
|
38 lines
invocable "+", "-", "*", "/", "%", "iand", "ior", "ixor", "<", "=" , "^"
invocable "ishift"
procedure main ()
if not(&features == "large integers") then
stop("large integers not supported")
big := 111111111111111111111
med1 := "2222222222"
med2 := "3333333333"
small := 4
every optest ("+" | "-" | "*" | "/" | "%" |"iand"|"ior"|"ixor"|"<"|"=",
big | -big | small | -small,
big | -big | small | -small)
every optest ("+" | "-" | "*" | "/" | "%" |"iand"|"ior"|"ixor"|"<"|"=",
big | med1 | -med1,
med1 | med2 | -med2)
every optest ("^", big | -big | small | -small, 2 | 5)
every optest ("^", 2 | 3, 10 | 30 )
every optest ("ishift", big |-big | med1 | -med1 | small, 1 | 8 | -1 | -39)
&trace := -1
every i := 10 | 30 | 70 | 100 do {
write(2 ^ i)
write(2 ^ i || ":" || image(2 ^ i))
foo(2 ^ i)
}
end
procedure optest (op, a, b)
write (a, " ", op, " ", b, " = ", op(a,b)|"none")
end
procedure foo(x)
end