diff --git a/value.nim b/value.nim index 3625635..b8c2a7c 100644 --- a/value.nim +++ b/value.nim @@ -106,14 +106,14 @@ const natOk* = NatReturn(ok: true) # OPERATIONS # NOTE: these operations can return ktTypeError with a message if types are invalid -proc negate*(val: var KonValue): NatReturn = +proc negate*(val: var KonValue): NatReturn {.inline.} = if (val.konType != ktFloat): return natError("Operand must be a number.") else: val.floatValue = -val.floatValue return natOk -proc add*(val: var KonValue, right: KonValue): NatReturn = +proc add*(val: var KonValue, right: KonValue): NatReturn {.inline.} = if val.konType == ktFloat and right.konType == ktFloat: val.floatValue += right.floatValue elif val.konType == ktString and right.konType == ktString: @@ -122,21 +122,21 @@ proc add*(val: var KonValue, right: KonValue): NatReturn = return natError(&"Attempt to add types {val.konType} and {right.konType}.") return natOk -proc subtract*(val: var KonValue, right: KonValue): NatReturn = +proc subtract*(val: var KonValue, right: KonValue): NatReturn {.inline.} = if val.konType == ktFloat and right.konType == ktFloat: val.floatValue -= right.floatValue else: return natError(&"Attempt to subtract types {val.konType} and {right.konType}.") return natOk -proc multiply*(val: var KonValue, right: KonValue): NatReturn = +proc multiply*(val: var KonValue, right: KonValue): NatReturn {.inline.} = if val.konType == ktFloat and right.konType == ktFloat: val.floatValue *= right.floatValue else: return natError(&"Attempt to multiply types {val.konType} and {right.konType}.") return natOk -proc divide*(val: var KonValue, right: KonValue): NatReturn = +proc divide*(val: var KonValue, right: KonValue): NatReturn {.inline.} = if val.konType == ktFloat and right.konType == ktFloat: val.floatValue /= right.floatValue else: