fix: bug when comparing strings
This commit is contained in:
@ -338,7 +338,7 @@ std::any Neg(std::any a) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool Greater(std::any a, std::any b) {
|
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_a_bool = std::any_cast<bool>(&a);
|
||||||
bool *ptr_b_bool = std::any_cast<bool>(&b);
|
bool *ptr_b_bool = std::any_cast<bool>(&b);
|
||||||
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);
|
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");
|
throw FatalError("Greater: Type Error");
|
||||||
}
|
}
|
||||||
bool Less(std::any a, std::any b) {
|
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_a_bool = std::any_cast<bool>(&a);
|
||||||
bool *ptr_b_bool = std::any_cast<bool>(&b);
|
bool *ptr_b_bool = std::any_cast<bool>(&b);
|
||||||
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);
|
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");
|
throw FatalError("Less: Type Error");
|
||||||
}
|
}
|
||||||
bool Equal(std::any a, std::any b) {
|
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_a_bool = std::any_cast<bool>(&a);
|
||||||
bool *ptr_b_bool = std::any_cast<bool>(&b);
|
bool *ptr_b_bool = std::any_cast<bool>(&b);
|
||||||
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);
|
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");
|
throw FatalError("Equal: Type Error");
|
||||||
}
|
}
|
||||||
bool NotEqual(std::any a, std::any b) {
|
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_a_bool = std::any_cast<bool>(&a);
|
||||||
bool *ptr_b_bool = std::any_cast<bool>(&b);
|
bool *ptr_b_bool = std::any_cast<bool>(&b);
|
||||||
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);
|
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");
|
throw FatalError("NotEqual: Type Error");
|
||||||
}
|
}
|
||||||
bool GreaterEqual(std::any a, std::any b) {
|
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_a_bool = std::any_cast<bool>(&a);
|
||||||
bool *ptr_b_bool = std::any_cast<bool>(&b);
|
bool *ptr_b_bool = std::any_cast<bool>(&b);
|
||||||
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);
|
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");
|
throw FatalError("GreaterEqual: Type Error");
|
||||||
}
|
}
|
||||||
bool LessEqual(std::any a, std::any b) {
|
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_a_bool = std::any_cast<bool>(&a);
|
||||||
bool *ptr_b_bool = std::any_cast<bool>(&b);
|
bool *ptr_b_bool = std::any_cast<bool>(&b);
|
||||||
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);
|
ZYM::int2048 *ptr_a_int2048 = std::any_cast<ZYM::int2048>(&a);
|
||||||
|
Reference in New Issue
Block a user