aboutsummaryrefslogtreecommitdiff
path: root/src/exact_value.cpp
diff options
context:
space:
mode:
authorGinger Bill <bill@gingerbill.org>2017-07-31 11:36:00 +0100
committerGinger Bill <bill@gingerbill.org>2017-07-31 11:36:00 +0100
commit0fae31fb545b474359359fd644911fa335c5c282 (patch)
tree5077da92ae70949b014c981d91467d67ff127e2f /src/exact_value.cpp
parent8987a6630c8ec43da770dd92c10f6b92e17201f2 (diff)
Extra type safety; Fix typos
Diffstat (limited to 'src/exact_value.cpp')
-rw-r--r--src/exact_value.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/exact_value.cpp b/src/exact_value.cpp
index 6966dbf73..070dffc6a 100644
--- a/src/exact_value.cpp
+++ b/src/exact_value.cpp
@@ -504,19 +504,19 @@ ExactValue exact_binary_operator_value(TokenKind op, ExactValue x, ExactValue y)
i128 b = y.value_integer;
i128 c = I128_ZERO;
switch (op) {
- case Token_Add: c = a + b; break;
- case Token_Sub: c = a - b; break;
- case Token_Mul: c = a * b; break;
+ case Token_Add: c = a + b; break;
+ case Token_Sub: c = a - b; break;
+ case Token_Mul: c = a * b; break;
case Token_Quo: return exact_value_float(fmod(i128_to_f64(a), i128_to_f64(b)));
- case Token_QuoEq: c = a / b; break; // NOTE(bill): Integer division
- case Token_Mod: c = a % b; break;
- case Token_ModMod: c = ((a % b) + b) % b; break;
- case Token_And: c = a & b; break;
- case Token_Or: c = a | b; break;
- case Token_Xor: c = a ^ b; break;
- case Token_AndNot: c = i128_and_not(a, b); break;
- case Token_Shl: c = a << i128_to_u64(b); break;
- case Token_Shr: c = a >> i128_to_u64(b); break;
+ case Token_QuoEq: c = a / b; break; // NOTE(bill): Integer division
+ case Token_Mod: c = a % b; break;
+ case Token_ModMod: c = ((a % b) + b) % b; break;
+ case Token_And: c = a & b; break;
+ case Token_Or: c = a | b; break;
+ case Token_Xor: c = a ^ b; break;
+ case Token_AndNot: c = i128_and_not(a, b); break;
+ case Token_Shl: c = a << cast(u32)i128_to_u64(b); break;
+ case Token_Shr: c = a >> cast(u32)i128_to_u64(b); break;
default: goto error;
}