RZ_API RzILBool * rz_il_bool_xor(RZ_NONNULL RzILBool *a, RZ_NONNULL RzILBool *b)
RZ_API RzILBool * rz_il_bool_and(RZ_NONNULL RzILBool *a, RZ_NONNULL RzILBool *b)
RZ_API RzILBool * rz_il_bool_new(bool true_or_false)
RZ_API RzILBool * rz_il_bool_not(RZ_NONNULL RzILBool *a)
RZ_API RzILBool * rz_il_bool_or(RZ_NONNULL RzILBool *a, RZ_NONNULL RzILBool *b)
RZ_API void rz_il_bool_free(RzILBool *bool_var)
RZ_API RZ_NULLABLE RZ_OWN RzILBool * rz_il_evaluate_bool(RZ_NONNULL RzILVM *vm, RZ_NONNULL RzILOpBool *op)
#define rz_return_val_if_fail(expr, val)
signatures of core theory opcodes
op structure for inv (!bool -> bool)
RzILOpBool * x
single operand
op structure for and, or and xor (bool -> bool -> bool)
RzILOpBool * x
left operand
RzILOpBool * y
right operand
An IL op performing a pure computation, 'a pure.
Low-level VM to execute raw IL code.
void * rz_il_handler_bool_true(RzILVM *vm, RzILOpBool *op, RzILTypePure *type)
also known as b1
void * rz_il_handler_bool_and(RzILVM *vm, RzILOpBool *op, RzILTypePure *type)
void * rz_il_handler_bool_inv(RzILVM *vm, RzILOpBool *op, RzILTypePure *type)
also known as boolean not
void * rz_il_handler_bool_false(RzILVM *vm, RzILOpBool *op, RzILTypePure *type)
also known as b0
void * rz_il_handler_bool_xor(RzILVM *vm, RzILOpBool *op, RzILTypePure *type)
void * rz_il_handler_bool_or(RzILVM *vm, RzILOpBool *op, RzILTypePure *type)