diff options
Diffstat (limited to 'lib/system.nim')
-rwxr-xr-x | lib/system.nim | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/lib/system.nim b/lib/system.nim index 00555fa45..460bca5c0 100755 --- a/lib/system.nim +++ b/lib/system.nim @@ -402,9 +402,6 @@ proc `+` *(x, y: int32): int32 {.magic: "AddI", noSideEffect.} proc `+` *(x, y: int64): int64 {.magic: "AddI64", noSideEffect.} ## Binary `+` operator for an integer. -proc `+=`*[T](x, y: ordinal[T]) {.magic: "Inc", noSideEffect.} - ## Increments an ordinal - proc `-` *(x, y: int): int {.magic: "SubI", noSideEffect.} proc `-` *(x, y: int8): int8 {.magic: "SubI", noSideEffect.} proc `-` *(x, y: int16): int16 {.magic: "SubI", noSideEffect.} @@ -412,9 +409,6 @@ proc `-` *(x, y: int32): int32 {.magic: "SubI", noSideEffect.} proc `-` *(x, y: int64): int64 {.magic: "SubI64", noSideEffect.} ## Binary `-` operator for an integer. -proc `-=`*[T](x, y: ordinal[T]) {.magic: "Dec", noSideEffect.} - ## Decrements an ordinal - proc `*` *(x, y: int): int {.magic: "MulI", noSideEffect.} proc `*` *(x, y: int8): int8 {.magic: "MulI", noSideEffect.} proc `*` *(x, y: int16): int16 {.magic: "MulI", noSideEffect.} @@ -422,10 +416,6 @@ proc `*` *(x, y: int32): int32 {.magic: "MulI", noSideEffect.} proc `*` *(x, y: int64): int64 {.magic: "MulI64", noSideEffect.} ## Binary `*` operator for an integer. -proc `*=`*[T](x: var ordinal[T], y: ordinal[T]) {.inline noSideEffect.} = - ## Binary `*=` operator for oridinals - x = x * y - proc `div` *(x, y: int): int {.magic: "DivI", noSideEffect.} proc `div` *(x, y: int8): int8 {.magic: "DivI", noSideEffect.} proc `div` *(x, y: int16): int16 {.magic: "DivI", noSideEffect.} @@ -579,22 +569,6 @@ proc `*` *(x, y: float): float {.magic: "MulF64", noSideEffect.} proc `/` *(x, y: float): float {.magic: "DivF64", noSideEffect.} ## computes the floating point division -proc `+=` *(x: var float, y:float) {.inline noSideEffect.} = - ## Increments in placee a floating point number - x = x + y - -proc `-=` *(x: var float, y:float) {.inline noSideEffect.} = - ## Decrements in place a floating point number - x = x - y - -proc `*=` *(x: var float, y:float) {.inline noSideEffect.} = - ## Multiplies in place a floating point number - x = x * y - -proc `/=` *(x: var float, y:float) {.inline noSideEffect.} = - ## Divides in place a floating point number - x = x / y - proc `==` *(x, y: float): bool {.magic: "EqF64", noSideEffect.} proc `<=` *(x, y: float): bool {.magic: "LeF64", noSideEffect.} proc `<` *(x, y: float): bool {.magic: "LtF64", noSideEffect.} @@ -743,8 +717,6 @@ proc `&` * (x: char, y: string): string {. proc add*(x: var string, y: char) {.magic: "AppendStrCh", noSideEffect.} proc add*(x: var string, y: string) {.magic: "AppendStrStr", noSideEffect.} -proc `&=`* (x: var string, y: string) {.magic: "AppendStrStr", noSideEffect.} - type TEndian* = enum ## is a type describing the endianness of a processor. littleEndian, bigEndian @@ -2062,3 +2034,31 @@ proc slurp*(filename: string): string {.magic: "Slurp".} ## const myResource = slurp"mydatafile.bin" ## +proc `+=`*[T](x, y: ordinal[T]) {.magic: "Inc", noSideEffect.} + ## Increments an ordinal + +proc `-=`*[T](x, y: ordinal[T]) {.magic: "Dec", noSideEffect.} + ## Decrements an ordinal + +proc `*=`*[T](x: var ordinal[T], y: ordinal[T]) {.inline noSideEffect.} = + ## Binary `*=` operator for oridinals + x = x * y + +proc `+=` *(x: var float, y:float) {.inline noSideEffect.} = + ## Increments in placee a floating point number + x = x + y + +proc `-=` *(x: var float, y:float) {.inline noSideEffect.} = + ## Decrements in place a floating point number + x = x - y + +proc `*=` *(x: var float, y:float) {.inline noSideEffect.} = + ## Multiplies in place a floating point number + x = x * y + +proc `/=` *(x: var float, y:float) {.inline noSideEffect.} = + ## Divides in place a floating point number + x = x / y + +proc `&=`* (x: var string, y: string) {.magic: "AppendStrStr", noSideEffect.} + |