simplify by using a custom constructor

This commit is contained in:
Axel Kohlmeyer
2022-12-27 18:26:29 -05:00
parent 246b25e2ed
commit 9f15ad4795
2 changed files with 6 additions and 8 deletions

View File

@ -515,7 +515,8 @@ void CompiledExpression::generateTwoArgCall(a64::Compiler& c, arm::Vec& dest, ar
}
#else
union int64_vs_double {
union int64_to_double {
int64_to_double(int64_t _i) { i = _i; }
int64_t i;
double d;
};
@ -568,9 +569,7 @@ void CompiledExpression::generateJitCode() {
else if (op.getId() == Operation::DELTA)
value = 1.0;
else if (op.getId() == Operation::ABS) {
int64_vs_double mask;
mask.i = 0x7FFFFFFFFFFFFFFF;
value = mask.d;
value = int64_to_double(0x7FFFFFFFFFFFFFFF).d;
}
else if (op.getId() == Operation::POWER_CONSTANT) {
if (stepGroup[step] == -1)

View File

@ -573,7 +573,8 @@ void CompiledVectorExpression::generateTwoArgCall(a64::Compiler& c, arm::Vec& de
}
#else
union int_vs_float {
union int_to_float {
int_to_float(int _i) { i = _i; }
int i;
float f;
};
@ -629,9 +630,7 @@ void CompiledVectorExpression::generateJitCode() {
else if (op.getId() == Operation::DELTA)
value = 1.0;
else if (op.getId() == Operation::ABS) {
int_vs_float mask;
mask.i = 0x7FFFFFFF;
value = mask.f;
value = int_to_float(0x7FFFFFFF).f;
}
else if (op.getId() == Operation::POWER_CONSTANT) {
if (stepGroup[step] == -1)