193 lines
2.7 KiB
Plaintext
193 lines
2.7 KiB
Plaintext
## Builtin arithmetic operators for Peon
|
|
|
|
|
|
operator `+`(a, b: int): int {
|
|
#pragma[magic: AddInt64, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `+`(a, b: uint): uint {
|
|
#pragma[magic: AddUInt64, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `+`(a, b: int32): int32 {
|
|
#pragma[magic: AddInt32, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `+`(a, b: uint32): uint32 {
|
|
#pragma[magic: AddUInt32, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `+`(a, b: int16): int16 {
|
|
#pragma[magic: AddInt16, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `+`(a, b: uint16): uint16 {
|
|
#pragma[magic: AddUInt16, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `+`(a, b: int8): int8 {
|
|
#pragma[magic: AddInt8, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `+`(a, b: uint8): uint8 {
|
|
#pragma[magic: AddUInt8, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `-`(a, b: int): int {
|
|
#pragma[magic: SubInt64, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `-`(a, b: uint): uint {
|
|
#pragma[magic: SubUInt64, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `-`(a, b: int32): int32 {
|
|
#pragma[magic: SubInt32, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `-`(a, b: uint32): uint32 {
|
|
#pragma[magic: SubUInt32, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `-`(a, b: int16): int16 {
|
|
#pragma[magic: SubInt16, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `-`(a, b: uint16): uint16 {
|
|
#pragma[magic: SubUInt16, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `-`(a, b: int8): int8 {
|
|
#pragma[magic: SubInt8, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `-`(a, b: uint8): uint8 {
|
|
#pragma[magic: SubUInt8, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `*`(a, b: int): int {
|
|
#pragma[magic: MulInt64, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `*`(a, b: uint): uint {
|
|
#pragma[magic: MulUInt64, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `*`(a, b: int32): int32 {
|
|
#pragma[magic: MulInt32, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `*`(a, b: uint32): uint32 {
|
|
#pragma[magic: MulUInt32, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `*`(a, b: int16): int16 {
|
|
#pragma[magic: MulInt16, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `*`(a, b: uint16): uint16 {
|
|
#pragma[magic: MulUInt16, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `*`(a, b: int8): int8 {
|
|
#pragma[magic: MulInt8, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `*`(a, b: uint8): uint8 {
|
|
#pragma[magic: MulUInt8, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `/`(a, b: int): int {
|
|
#pragma[magic: DivInt64, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `/`(a, b: uint): uint {
|
|
#pragma[magic: DivUInt64, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `/`(a, b: int32): int32 {
|
|
#pragma[magic: DivInt32, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `/`(a, b: uint32): uint32 {
|
|
#pragma[magic: DivUInt32, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `/`(a, b: int16): int16 {
|
|
#pragma[magic: DivInt16, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `/`(a, b: uint16): uint16 {
|
|
#pragma[magic: DivUInt16, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `/`(a, b: int8): int8 {
|
|
#pragma[magic: DivInt8, pure]
|
|
return;
|
|
}
|
|
|
|
|
|
operator `/`(a, b: uint8): uint8 {
|
|
#pragma[magic: DivUInt8, pure]
|
|
return;
|
|
} |