@@ -77,6 +77,21 @@ fn float_lt(vm: &mut VirtualMachine, args: PyFuncArgs) -> PyResult {
77
77
}
78
78
79
79
80
+ fn float_le ( vm : & mut VirtualMachine , args : PyFuncArgs ) -> PyResult {
81
+ arg_check ! (
82
+ vm,
83
+ args,
84
+ required = [
85
+ ( zelf, Some ( vm. ctx. float_type( ) ) ) ,
86
+ ( other, Some ( vm. ctx. float_type( ) ) )
87
+ ]
88
+ ) ;
89
+ let zelf = get_value ( zelf) ;
90
+ let other = get_value ( other) ;
91
+ let result = zelf <= other;
92
+ Ok ( vm. ctx . new_bool ( result) )
93
+ }
94
+
80
95
fn float_abs ( vm : & mut VirtualMachine , args : PyFuncArgs ) -> PyResult {
81
96
arg_check ! ( vm, args, required = [ ( i, Some ( vm. ctx. float_type( ) ) ) ] ) ;
82
97
Ok ( vm. ctx . new_float ( get_value ( i) . abs ( ) ) )
@@ -188,6 +203,7 @@ pub fn init(context: &PyContext) {
188
203
let ref float_type = context. float_type ;
189
204
float_type. set_attr ( "__eq__" , context. new_rustfunc ( float_eq) ) ;
190
205
float_type. set_attr ( "__lt__" , context. new_rustfunc ( float_lt) ) ;
206
+ float_type. set_attr ( "__le__" , context. new_rustfunc ( float_le) ) ;
191
207
float_type. set_attr ( "__abs__" , context. new_rustfunc ( float_abs) ) ;
192
208
float_type. set_attr ( "__add__" , context. new_rustfunc ( float_add) ) ;
193
209
float_type. set_attr ( "__divmod__" , context. new_rustfunc ( float_divmod) ) ;
0 commit comments