prog8/examples/comparisons_float.p8

118 lines
2.0 KiB
Plaintext
Raw Normal View History

2018-12-09 15:16:46 +00:00
%import c64utils
%import c64flt
2018-12-09 15:16:46 +00:00
~ main {
sub start() {
float v1
float v2
ubyte cr
c64scr.print("floating point ")
2018-12-09 15:16:46 +00:00
cr=v1==v2
cr=v1==v2
cr=v1==v2
cr=v1!=v2
cr=v1!=v2
cr=v1!=v2
cr=v1<v2
cr=v1<v2
cr=v1<v2
cr=v1<v2
cr=v1>v2
cr=v1>v2
cr=v1>v2
cr=v1>v2
cr=v1>v2
cr=v1<=v2
cr=v1<=v2
cr=v1<=v2
cr=v1<=v2
cr=v1>=v2
cr=v1>=v2
cr=v1>=v2
cr=v1>=v2
cr=v1>=v2
; comparisons:
v1=20
v2=666.66
c64scr.print("v1=20, v2=666.66\n")
2018-12-09 15:16:46 +00:00
compare()
v1=-20
v2=666.66
c64scr.print("v1=-20, v2=666.66\n")
2018-12-09 15:16:46 +00:00
compare()
v1=666.66
v2=555.55
c64scr.print("v1=666.66, v2=555.55\n")
2018-12-09 15:16:46 +00:00
compare()
v1=3.1415
v2=-3.1415
c64scr.print("v1 = 3.1415, v2 = -3.1415\n")
2018-12-09 15:16:46 +00:00
compare()
v1=3.1415
v2=3.1415
c64scr.print("v1 = v2 = 3.1415\n")
2018-12-09 15:16:46 +00:00
compare()
v1=0
v2=0
c64scr.print("v1 = v2 = 0\n")
2018-12-09 15:16:46 +00:00
compare()
ubyte endX = X
if endX == 255
c64scr.print("\nstack x ok!\n")
else
c64scr.print("\nerror: stack x != 255 !\n")
return
2018-12-09 15:16:46 +00:00
sub compare() {
c64scr.print(" == != < > <= >=\n")
2018-12-09 15:16:46 +00:00
if v1==v2
c64scr.print(" Q ")
else
c64scr.print(" . ")
if v1!=v2
c64scr.print(" Q ")
else
c64scr.print(" . ")
2018-12-09 15:16:46 +00:00
if v1<v2
c64scr.print(" Q ")
else
c64scr.print(" . ")
2018-12-09 15:16:46 +00:00
if v1>v2
c64scr.print(" Q ")
else
c64scr.print(" . ")
2018-12-09 15:16:46 +00:00
if v1<=v2
c64scr.print(" Q ")
else
c64scr.print(" . ")
2018-12-09 15:16:46 +00:00
if v1>=v2
c64scr.print(" Q ")
else
c64scr.print(" . ")
2018-12-09 15:16:46 +00:00
c64.CHROUT('\n')
}
2018-12-09 15:16:46 +00:00
}
}