parent
25f742cc3d
commit
4f16baca43
1 changed files with 28 additions and 1 deletions
|
@ -670,7 +670,34 @@ void Variant::evaluate(const Operator &p_op, const Variant &p_a, const Variant &
|
|||
switch (p_a.type) {
|
||||
|
||||
DEFAULT_OP_FAIL(NIL);
|
||||
DEFAULT_OP_NUM(/, BOOL, _bool);
|
||||
case BOOL: {
|
||||
switch (p_b.type) {
|
||||
case BOOL: {
|
||||
int64_t b = p_b._data._bool;
|
||||
if (b == 0) {
|
||||
|
||||
r_valid = false;
|
||||
_RETURN("Division By False");
|
||||
}
|
||||
_RETURN(p_a._data._bool / b);
|
||||
|
||||
} break;
|
||||
case INT: {
|
||||
int64_t b = p_b._data._int;
|
||||
if (b == 0) {
|
||||
|
||||
r_valid = false;
|
||||
_RETURN("Division By Zero");
|
||||
}
|
||||
_RETURN(p_a._data._bool / b);
|
||||
|
||||
} break;
|
||||
case REAL: _RETURN(p_a._data._bool / p_b._data._real);
|
||||
default: {}
|
||||
}
|
||||
r_valid = false;
|
||||
return;
|
||||
};
|
||||
case INT: {
|
||||
switch (p_b.type) {
|
||||
case BOOL: {
|
||||
|
|
Loading…
Reference in a new issue