Nat64
The convention is to name the module alias after the file name it is defined in:
import Nat64 "mo:base/Nat64";
On this page
Constants
Value minimumValue
Value maximumValue
Conversion
Function toNat
Function toText
Function fromNat
Function fromIntWrap
Comparison
Function min
Function max
Function equal
Function notEqual
Function less
Function lessOrEqual
Function greater
Function greaterOrEqual
Function compare
Numerical Operations
Function add
Function sub
Function mul
Function div
Function rem
Function pow
Bitwise Operators
Function bitnot
Function bitand
Function bitor
Function bitxor
Function bitshiftLeft
Function bitshiftRight
Function bitrotLeft
Function bitrotRight
Function bittest
Function bitset
Function bitclear
Function bitflip
Function bitcountNonZero
Function bitcountLeadingZero
Function bitcountTrailingZero
Wrapping Operations
Function addWrap
Function subWrap
Function mulWrap
Function powWrap
minimumValue
let minimumValue : Nat64 = 0;
maximumValue
let maximumValue : Nat64 = 18_446_744_073_709_551_615;
Nat64.toNat
func toNat(i : Nat64) : Nat
The function toNat takes one Nat64 value and returns an Nat value.
import Nat64 "mo:base/Nat64";
let a : Nat64 = 184467;
Nat64.toNat(a);
Nat64.toText
func toText(i : Nat64) : Text
The function toText takes one Nat64 value and returns a Text value.
import Nat64 "mo:base/Nat64";
let b : Nat64 = 184467;
Nat64.toText(b);
Nat64.fromNat
func fromNat(i : Nat) : Nat64
The function fromNat takes one Nat value and returns an Nat64 value.
import Nat64 "mo:base/Nat64";
let number : Nat = 184467;
Nat64.fromNat(number);
Nat64.fromIntWrap
func fromIntWrap(i : Int) : Nat64
The function fromIntWrap takes one Int value and returns an Nat64 value.
import Nat64 "mo:base/Nat64";
let integer : Int = 18_446_744_073_709_551_616;
Nat64.fromIntWrap(integer);
Nat64.min
func min(x : Nat64, y : Nat64) : Nat64
The function min takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 2000;
let y : Nat64 = 1001;
Nat64.min(x, y);
Nat64.max
func max(x : Nat64, y : Nat64) : Nat64
The function max takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 2000;
let y : Nat64 = 2001;
Nat64.max(x, y);
Nat64.equal
func equal(x : Nat64, y : Nat64) : Bool
The function equal takes two Nat64 value and returns a Bool value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 1000;
let y : Nat64 = 100;
Nat64.equal(x, y);
Nat64.notEqual
func notEqual(x : Nat64, y : Nat64) : Bool
The function notEqual takes two Nat64 value and returns a Bool value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 1000;
let y : Nat64 = 1001;
Nat64.notEqual(x, y);
Nat64.less
func less(x : Nat64, y : Nat64) : Bool
The function less takes two Nat64 value and returns a Bool value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 2000;
let y : Nat64 = 2500;
Nat64.less(x, y);
Nat64.lessOrEqual
func lessOrEqual(x : Nat64, y : Nat64) : Bool
The function lessOrEqual takes two Nat64 value and returns a Bool value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 2000;
let y : Nat64 = 2500;
Nat64.lessOrEqual(x, y);
Nat64.greater
func greater(x : Nat64, y : Nat64) : Bool
The function greater takes two Nat64 value and returns a Bool value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 2000;
let y : Nat64 = 1000;
Nat64.greater(x, y);
Nat64.greaterOrEqual
func greaterOrEqual(x : Nat64, y : Nat64) : Bool
The function greaterOrEqual takes two Nat64 value and returns a Bool value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 2000;
let y : Nat64 = 1000;
Nat64.greaterOrEqual(x, y);
Nat64.compare
func compare(x : Nat64, y : Nat64) : Bool
The function compare takes two Nat64 value and returns an Order variant value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 10000;
let y : Nat64 = 9999;
Nat64.compare(x, y);
Nat64.add
func add(x : Nat64, y : Nat64) : Nat64
The function add takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 2000;
let y : Nat64 = 1200;
Nat64.add(x, y);
Nat64.sub
func sub(x : Nat64, y : Nat64) : Nat64
The function sub takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 4000;
let y : Nat64 = 3999;
Nat64.sub(x, y);
Nat64.mul
func mul(x : Nat64, y : Nat64) : Nat64
The function mul takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 200;
let y : Nat64 = 50;
Nat64.mul(x, y);
Nat64.div
func div(x : Nat64, y : Nat64) : Nat64
The function div takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 5000;
let y : Nat64 = 500;
Nat64.div(x, y);
Nat64.rem
func rem(x : Nat64, y : Nat64) : Nat64
The function rem takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 4000;
let y : Nat64 = 1200;
Nat64.rem(x, y);
Nat64.pow
func pow(x : Nat64, y : Nat64) : Nat64
The function pow takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 10;
let y : Nat64 = 5;
Nat64.pow(x, y);
Nat64.bitnot
func bitnot(x : Nat64) : Nat64
The function bitnot takes one Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 18_446_744_073_709_551_360;
Nat64.bitnot(x)
Nat64.bitand
func bitand(x : Nat64, y : Nat64) : Nat64
The function bitand takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 4294967295;
let y : Nat64 = 255;
Nat64.bitand(x, y)
Nat64.bitor
func bitor(x : Nat64, y : Nat64) : Nat64
The function bitor takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 240;
let y : Nat64 = 15;
Nat64.bitor(x, y)
Nat64.bitxor
func bitxor(x : Nat64, y : Nat64) : Nat64
The function bitxor takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 255;
let y : Nat64 = 240;
Nat64.bitxor(x, y)
Nat64.bitshiftLeft
func bitshiftLeft(x : Nat64, y : Nat64) : Nat64
The function bitshiftLeft takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 15;
let y : Nat64 = 4;
Nat64.bitshiftLeft(x, y)
Nat64.bitshiftRight
func bitshiftRight(x : Nat64, y : Nat64) : Nat64
The function bitshiftRight takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 240;
let y : Nat64 = 4;
Nat64.bitshiftRight(x, y)
Nat64.bitrotLeft
func bitrotLeft(x : Nat64, y : Nat64) : Nat64
The function bitrotLeft takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 4_278_190_080;
let y : Nat64 = 8;
Nat64.bitrotLeft(x, y)
Nat64.bitrotRight
func bitrotRight(x : Nat64, y : Nat64) : Nat64
The function bitrotRight takes two Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 255;
let y : Nat64 = 8;
Nat64.bitrotRight(x, y)
Nat64.bittest
func bittest(x : Nat64, p : Nat) : Bool
The function bittest takes one Nat64 and one Nat value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 255;
let p : Nat = 7;
Nat64.bittest(x, p)
Nat64.bitset
func bitset(x : Nat64, p : Nat) : Bool
The function bitset takes one Nat64 and one Nat value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 127;
let p : Nat = 7;
Nat64.bitset(x, p)
Nat64.bitclear
func bitclear(x : Nat64, p : Nat) : Bool
The function bitclear takes one Nat64 and one Nat value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 255;
let p : Nat = 7;
Nat64.bitclear(x, p)
Nat64.bitflip
func bitflip(x : Nat64, p : Nat) : Bool
The function bitflip takes one Nat64 and one Nat value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 255;
let p : Nat = 7;
Nat64.bitflip(x, p)
Nat64.bitcountNonZero
let bitcountNonZero : (x : Nat64) -> Nat64
The function bitcountNonZero takes one Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 255;
Nat64.bitcountNonZero(x)
Nat64.bitcountLeadingZero
let bitcountLeadingZero : (x : Nat64) -> Nat64
The function bitcountLeadingZero takes one Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 255;
Nat64.bitcountLeadingZero(x)
Nat64.bitcountTrailingZero
let bitcountTrailingZero : (x : Nat64) -> Nat64
The function bitcountTrailingZero takes one Nat64 value and returns a Nat64 value.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 128;
Nat64.bitcountTrailingZero(x)
Nat64.addWrap
func addWrap(x : Nat64, y : Nat64) : Nat64
The function addWrap takes two Nat64 value and returns a Nat64 value.It is equivalent to the +% Bitwise operators.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 18_446_744_073_709_551_615;
let y : Nat64 = 1;
Nat64.addWrap(x, y)
Nat64.subWrap
func subWrap(x : Nat64, y : Nat64) : Nat64
The function subWrap takes two Nat64 value and returns a Nat64 value.It is equivalent to the -% Bitwise operators.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 0;
let y : Nat64 = 2;
Nat64.subWrap(x, y)
Nat64.mulWrap
func mulWrap(x : Nat64, y : Nat64) : Nat64
The function mulWrap takes two Nat64 value and returns a Nat64 value.It is equivalent to the *% Bitwise operators.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 4294967296;
let y : Nat64 = 4294967296;
Nat64.mulWrap(x, y)
Nat64.powWrap
func powWrap(x : Nat64, y : Nat64) : Nat64
The function powWrap takes two Nat64 value and returns a Nat64 value.It is equivalent to the **% Bitwise operators.
import Nat64 "mo:base/Nat64";
let x : Nat64 = 4294967296;
let y : Nat64 = 2;
Nat64.powWrap(x, y)