case irms_internal_boolean:
return (a == tarval_b_false) ? a : b;
+ case irms_reference:
case irms_int_number:
sc_and(a->value, b->value, NULL);
return get_tarval(sc_get_buffer(), sc_get_buffer_length(), a->mode);
case irms_internal_boolean:
return a == tarval_b_true && b == tarval_b_false ? tarval_b_true : tarval_b_false;
+ case irms_reference:
case irms_int_number:
sc_andnot(a->value, b->value, NULL);
return get_tarval(sc_get_buffer(), sc_get_buffer_length(), a->mode);
case irms_internal_boolean:
return (a == tarval_b_true) ? a : b;
+ case irms_reference:
case irms_int_number:
sc_or(a->value, b->value, NULL);
return get_tarval(sc_get_buffer(), sc_get_buffer_length(), a->mode);
case irms_internal_boolean:
return (a == b)? tarval_b_false : tarval_b_true;
+ case irms_reference:
case irms_int_number:
sc_xor(a->value, b->value, NULL);
return get_tarval(sc_get_buffer(), sc_get_buffer_length(), a->mode);