Index
Modules:
intops,
intops/consts,
intops/impl/inlineasm,
intops/impl/inlineasm/arm64,
intops/impl/inlineasm/x86,
intops/impl/inlinec,
intops/impl/intrinsics,
intops/impl/intrinsics/gcc,
intops/impl/intrinsics/x86,
intops/impl/pure,
intops/ops/add,
intops/ops/composite,
intops/ops/division,
intops/ops/mul,
intops/ops/muladd,
intops/ops/sub.
API symbols
- borrowingSub:
- x86: proc borrowingSub(a, b: int32; borrowIn: bool): (int32, bool)
- x86: proc borrowingSub(a, b: int64; borrowIn: bool): (int64, bool)
- x86: proc borrowingSub(a, b: uint32; borrowIn: bool): (uint32, bool)
- x86: proc borrowingSub(a, b: uint64; borrowIn: bool): (uint64, bool)
- inlinec: proc borrowingSub(a, b: uint64; borrowIn: bool): (uint64, bool)
- gcc: proc borrowingSub[T: SomeInteger](a, b: T; borrowIn: bool): (T, bool)
- x86: proc borrowingSub(a, b: uint32; borrowIn: bool): (uint32, bool)
- x86: proc borrowingSub(a, b: uint64; borrowIn: bool): (uint64, bool)
- pure: proc borrowingSub[T: SomeUnsignedInt](a, b: T; borrowIn: bool): (T, bool)
- pure: proc borrowingSub[T: SomeSignedInt](a, b: T; borrowIn: bool): (T, bool)
- sub: template borrowingSub(a, b: int32; borrowIn: bool): (int32, bool)
- sub: template borrowingSub(a, b: int64; borrowIn: bool): tuple[res: int64, borrowOut: bool]
- sub: template borrowingSub(a, b: uint32; borrowIn: bool): tuple[res: uint32, borrowOut: bool]
- sub: template borrowingSub(a, b: uint64; borrowIn: bool): tuple[res: uint64, borrowOut: bool]
- builtinBorrowingSub:
- builtinCarryingAdd:
- builtinNarrowingDiv:
- builtinOverflowingAdd:
- builtinOverflowingSub:
- canUseInlineAsm:
- canUseInlineC:
- canUseIntrinsics:
- carryingAdd:
- x86: proc carryingAdd(a, b: int32; carryIn: bool): (int32, bool)
- x86: proc carryingAdd(a, b: int64; carryIn: bool): (int64, bool)
- x86: proc carryingAdd(a, b: uint32; carryIn: bool): (uint32, bool)
- x86: proc carryingAdd(a, b: uint64; carryIn: bool): (uint64, bool)
- inlinec: proc carryingAdd(a, b: uint64; carryIn: bool): (uint64, bool)
- gcc: proc carryingAdd[T: SomeInteger](a, b: T; carryIn: bool): (T, bool)
- x86: proc carryingAdd(a, b: uint32; carryIn: bool): (uint32, bool)
- x86: proc carryingAdd(a, b: uint64; carryIn: bool): (uint64, bool)
- pure: proc carryingAdd[T: SomeUnsignedInt](a, b: T; carryIn: bool): (T, bool)
- pure: proc carryingAdd[T: SomeSignedInt](a, b: T; carryIn: bool): (T, bool)
- add: template carryingAdd(a, b: int32; carryIn: bool): tuple[res: int32, carryOut: bool]
- add: template carryingAdd(a, b: int64; carryIn: bool): tuple[res: int64, carryOut: bool]
- add: template carryingAdd(a, b: uint32; carryIn: bool): tuple[res: uint32, carryOut: bool]
- add: template carryingAdd(a, b: uint64; carryIn: bool): tuple[res: uint64, carryOut: bool]
- compilerGccCompatible:
- compilerMsvc:
- cpu64Bit:
- cpuArm64:
- cpuX86:
- mulAcc:
- pure: proc mulAcc[T: uint64 | uint32](t, u, v: T; a, b: T): (T, T, T)
- composite: proc mulAcc[T: uint64 | uint32](t, u, v: T; a, b: T): tuple[t, u, v: T]
- mulDoubleAdd2:
- pure: proc mulDoubleAdd2[T: uint64 | uint32](a, b, c, dHi, dLo: T): (T, T, T)
- composite: template mulDoubleAdd2[T: uint64 | uint32](a, b, c, dHi, dLo: T): tuple[t2, r1, r0: T]
- narrowingDiv:
- x86: proc narrowingDiv(uHi, uLo, v: uint64): (uint64, uint64)
- inlinec: proc narrowingDiv(uHi, uLo, v: uint64): (uint64, uint64)
- x86: proc narrowingDiv(uHi, uLo, v: uint64): (uint64, uint64)
- pure: proc narrowingDiv(uHi, uLo, v: uint64): (uint64, uint64)
- division: template narrowingDiv(uHi, uLo, v: uint64): tuple[q, r: uint64]
- overflowingAdd:
- overflowingSub:
- saturatingAdd:
- saturatingSub:
- wideningMul:
- inlinec: proc wideningMul(a, b: int64): (int64, uint64)
- inlinec: proc wideningMul(a, b: uint64): (uint64, uint64)
- pure: proc wideningMul(a, b: int32): (int32, uint32)
- pure: proc wideningMul(a, b: int64): (int64, uint64)
- pure: proc wideningMul(a, b: uint32): (uint32, uint32)
- pure: proc wideningMul(a, b: uint64): (uint64, uint64)
- mul: template wideningMul(a, b: int32): tuple[hi: int32, lo: uint32]
- mul: template wideningMul(a, b: int64): tuple[hi: int64, lo: uint64]
- mul: template wideningMul(a, b: uint32): tuple[hi, lo: uint32]
- mul: template wideningMul(a, b: uint64): tuple[hi, lo: uint64]
- wideningMulAdd:
- inlinec: proc wideningMulAdd(a, b, c: uint64): (uint64, uint64)
- inlinec: proc wideningMulAdd(a, b, c, d: uint64): (uint64, uint64)
- pure: proc wideningMulAdd(a, b, c: uint64): (uint64, uint64)
- pure: proc wideningMulAdd(a, b, c, d: uint64): (uint64, uint64)
- muladd: template wideningMulAdd(a, b, c: uint64): tuple[hi, lo: uint64]
- muladd: template wideningMulAdd(a, b, c, d: uint64): tuple[hi, lo: uint64]
Made with Nim. Generated: 2025-12-19 10:21:30 UTC