@@ -66,6 +66,21 @@ fn test_eq() {
66
66
assert_eq ! ( eq( true , false ) , Ok ( 0 ) ) ;
67
67
}
68
68
69
+ #[ test]
70
+ fn test_eq_with_integers ( ) {
71
+ let eq = jit_function ! { eq( a: bool , b: i64 ) -> i64 => r##"
72
+ def eq(a: bool, b: int):
73
+ if a == b:
74
+ return 1
75
+ return 0
76
+ "## } ;
77
+
78
+ assert_eq ! ( eq( false , 0 ) , Ok ( 1 ) ) ;
79
+ assert_eq ! ( eq( true , 1 ) , Ok ( 1 ) ) ;
80
+ assert_eq ! ( eq( false , 1 ) , Ok ( 0 ) ) ;
81
+ assert_eq ! ( eq( true , 0 ) , Ok ( 0 ) ) ;
82
+ }
83
+
69
84
#[ test]
70
85
fn test_gt ( ) {
71
86
let gt = jit_function ! { gt( a: bool , b: bool ) -> i64 => r##"
@@ -81,6 +96,21 @@ fn test_gt() {
81
96
assert_eq ! ( gt( true , false ) , Ok ( 1 ) ) ;
82
97
}
83
98
99
+ #[ test]
100
+ fn test_gt_with_integers ( ) {
101
+ let gt = jit_function ! { gt( a: i64 , b: bool ) -> i64 => r##"
102
+ def gt(a: int, b: bool):
103
+ if a > b:
104
+ return 1
105
+ return 0
106
+ "## } ;
107
+
108
+ assert_eq ! ( gt( 0 , false ) , Ok ( 0 ) ) ;
109
+ assert_eq ! ( gt( 1 , true ) , Ok ( 0 ) ) ;
110
+ assert_eq ! ( gt( 0 , true ) , Ok ( 0 ) ) ;
111
+ assert_eq ! ( gt( 1 , false ) , Ok ( 1 ) ) ;
112
+ }
113
+
84
114
#[ test]
85
115
fn test_lt ( ) {
86
116
let lt = jit_function ! { lt( a: bool , b: bool ) -> i64 => r##"
@@ -96,6 +126,21 @@ fn test_lt() {
96
126
assert_eq ! ( lt( true , false ) , Ok ( 0 ) ) ;
97
127
}
98
128
129
+ #[ test]
130
+ fn test_lt_with_integers ( ) {
131
+ let lt = jit_function ! { lt( a: i64 , b: bool ) -> i64 => r##"
132
+ def lt(a: int, b: bool):
133
+ if a < b:
134
+ return 1
135
+ return 0
136
+ "## } ;
137
+
138
+ assert_eq ! ( lt( 0 , false ) , Ok ( 0 ) ) ;
139
+ assert_eq ! ( lt( 1 , true ) , Ok ( 0 ) ) ;
140
+ assert_eq ! ( lt( 0 , true ) , Ok ( 1 ) ) ;
141
+ assert_eq ! ( lt( 1 , false ) , Ok ( 0 ) ) ;
142
+ }
143
+
99
144
#[ test]
100
145
fn test_gte ( ) {
101
146
let gte = jit_function ! { gte( a: bool , b: bool ) -> i64 => r##"
@@ -111,6 +156,22 @@ fn test_gte() {
111
156
assert_eq ! ( gte( true , false ) , Ok ( 1 ) ) ;
112
157
}
113
158
159
+
160
+ #[ test]
161
+ fn test_gte_with_integers ( ) {
162
+ let gte = jit_function ! { gte( a: bool , b: i64 ) -> i64 => r##"
163
+ def gte(a: bool, b: int):
164
+ if a >= b:
165
+ return 1
166
+ return 0
167
+ "## } ;
168
+
169
+ assert_eq ! ( gte( false , 0 ) , Ok ( 1 ) ) ;
170
+ assert_eq ! ( gte( true , 1 ) , Ok ( 1 ) ) ;
171
+ assert_eq ! ( gte( false , 1 ) , Ok ( 0 ) ) ;
172
+ assert_eq ! ( gte( true , 0 ) , Ok ( 1 ) ) ;
173
+ }
174
+
114
175
#[ test]
115
176
fn test_lte ( ) {
116
177
let lte = jit_function ! { lte( a: bool , b: bool ) -> i64 => r##"
@@ -125,3 +186,18 @@ fn test_lte() {
125
186
assert_eq ! ( lte( false , true ) , Ok ( 1 ) ) ;
126
187
assert_eq ! ( lte( true , false ) , Ok ( 0 ) ) ;
127
188
}
189
+
190
+ #[ test]
191
+ fn test_lte_with_integers ( ) {
192
+ let lte = jit_function ! { lte( a: bool , b: i64 ) -> i64 => r##"
193
+ def lte(a: bool, b: int):
194
+ if a <= b:
195
+ return 1
196
+ return 0
197
+ "## } ;
198
+
199
+ assert_eq ! ( lte( false , 0 ) , Ok ( 1 ) ) ;
200
+ assert_eq ! ( lte( true , 1 ) , Ok ( 1 ) ) ;
201
+ assert_eq ! ( lte( false , 1 ) , Ok ( 1 ) ) ;
202
+ assert_eq ! ( lte( true , 0 ) , Ok ( 0 ) ) ;
203
+ }
0 commit comments