vBigNum
Perform arithmetic and logical functions on large integers.
Overview
The vBigNum module provides arithmetic and logical operations on large integers with lengths of 128, 256, 512, or 1024 bits.
vBigNum includes data types that represent large integer quantities, such as vS512, which defines a 512-bit signed integer. The function names begin with the data type, followed by the name of the operation. For example, vS512Add(_:_:_:) performs the addition of two 512-bit signed integers.
Topics
Shifting and rotating large integers
vLL256Shift(_:_:_:)vLR256Shift(_:_:_:)vA256Shift(_:_:_:)vLL512Shift(_:_:_:)vLR512Shift(_:_:_:)vA512Shift(_:_:_:)vLL1024Shift(_:_:_:)vLR1024Shift(_:_:_:)vA1024Shift(_:_:_:)vL256Rotate(_:_:_:)vR256Rotate(_:_:_:)vL512Rotate(_:_:_:)vR512Rotate(_:_:_:)vL1024Rotate(_:_:_:)vR1024Rotate(_:_:_:)
Performing arithmetic operations on large integers
vU256Add(_:_:_:)vU256AddS(_:_:_:)vS256Add(_:_:_:)vS256AddS(_:_:_:)vU512Add(_:_:_:)vU512AddS(_:_:_:)vS512Add(_:_:_:)vS512AddS(_:_:_:)vU1024Add(_:_:_:)vU1024AddS(_:_:_:)vS1024Add(_:_:_:)vS1024AddS(_:_:_:)vU256Sub(_:_:_:)vU256SubS(_:_:_:)vS256Sub(_:_:_:)vS256SubS(_:_:_:)vU512Sub(_:_:_:)vU512SubS(_:_:_:)vS512Sub(_:_:_:)vS512SubS(_:_:_:)vU1024Sub(_:_:_:)vU1024SubS(_:_:_:)vS1024Sub(_:_:_:)vS1024SubS(_:_:_:)vU64Neg(_:)vU128Neg(_:)vU256Neg(_:_:)vS64Neg(_:)vS128Neg(_:)vS256Neg(_:_:)vU512Neg(_:_:)vS512Neg(_:_:)vU1024Neg(_:_:)vS1024Neg(_:_:)vU256Mod(_:_:_:)vS256Mod(_:_:_:)vU512Mod(_:_:_:)vS512Mod(_:_:_:)vU1024Mod(_:_:_:)vS1024Mod(_:_:_:)vU256HalfMultiply(_:_:_:)vS256HalfMultiply(_:_:_:)vU512HalfMultiply(_:_:_:)vS512HalfMultiply(_:_:_:)vU1024HalfMultiply(_:_:_:)vS1024HalfMultiply(_:_:_:)vU128FullMultiply(_:_:_:)vS128FullMultiply(_:_:_:)vU256FullMultiply(_:_:_:)vS256FullMultiply(_:_:_:)vU512FullMultiply(_:_:_:)vS512FullMultiply(_:_:_:)vU256Divide(_:_:_:_:)vS256Divide(_:_:_:_:)vU512Divide(_:_:_:_:)vS512Divide(_:_:_:_:)vU1024Divide(_:_:_:_:)vS1024Divide(_:_:_:_:)