- basic_and b1 vec_zeros
- | (Vec vec1, _) -> raise (Basic_operation "vec1 logic sca2")
-
- | (N i1, N i2) -> oper (basic_to_bool b1) (basic_to_bool b2)
- | (N i1, R f2) ->
- raise (Basic_operation "Float shouldn't be in logical oper.")
- | (N i1, Vec vec2) -> raise (Basic_operation "f1 logic vec2")
- | (N i1, Zero) -> basic_logic oper b1 (N 0)
- | (N i1, Error) -> Error
-
- | (R f1, _) ->
- raise (Basic_operation "Float shouldn't be in logical oper.")
-
- | (Zero, N i2) -> basic_logic oper (N 0) b2
- | (Zero, R f2) ->
- raise (Basic_operation "Float shouldn't be in logical oper.")
- | (Zero, Vec vec2) ->
- let vec_zeros = Vec (new vector vec2#size (fun i -> Zero)) in
- basic_logic oper vec_zeros b2
- | (Zero, Zero) -> basic_logic oper (N 0) (N 0)
- | (Zero, Error) -> Error
-
- | (Error, Vec vec2) -> raise (Basic_operation "Error logic vec2")
- | (Error, _) -> Error;;
+ basic_logic oper b1 vec_zeros
+ | (Vec vec1, _) -> raise (Basic_operation "vec1 logic sca2")
+ | (N i1, N i2) -> basic_of_bool (oper (basic_to_bool b1)
+ (basic_to_bool b2))
+ | (N i1, R f2) ->
+ raise (Basic_operation "Float shouldn't be in logical oper.")
+ | (N i1, Vec vec2) -> raise (Basic_operation "f1 logic vec2")
+ | (N i1, Zero) -> basic_logic oper b1 (N 0)
+ | (N i1, Error) -> Error
+ | (R f1, _) ->
+ raise (Basic_operation "Float shouldn't be in logical oper.")
+ | (Zero, N i2) -> basic_logic oper (N 0) b2
+ | (Zero, R f2) ->
+ raise (Basic_operation "Float shouldn't be in logical oper.")
+ | (Zero, Vec vec2) ->
+ let vec_zeros = Vec (new vector vec2#size (fun i -> Zero)) in
+ basic_logic oper vec_zeros b2
+ | (Zero, Zero) -> basic_logic oper (N 0) (N 0)
+ | (Zero, Error) -> Error
+ | (Error, Vec vec2) -> raise (Basic_operation "Error logic vec2")
+ | (Error, _) -> Error;;