fix: bug when comparing strings

This commit is contained in:
2023-11-09 18:24:24 +08:00
parent d3392e7743
commit 8f209bff2b

View File

@ -338,7 +338,7 @@ std::any Neg(std::any a) {
}
bool Greater(std::any a, std::any b) {
ConverToSameArithType(a, b);
ConverToSameArithType(a, b, true);
bool *ptr_a_bool = std::any_cast<bool>(&a);
bool *ptr_b_bool = std::any_cast<bool>(&b);
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);
@ -359,7 +359,7 @@ bool Greater(std::any a, std::any b) {
throw FatalError("Greater: Type Error");
}
bool Less(std::any a, std::any b) {
ConverToSameArithType(a, b);
ConverToSameArithType(a, b, true);
bool *ptr_a_bool = std::any_cast<bool>(&a);
bool *ptr_b_bool = std::any_cast<bool>(&b);
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);
@ -380,7 +380,7 @@ bool Less(std::any a, std::any b) {
throw FatalError("Less: Type Error");
}
bool Equal(std::any a, std::any b) {
ConverToSameArithType(a, b);
ConverToSameArithType(a, b, true);
bool *ptr_a_bool = std::any_cast<bool>(&a);
bool *ptr_b_bool = std::any_cast<bool>(&b);
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);
@ -401,7 +401,7 @@ bool Equal(std::any a, std::any b) {
throw FatalError("Equal: Type Error");
}
bool NotEqual(std::any a, std::any b) {
ConverToSameArithType(a, b);
ConverToSameArithType(a, b, true);
bool *ptr_a_bool = std::any_cast<bool>(&a);
bool *ptr_b_bool = std::any_cast<bool>(&b);
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);
@ -422,7 +422,7 @@ bool NotEqual(std::any a, std::any b) {
throw FatalError("NotEqual: Type Error");
}
bool GreaterEqual(std::any a, std::any b) {
ConverToSameArithType(a, b);
ConverToSameArithType(a, b, true);
bool *ptr_a_bool = std::any_cast<bool>(&a);
bool *ptr_b_bool = std::any_cast<bool>(&b);
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);
@ -443,7 +443,7 @@ bool GreaterEqual(std::any a, std::any b) {
throw FatalError("GreaterEqual: Type Error");
}
bool LessEqual(std::any a, std::any b) {
ConverToSameArithType(a, b);
ConverToSameArithType(a, b, true);
bool *ptr_a_bool = std::any_cast<bool>(&a);
bool *ptr_b_bool = std::any_cast<bool>(&b);
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);