export function l $ifc1(l %v0, l %v1, w %c) { @start jnz %c, @true, @false @true %v =l copy %v1 jmp @end @false %v =l copy %v0 jmp @end @end ret %v } export function l $ifc2(l %v0, l %v1, w %p) { @start %c =w cnew %p, 42 jnz %c, @true, @false @true %v =l copy %v1 jmp @end @false %v =l copy %v0 jmp @end @end ret %v } export function l $ifc3(l %v0, l %v1, w %p) { @start %c =w cugtw %p, 42 jnz %c, @true, @false @true %v =l copy %v1 jmp @end @false %v =l copy %v0 jmp @end @end ret %v } export function l $ifclts(s %s0, s %s1, l %v0, l %v1) { @start %c =w clts %s0, %s1 jnz %c, @true, @false @true %v =l copy %v1 jmp @end @false %v =l copy %v0 jmp @end @end ret %v } export function l $ifcles(s %s0, s %s1, l %v0, l %v1) { @start %c =w cles %s0, %s1 jnz %c, @true, @false @true %v =l copy %v1 jmp @end @false %v =l copy %v0 jmp @end @end ret %v } export function l $ifcgts(s %s0, s %s1, l %v0, l %v1) { @start %c =w cgts %s0, %s1 jnz %c, @true, @false @true %v =l copy %v1 jmp @end @false %v =l copy %v0 jmp @end @end ret %v } export function l $ifcges(s %s0, s %s1, l %v0, l %v1) { @start %c =w cges %s0, %s1 jnz %c, @true, @false @true %v =l copy %v1 jmp @end @false %v =l copy %v0 jmp @end @end ret %v } export function l $ifceqs(s %s0, s %s1, l %v0, l %v1) { @start %c =w ceqs %s0, %s1 jnz %c, @true, @false @true %v =l copy %v1 jmp @end @false %v =l copy %v0 jmp @end @end ret %v } export function l $ifcnes(s %s0, s %s1, l %v0, l %v1) { @start %c =w cnes %s0, %s1 jnz %c, @true, @false @true %v =l copy %v1 jmp @end @false %v =l copy %v0 jmp @end @end ret %v } export function l $ifcos(s %s0, s %s1, l %v0, l %v1) { @start %c =w cos %s0, %s1 jnz %c, @true, @false @true %v =l copy %v1 jmp @end @false %v =l copy %v0 jmp @end @end ret %v } export function l $ifcuos(s %s0, s %s1, l %v0, l %v1) { @start %c =w cuos %s0, %s1 jnz %c, @true, @false @true %v =l copy %v1 jmp @end @false %v =l copy %v0 jmp @end @end ret %v } # >>> driver # extern long ifc1(long, long, int); # extern long ifc2(long, long, int); # extern long ifc3(long, long, int); # extern long ifclts(float, float, long, long); # extern long ifcles(float, float, long, long); # extern long ifcgts(float, float, long, long); # extern long ifcges(float, float, long, long); # extern long ifceqs(float, float, long, long); # extern long ifcnes(float, float, long, long); # extern long ifcos(float, float, long, long); # extern long ifcuos(float, float, long, long); # int main() { # return # ifc1(7, 5, 0) != 7 # || ifc1(7, 5, 1) != 5 # || ifc1(7, 5, 33) != 5 # || ifc2(7, 5, 42) != 7 # || ifc2(7, 5, 41) != 5 # || ifc2(7, 5, 43) != 5 # || ifc3(7, 5, 42) != 7 # || ifc3(7, 5, 41) != 7 # || ifc3(7, 5, 43) != 5 # || ifclts(5.0f, 6.0f, 7, 5) != 5 # || ifclts(5.0f, 5.0f, 7, 5) != 7 # || ifclts(5.0f, 4.0f, 7, 5) != 7 # || ifclts(5.0f, 0.0f/0.0f, 7, 5) != 7 # || ifclts(0.0f/0.0f, 5.0f, 7, 5) != 7 # || ifclts(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 7 # || ifcles(5.0f, 6.0f, 7, 5) != 5 # || ifcles(5.0f, 5.0f, 7, 5) != 5 # || ifcles(5.0f, 4.0f, 7, 5) != 7 # || ifcles(5.0f, 0.0f/0.0f, 7, 5) != 7 # || ifcles(0.0f/0.0f, 5.0f, 7, 5) != 7 # || ifcles(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 7 # || ifcgts(5.0f, 6.0f, 7, 5) != 7 # || ifcgts(5.0f, 5.0f, 7, 5) != 7 # || ifcgts(5.0f, 4.0f, 7, 5) != 5 # || ifcgts(5.0f, 0.0f/0.0f, 7, 5) != 7 # || ifcgts(0.0f/0.0f, 5.0f, 7, 5) != 7 # || ifcgts(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 7 # || ifcges(5.0f, 6.0f, 7, 5) != 7 # || ifcges(5.0f, 5.0f, 7, 5) != 5 # || ifcges(5.0f, 4.0f, 7, 5) != 5 # || ifcges(5.0f, 0.0f/0.0f, 7, 5) != 7 # || ifcges(0.0f/0.0f, 5.0f, 7, 5) != 7 # || ifcges(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 7 # || ifceqs(5.0f, 6.0f, 7, 5) != 7 # || ifceqs(5.0f, 5.0f, 7, 5) != 5 # || ifceqs(5.0f, 4.0f, 7, 5) != 7 # || ifceqs(5.0f, 0.0f/0.0f, 7, 5) != 7 # || ifceqs(0.0f/0.0f, 5.0f, 7, 5) != 7 # || ifceqs(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 7 # || ifcnes(5.0f, 6.0f, 7, 5) != 5 # || ifcnes(5.0f, 5.0f, 7, 5) != 7 # || ifcnes(5.0f, 4.0f, 7, 5) != 5 # || ifcnes(5.0f, 0.0f/0.0f, 7, 5) != 5 # || ifcnes(0.0f/0.0f, 5.0f, 7, 5) != 5 # || ifcnes(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 5 # || ifcos(5.0f, 6.0f, 7, 5) != 5 # || ifcos(5.0f, 5.0f, 7, 5) != 5 # || ifcos(5.0f, 4.0f, 7, 5) != 5 # || ifcos(5.0f, 0.0f/0.0f, 7, 5) != 7 # || ifcos(0.0f/0.0f, 5.0f, 7, 5) != 7 # || ifcos(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 7 # || ifcuos(5.0f, 6.0f, 7, 5) != 7 # || ifcuos(5.0f, 5.0f, 7, 5) != 7 # || ifcuos(5.0f, 4.0f, 7, 5) != 7 # || ifcuos(5.0f, 0.0f/0.0f, 7, 5) != 5 # || ifcuos(0.0f/0.0f, 5.0f, 7, 5) != 5 # || ifcuos(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 5 # ; # } # <<<