Module amplify::num

source ·
Expand description

Custom-sized numeric types

Implementation of a various integer types with custom bit dimension. These includes:

  • large signed and unsigned integers, named gib int types (256, 512, 1024-bit)
  • custom sub-8 bit unsigned integers, named *small int types (5-, 6-, 7-bit)
  • 24-bit signed integer.

The functions here are designed to be fast.

Modules

Hex encoding and decoding

Structs

Large integer type
Large integer type
Large integer type
1-bit unsigned integer in the range 0..1. It can be used instead of bool when 1-bit numeric (and not boolean) arithmetic is required
2-bit unsigned integer in the range 0..4
3-bit unsigned integer in the range 0..8
4-bit unsigned integer in the range 0..16
5-bit unsigned integer in the range 0..32
6-bit unsigned integer in the range 0..64
7-bit unsigned integer in the range 0..128
24-bit unsigned integer in the range 0..16_777_216
Large integer type
Large integer type
Large integer type