|
|
|
@@ -44,46 +44,42 @@ static int init_ = []() {
|
|
|
|
BIN_OP(IntegerDivision, Float, Integer) { return Value::createInteger((int32_t) a.as_float() / b.as_integer()); };
|
|
|
|
BIN_OP(IntegerDivision, Float, Integer) { return Value::createInteger((int32_t) a.as_float() / b.as_integer()); };
|
|
|
|
BIN_OP(IntegerDivision, Float, Float) { return Value::createInteger((int32_t) a.as_float() / (int32_t) b.as_float()); };
|
|
|
|
BIN_OP(IntegerDivision, Float, Float) { return Value::createInteger((int32_t) a.as_float() / (int32_t) b.as_float()); };
|
|
|
|
|
|
|
|
|
|
|
|
BIN_OP(Equality, Integer, Integer) { return Value::createInteger(a.as_integer() + b.as_integer()); };
|
|
|
|
BIN_OP(Equality, Integer, Integer) { return Value::createIntegerFromBool(a.as_integer() == b.as_integer()); };
|
|
|
|
BIN_OP(Equality, Integer, Float) { return Value::createFloat((float) a.as_integer() + b.as_float()); };
|
|
|
|
BIN_OP(Equality, Integer, Float) { return Value::createIntegerFromBool(std::abs((float) a.as_integer() - b.as_float()) < FLOAT_EPSILON); };
|
|
|
|
BIN_OP(Equality, Float, Integer) { return Value::createFloat(a.as_float() + (float) b.as_integer()); };
|
|
|
|
BIN_OP(Equality, Float, Integer) { return Value::createIntegerFromBool(std::abs(a.as_float() - (float) b.as_integer()) < FLOAT_EPSILON); };
|
|
|
|
BIN_OP(Equality, Float, Float) { return Value::createFloat(a.as_float() + b.as_float()); };
|
|
|
|
BIN_OP(Equality, Float, Float) { return Value::createIntegerFromBool(std::abs(a.as_float() - b.as_float()) < FLOAT_EPSILON); };
|
|
|
|
|
|
|
|
|
|
|
|
BIN_OP(Inequality, Integer, Integer) { return Value::createInteger(a.as_integer() + b.as_integer()); };
|
|
|
|
BIN_OP(Inequality, Integer, Integer) { return Value::createIntegerFromBool(a.as_integer() != b.as_integer()); };
|
|
|
|
BIN_OP(Inequality, Integer, Float) { return Value::createFloat((float) a.as_integer() + b.as_float()); };
|
|
|
|
BIN_OP(Inequality, Integer, Float) { return Value::createIntegerFromBool(std::abs((float) a.as_integer() - b.as_float()) >= FLOAT_EPSILON); };
|
|
|
|
BIN_OP(Inequality, Float, Integer) { return Value::createFloat(a.as_float() + (float) b.as_integer()); };
|
|
|
|
BIN_OP(Inequality, Float, Integer) { return Value::createIntegerFromBool(std::abs(a.as_float() - (float) b.as_integer()) >= FLOAT_EPSILON); };
|
|
|
|
BIN_OP(Inequality, Float, Float) { return Value::createFloat(a.as_float() + b.as_float()); };
|
|
|
|
BIN_OP(Inequality, Float, Float) { return Value::createIntegerFromBool(std::abs(a.as_float() - b.as_float()) >= FLOAT_EPSILON); };
|
|
|
|
|
|
|
|
|
|
|
|
BIN_OP(LessThan, Integer, Integer) { return Value::createInteger(a.as_integer() + b.as_integer()); };
|
|
|
|
BIN_OP(LessThan, Integer, Integer) { return Value::createIntegerFromBool(a.as_integer() < b.as_integer()); };
|
|
|
|
BIN_OP(LessThan, Integer, Float) { return Value::createFloat((float) a.as_integer() + b.as_float()); };
|
|
|
|
BIN_OP(LessThan, Integer, Float) { return Value::createIntegerFromBool((float) a.as_integer() < b.as_float()); };
|
|
|
|
BIN_OP(LessThan, Float, Integer) { return Value::createFloat(a.as_float() + (float) b.as_integer()); };
|
|
|
|
BIN_OP(LessThan, Float, Integer) { return Value::createIntegerFromBool(a.as_float() < (float) b.as_integer()); };
|
|
|
|
BIN_OP(LessThan, Float, Float) { return Value::createFloat(a.as_float() + b.as_float()); };
|
|
|
|
BIN_OP(LessThan, Float, Float) { return Value::createIntegerFromBool(a.as_float() < b.as_float()); };
|
|
|
|
|
|
|
|
|
|
|
|
BIN_OP(LessThanOrEquals, Integer, Integer) { return Value::createInteger(a.as_integer() + b.as_integer()); };
|
|
|
|
BIN_OP(LessThanOrEquals, Integer, Integer) { return Value::createIntegerFromBool(a.as_integer() <= b.as_integer()); };
|
|
|
|
BIN_OP(LessThanOrEquals, Integer, Float) { return Value::createFloat((float) a.as_integer() + b.as_float()); };
|
|
|
|
BIN_OP(LessThanOrEquals, Integer, Float) { return Value::createIntegerFromBool((float) a.as_integer() <= b.as_float()); };
|
|
|
|
BIN_OP(LessThanOrEquals, Float, Integer) { return Value::createFloat(a.as_float() + (float) b.as_integer()); };
|
|
|
|
BIN_OP(LessThanOrEquals, Float, Integer) { return Value::createIntegerFromBool(a.as_float() <= (float) b.as_integer()); };
|
|
|
|
BIN_OP(LessThanOrEquals, Float, Float) { return Value::createFloat(a.as_float() + b.as_float()); };
|
|
|
|
BIN_OP(LessThanOrEquals, Float, Float) { return Value::createIntegerFromBool(a.as_float() <= b.as_float()); };
|
|
|
|
|
|
|
|
|
|
|
|
BIN_OP(GreaterThan, Integer, Integer) { return Value::createInteger(a.as_integer() + b.as_integer()); };
|
|
|
|
BIN_OP(GreaterThan, Integer, Integer) { return Value::createIntegerFromBool(a.as_integer() > b.as_integer()); };
|
|
|
|
BIN_OP(GreaterThan, Integer, Float) { return Value::createFloat((float) a.as_integer() + b.as_float()); };
|
|
|
|
BIN_OP(GreaterThan, Integer, Float) { return Value::createIntegerFromBool((float) a.as_integer() > b.as_float()); };
|
|
|
|
BIN_OP(GreaterThan, Float, Integer) { return Value::createFloat(a.as_float() + (float) b.as_integer()); };
|
|
|
|
BIN_OP(GreaterThan, Float, Integer) { return Value::createIntegerFromBool(a.as_float() > (float) b.as_integer()); };
|
|
|
|
BIN_OP(GreaterThan, Float, Float) { return Value::createFloat(a.as_float() + b.as_float()); };
|
|
|
|
BIN_OP(GreaterThan, Float, Float) { return Value::createIntegerFromBool(a.as_float() > b.as_float()); };
|
|
|
|
|
|
|
|
|
|
|
|
BIN_OP(GreaterThanOrEquals, Integer, Integer) { return Value::createInteger(a.as_integer() + b.as_integer()); };
|
|
|
|
BIN_OP(GreaterThanOrEquals, Integer, Integer) { return Value::createIntegerFromBool(a.as_integer() >= b.as_integer()); };
|
|
|
|
BIN_OP(GreaterThanOrEquals, Integer, Float) { return Value::createFloat((float) a.as_integer() + b.as_float()); };
|
|
|
|
BIN_OP(GreaterThanOrEquals, Integer, Float) { return Value::createIntegerFromBool((float) a.as_integer() >= b.as_float()); };
|
|
|
|
BIN_OP(GreaterThanOrEquals, Float, Integer) { return Value::createFloat(a.as_float() + (float) b.as_integer()); };
|
|
|
|
BIN_OP(GreaterThanOrEquals, Float, Integer) { return Value::createIntegerFromBool(a.as_float() >= (float) b.as_integer()); };
|
|
|
|
BIN_OP(GreaterThanOrEquals, Float, Float) { return Value::createFloat(a.as_float() + b.as_float()); };
|
|
|
|
BIN_OP(GreaterThanOrEquals, Float, Float) { return Value::createIntegerFromBool(a.as_float() >= b.as_float()); };
|
|
|
|
|
|
|
|
|
|
|
|
BIN_OP(Power, Integer, Integer) { return Value::createInteger(a.as_integer() + b.as_integer()); };
|
|
|
|
BIN_OP(Power, Integer, Integer) { return Value::createInteger((int32_t) powl(a.as_integer(), b.as_integer())); };
|
|
|
|
BIN_OP(Power, Integer, Float) { return Value::createFloat((float) a.as_integer() + b.as_float()); };
|
|
|
|
BIN_OP(Power, Integer, Float) { return Value::createFloat(powf((float) a.as_integer(), b.as_float())); };
|
|
|
|
BIN_OP(Power, Float, Integer) { return Value::createFloat(a.as_float() + (float) b.as_integer()); };
|
|
|
|
BIN_OP(Power, Float, Integer) { return Value::createFloat(powf(a.as_float(), (float) b.as_integer())); };
|
|
|
|
BIN_OP(Power, Float, Float) { return Value::createFloat(a.as_float() + b.as_float()); };
|
|
|
|
BIN_OP(Power, Float, Float) { return Value::createFloat(powf(a.as_float(), b.as_float())); };
|
|
|
|
|
|
|
|
|
|
|
|
BIN_OP(Modulo, Integer, Integer) { return Value::createInteger(a.as_integer() + b.as_integer()); };
|
|
|
|
|
|
|
|
BIN_OP(Modulo, Integer, Float) { return Value::createFloat((float) a.as_integer() + b.as_float()); };
|
|
|
|
|
|
|
|
BIN_OP(Modulo, Float, Integer) { return Value::createFloat(a.as_float() + (float) b.as_integer()); };
|
|
|
|
|
|
|
|
BIN_OP(Modulo, Float, Float) { return Value::createFloat(a.as_float() + b.as_float()); };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BIN_OP(Modulo, Integer, Integer) { return Value::createInteger(a.as_integer() % b.as_integer()); };
|
|
|
|
BIN_OP(ShiftLeft, Integer, Integer) { return Value::createInteger(a.as_integer() << b.as_integer()); };
|
|
|
|
BIN_OP(ShiftLeft, Integer, Integer) { return Value::createInteger(a.as_integer() << b.as_integer()); };
|
|
|
|
BIN_OP(ShiftRight, Integer, Integer) { return Value::createInteger(a.as_integer() >> b.as_integer()); };
|
|
|
|
BIN_OP(ShiftRight, Integer, Integer) { return Value::createInteger(a.as_integer() >> b.as_integer()); };
|
|
|
|
BIN_OP(BitwiseAnd, Integer, Integer) { return Value::createInteger(a.as_integer() & b.as_integer()); };
|
|
|
|
BIN_OP(BitwiseAnd, Integer, Integer) { return Value::createInteger(a.as_integer() & b.as_integer()); };
|
|
|
|
|