Header menu logo B2R2

BitVector Type

BitVector is the fundamental data type for binary code, which is essentially a bit vector. We want the size of a bit vector to be less than or equal to 64 bits because bigint operation is slow, and most arithmetics on modern architectures are in 64 bits any ways. For example, SIMD operations can also be divided into a set of 64-bit operations. N.B. Num becomes zero when the Length becomes greater than 64. We intentionally do not sync Num and BigNum.

Instance members

Instance member Description

this.Abs

Full Usage: this.Abs

Returns: BitVector
Modifiers: abstract

BitVector absolute value.

Returns: BitVector

this.Add

Full Usage: this.Add

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector addition.

arg0 : BitVector
Returns: BitVector

this.Add

Full Usage: this.Add

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector addition with uint64.

arg0 : uint64
Returns: BitVector

this.And

Full Usage: this.And

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector bitwise AND.

arg0 : BitVector
Returns: BitVector

this.And

Full Usage: this.And

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector bitwise AND with uint64.

arg0 : uint64
Returns: BitVector

this.ApproxEq

Full Usage: this.ApproxEq

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector approximate equal. For high-precision floating point numbers, this function performs approximate equality check.

arg0 : BitVector
Returns: BitVector

this.BigValue

Full Usage: this.BigValue

Returns: bigint
Modifiers: abstract

Return the BigInteger representation of the bitvector value.

Returns: bigint

this.Cast

Full Usage: this.Cast

Parameters:
Returns: BitVector
Modifiers: abstract

Type-cast a BitVector to another type. If the target type is bigger than the current type, then this works the same as ZExt.

arg0 : RegType
Returns: BitVector

this.Concat

Full Usage: this.Concat

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector concatenation.

arg0 : BitVector
Returns: BitVector

this.Div

Full Usage: this.Div

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector unsigned division.

arg0 : BitVector
Returns: BitVector

this.Div

Full Usage: this.Div

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector unsigned division with uint64.

arg0 : uint64
Returns: BitVector

this.Eq

Full Usage: this.Eq

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector equal.

arg0 : BitVector
Returns: BitVector

this.Extract

Full Usage: this.Extract

Parameters:
Returns: BitVector
Modifiers: abstract

Extract a sub-BitVector of size (RegType) starting from the index (int).

arg0 : RegType
arg1 : int
Returns: BitVector

this.FATan

Full Usage: this.FATan

Returns: BitVector
Modifiers: abstract

Floating point arc tangent.

Returns: BitVector

this.FAdd

Full Usage: this.FAdd

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point addition.

arg0 : BitVector
Returns: BitVector

this.FCast

Full Usage: this.FCast

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point casting.

arg0 : RegType
Returns: BitVector

this.FCos

Full Usage: this.FCos

Returns: BitVector
Modifiers: abstract

Floating point cosine.

Returns: BitVector

this.FDiv

Full Usage: this.FDiv

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point division.

arg0 : BitVector
Returns: BitVector

this.FGe

Full Usage: this.FGe

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point greater than or equal.

arg0 : BitVector
Returns: BitVector

this.FGt

Full Usage: this.FGt

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point greater than.

arg0 : BitVector
Returns: BitVector

this.FLe

Full Usage: this.FLe

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point less than or equal.

arg0 : BitVector
Returns: BitVector

this.FLog

Full Usage: this.FLog

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point logarithm.

arg0 : BitVector
Returns: BitVector

this.FLt

Full Usage: this.FLt

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point less than.

arg0 : BitVector
Returns: BitVector

this.FMul

Full Usage: this.FMul

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point multiplication.

arg0 : BitVector
Returns: BitVector

this.FPow

Full Usage: this.FPow

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point power.

arg0 : BitVector
Returns: BitVector

this.FSin

Full Usage: this.FSin

Returns: BitVector
Modifiers: abstract

Floating point sine.

Returns: BitVector

this.FSqrt

Full Usage: this.FSqrt

Returns: BitVector
Modifiers: abstract

Floating point square root.

Returns: BitVector

this.FSub

Full Usage: this.FSub

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point subtraction.

arg0 : BitVector
Returns: BitVector

this.FTan

Full Usage: this.FTan

Returns: BitVector
Modifiers: abstract

Floating point tangent.

Returns: BitVector

this.FtoiCeil

Full Usage: this.FtoiCeil

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point to integer conversion with ceiling.

arg0 : RegType
Returns: BitVector

this.FtoiFloor

Full Usage: this.FtoiFloor

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point to integer conversion with flooring.

arg0 : RegType
Returns: BitVector

this.FtoiRound

Full Usage: this.FtoiRound

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point to integer conversion with rounding.

arg0 : RegType
Returns: BitVector

this.FtoiTrunc

Full Usage: this.FtoiTrunc

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point to integer conversion with truncation.

arg0 : RegType
Returns: BitVector

this.Ge

Full Usage: this.Ge

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector unsigned greater than or equal.

arg0 : BitVector
Returns: BitVector

this.Gt

Full Usage: this.Gt

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector unsigned greater than.

arg0 : BitVector
Returns: BitVector

this.IsNegative

Full Usage: this.IsNegative

Returns: bool
Modifiers: abstract

Is this bitvector representing a negative number?

Returns: bool

this.IsOne

Full Usage: this.IsOne

Returns: bool
Modifiers: abstract

Return true if the value is one.

Returns: bool

this.IsPositive

Full Usage: this.IsPositive

Returns: bool
Modifiers: abstract

Is this bitvector representing a positive number?

Returns: bool

this.IsZero

Full Usage: this.IsZero

Returns: bool
Modifiers: abstract

Return true if the value is zero.

Returns: bool

this.Itof

Full Usage: this.Itof

Parameters:
Returns: BitVector
Modifiers: abstract

Integer to float conversion.

arg0 : RegType
arg1 : bool
Returns: BitVector

this.Le

Full Usage: this.Le

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector unsigned less than or equal.

arg0 : BitVector
Returns: BitVector

this.Length

Full Usage: this.Length

Returns: RegType

BitVector length.

Returns: RegType

this.Lt

Full Usage: this.Lt

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector unsigned less than.

arg0 : BitVector
Returns: BitVector

this.Mod

Full Usage: this.Mod

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector unsigned modulo.

arg0 : BitVector
Returns: BitVector

this.Mod

Full Usage: this.Mod

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector unsigned modulo with uint64.

arg0 : uint64
Returns: BitVector

this.Mul

Full Usage: this.Mul

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector multiplication.

arg0 : BitVector
Returns: BitVector

this.Mul

Full Usage: this.Mul

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector multiplication with uint64.

arg0 : uint64
Returns: BitVector

this.Neg

Full Usage: this.Neg

Returns: BitVector
Modifiers: abstract

BitVector unary negation.

Returns: BitVector

this.Neq

Full Usage: this.Neq

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector not equal.

arg0 : BitVector
Returns: BitVector

this.Not

Full Usage: this.Not

Returns: BitVector
Modifiers: abstract

BitVector bitwise NOT.

Returns: BitVector

this.Or

Full Usage: this.Or

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector bitwise OR.

arg0 : BitVector
Returns: BitVector

this.Or

Full Usage: this.Or

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector bitwise OR with uint64.

arg0 : uint64
Returns: BitVector

this.SDiv

Full Usage: this.SDiv

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector signed division.

arg0 : BitVector
Returns: BitVector

this.SExt

Full Usage: this.SExt

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector sign-extension.

arg0 : RegType
Returns: BitVector

this.SGe

Full Usage: this.SGe

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector signed greater than or equal.

arg0 : BitVector
Returns: BitVector

this.SGt

Full Usage: this.SGt

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector signed greater than.

arg0 : BitVector
Returns: BitVector

this.SLe

Full Usage: this.SLe

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector signed less than or equal.

arg0 : BitVector
Returns: BitVector

this.SLt

Full Usage: this.SLt

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector signed less than.

arg0 : BitVector
Returns: BitVector

this.SMod

Full Usage: this.SMod

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector signed modulo.

arg0 : BitVector
Returns: BitVector

this.Sar

Full Usage: this.Sar

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector arithmetic shift-right.

arg0 : BitVector
Returns: BitVector

this.Shl

Full Usage: this.Shl

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector logical shift-left.

arg0 : BitVector
Returns: BitVector

this.Shr

Full Usage: this.Shr

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector logical shift-right.

arg0 : BitVector
Returns: BitVector

this.SmallValue

Full Usage: this.SmallValue

Returns: uint64
Modifiers: abstract

Return the uint64 representation of the bitvector value.

Returns: uint64

this.Sub

Full Usage: this.Sub

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector subtraction.

arg0 : BitVector
Returns: BitVector

this.Sub

Full Usage: this.Sub

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector subtraction with uint64.

arg0 : uint64
Returns: BitVector

this.ValToString

Full Usage: this.ValToString

Returns: string
Modifiers: abstract

Return the string representation of the BitVector value. Type is not appended to the output string.

Returns: string

this.Xor

Full Usage: this.Xor

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector bitwise XOR.

arg0 : BitVector
Returns: BitVector

this.Xor

Full Usage: this.Xor

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector bitwise XOR with uint64.

arg0 : uint64
Returns: BitVector

this.ZExt

Full Usage: this.ZExt

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector zero-extension.

arg0 : RegType
Returns: BitVector

Static members

Static member Description

v1 % v2

Full Usage: v1 % v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector unsigned modulo.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 % v2

Full Usage: v1 % v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector modulo.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 &&& v2

Full Usage: v1 &&& v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector bitwise AND.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 &&& v2

Full Usage: v1 &&& v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector bitwise AND.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 * v2

Full Usage: v1 * v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector multiplication.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 * v2

Full Usage: v1 * v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector multiplication.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 + v2

Full Usage: v1 + v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector addition.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 + v2

Full Usage: v1 + v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector addition.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 - v2

Full Usage: v1 - v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector subtraction.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 - v2

Full Usage: v1 - v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector subtraction.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 / v2

Full Usage: v1 / v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector unsigned division.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 / v2

Full Usage: v1 / v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector division.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 ?% v2

Full Usage: v1 ?% v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector signed modulo.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 ?/ v2

Full Usage: v1 ?/ v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector signed division.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 ^^^ v2

Full Usage: v1 ^^^ v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector bitwise XOR.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 ^^^ v2

Full Usage: v1 ^^^ v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector bitwise XOR.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 ||| v2

Full Usage: v1 ||| v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector bitwise OR.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 ||| v2

Full Usage: v1 ||| v2

Parameters:
Returns: BitVector
Modifiers: inline

BitVector bitwise OR.

v1 : BitVector
v2 : uint64
Returns: BitVector

~-v1

Full Usage: ~-v1

Parameters:
Returns: BitVector
Modifiers: inline

BitVector negation.

v1 : BitVector
Returns: BitVector

~~~v1

Full Usage: ~~~v1

Parameters:
Returns: BitVector
Modifiers: inline

BitVector bitwise not.

v1 : BitVector
Returns: BitVector

BitVector.Abs(v1)

Full Usage: BitVector.Abs(v1)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector absolute value.

v1 : BitVector
Returns: BitVector

BitVector.Add(v1, v2)

Full Usage: BitVector.Add(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector addition.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.BAnd(v1, v2)

Full Usage: BitVector.BAnd(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector bitwise AND.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.BNot(v1)

Full Usage: BitVector.BNot(v1)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector bitwise NOT.

v1 : BitVector
Returns: BitVector

BitVector.BOr(v1, v2)

Full Usage: BitVector.BOr(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector bitwise OR.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.BXor(v1, v2)

Full Usage: BitVector.BXor(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector bitwise XOR.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.Cast(v1, targetLen)

Full Usage: BitVector.Cast(v1, targetLen)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector type cast.

v1 : BitVector
targetLen : RegType
Returns: BitVector

BitVector.Concat(v1, v2)

Full Usage: BitVector.Concat(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector concatenation.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.Div(v1, v2)

Full Usage: BitVector.Div(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector unsigned division.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.Eq(v1, v2)

Full Usage: BitVector.Eq(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector equal.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.Extract(v1, rt, pos)

Full Usage: BitVector.Extract(v1, rt, pos)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector extraction.

v1 : BitVector
rt : RegType
pos : int
Returns: BitVector

BitVector.F

Full Usage: BitVector.F

Returns: BitVector

False value.

Returns: BitVector

BitVector.FAdd(v1, v2)

Full Usage: BitVector.FAdd(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector floating point addition.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.FAtan(v1)

Full Usage: BitVector.FAtan(v1)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector arc tangent.

v1 : BitVector
Returns: BitVector

BitVector.FCast(v1, rt)

Full Usage: BitVector.FCast(v1, rt)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector floating point casting.

v1 : BitVector
rt : RegType
Returns: BitVector

BitVector.FCos(v1)

Full Usage: BitVector.FCos(v1)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector cosine.

v1 : BitVector
Returns: BitVector

BitVector.FDiv(v1, v2)

Full Usage: BitVector.FDiv(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector floating point division.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.FGe(v1, v2)

Full Usage: BitVector.FGe(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector floating point greater than or equal.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.FGt(v1, v2)

Full Usage: BitVector.FGt(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector floating point greater than.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.FLe(v1, v2)

Full Usage: BitVector.FLe(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector floating point less than or equal.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.FLog(v1, v2)

Full Usage: BitVector.FLog(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector floating point logarithm.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.FLt(v1, v2)

Full Usage: BitVector.FLt(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector floating point less than.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.FMul(v1, v2)

Full Usage: BitVector.FMul(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector floating point multiplication.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.FPow(v1, v2)

Full Usage: BitVector.FPow(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector floating point power.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.FSin(v1)

Full Usage: BitVector.FSin(v1)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector sine.

v1 : BitVector
Returns: BitVector

BitVector.FSqrt(v1)

Full Usage: BitVector.FSqrt(v1)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector square root.

v1 : BitVector
Returns: BitVector

BitVector.FSub(v1, v2)

Full Usage: BitVector.FSub(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector floating point subtraction.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.FTan(v1)

Full Usage: BitVector.FTan(v1)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector tangent.

v1 : BitVector
Returns: BitVector

BitVector.FtoiCeil(v1, rt)

Full Usage: BitVector.FtoiCeil(v1, rt)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector float to integer conversion with ceiling.

v1 : BitVector
rt : RegType
Returns: BitVector

BitVector.FtoiFloor(v1, rt)

Full Usage: BitVector.FtoiFloor(v1, rt)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector float to integer conversion with flooring.

v1 : BitVector
rt : RegType
Returns: BitVector

BitVector.FtoiRound(v1, rt)

Full Usage: BitVector.FtoiRound(v1, rt)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector float to integer conversion with round.

v1 : BitVector
rt : RegType
Returns: BitVector

BitVector.FtoiTrunc(v1, rt)

Full Usage: BitVector.FtoiTrunc(v1, rt)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector float to integer conversion with truncation.

v1 : BitVector
rt : RegType
Returns: BitVector

BitVector.Ge(v1, v2)

Full Usage: BitVector.Ge(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector greater than or equal.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.GetType(bv)

Full Usage: BitVector.GetType(bv)

Parameters:
Returns: RegType

Get the type (length of the BitVector).

bv : BitVector
Returns: RegType

BitVector.GetValue(bv)

Full Usage: BitVector.GetValue(bv)

Parameters:
Returns: bigint

Get a numeric value (bigint) from a BitVector.

bv : BitVector
Returns: bigint

BitVector.Gt(v1, v2)

Full Usage: BitVector.Gt(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector greater than.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.IsFalse(bv)

Full Usage: BitVector.IsFalse(bv)

Parameters:
Returns: bool

Check if the given BitVector is "false".

bv : BitVector
Returns: bool

BitVector.IsNegative(bv)

Full Usage: BitVector.IsNegative(bv)

Parameters:
Returns: bool

Is the bitvector negative?

bv : BitVector
Returns: bool

BitVector.IsNum(bv) (n)

Full Usage: BitVector.IsNum(bv) (n)

Parameters:
Returns: bool

Check if the given BitVector represents the specified number.

bv : BitVector
n : uint64
Returns: bool

BitVector.IsOne(bv)

Full Usage: BitVector.IsOne(bv)

Parameters:
Returns: bool

Check if the given BitVector is one.

bv : BitVector
Returns: bool

BitVector.IsPositive(bv)

Full Usage: BitVector.IsPositive(bv)

Parameters:
Returns: bool

Is the bitvector positive?

bv : BitVector
Returns: bool

BitVector.IsSignedMax(bv)

Full Usage: BitVector.IsSignedMax(bv)

Parameters:
Returns: bool

Does the bitvector represent a signed max value?

bv : BitVector
Returns: bool

BitVector.IsSignedMin(bv)

Full Usage: BitVector.IsSignedMin(bv)

Parameters:
Returns: bool

Does the bitvector represent a signed min value?

bv : BitVector
Returns: bool

BitVector.IsTrue(bv)

Full Usage: BitVector.IsTrue(bv)

Parameters:
Returns: bool

Check if the given BitVector is "true".

bv : BitVector
Returns: bool

BitVector.IsUnsignedMax(bv)

Full Usage: BitVector.IsUnsignedMax(bv)

Parameters:
Returns: bool

Does the bitvector represent an unsigned max value?

bv : BitVector
Returns: bool

BitVector.IsZero(bv)

Full Usage: BitVector.IsZero(bv)

Parameters:
Returns: bool

Check if the given BitVector is zero.

bv : BitVector
Returns: bool

BitVector.Itof(v1, rt, isSigned)

Full Usage: BitVector.Itof(v1, rt, isSigned)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector integer to float conversion.

v1 : BitVector
rt : RegType
isSigned : bool
Returns: BitVector

BitVector.Le(v1, v2)

Full Usage: BitVector.Le(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector less than or equal.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.Lt(v1, v2)

Full Usage: BitVector.Lt(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector less than.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.Max(bv1, bv2)

Full Usage: BitVector.Max(bv1, bv2)

Parameters:
Returns: BitVector

Return a larger BitVector.

bv1 : BitVector
bv2 : BitVector
Returns: BitVector

BitVector.MaxUInt16

Full Usage: BitVector.MaxUInt16

Returns: BitVector

Bitvector of unsigned 16-bit maxvalue.

Returns: BitVector

BitVector.MaxUInt32

Full Usage: BitVector.MaxUInt32

Returns: BitVector

Bitvector of unsigned 32-bit maxvalue.

Returns: BitVector

BitVector.MaxUInt64

Full Usage: BitVector.MaxUInt64

Returns: BitVector

Bitvector of unsigned 64-bit maxvalue.

Returns: BitVector

BitVector.MaxUInt8

Full Usage: BitVector.MaxUInt8

Returns: BitVector

Bitvector of unsigned 8-bit maxvalue.

Returns: BitVector

BitVector.Min(bv1, bv2)

Full Usage: BitVector.Min(bv1, bv2)

Parameters:
Returns: BitVector

Return a smaller BitVector.

bv1 : BitVector
bv2 : BitVector
Returns: BitVector

BitVector.Modulo(v1, v2)

Full Usage: BitVector.Modulo(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector unsigned modulo.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.Mul(v1, v2)

Full Usage: BitVector.Mul(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector multiplication.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.Neg(v1)

Full Usage: BitVector.Neg(v1)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector negation.

v1 : BitVector
Returns: BitVector

BitVector.Neq(v1, v2)

Full Usage: BitVector.Neq(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector not equal.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.OfArr(arr)

Full Usage: BitVector.OfArr(arr)

Parameters:
    arr : byte[]

Returns: BitVector

Get a BitVector from a byte array (in little endian).

arr : byte[]
Returns: BitVector

BitVector.OfBInt(i) (typ)

Full Usage: BitVector.OfBInt(i) (typ)

Parameters:
Returns: BitVector

Get a BitVector from a bigint. We assume that the given RegType (typ) is big enough to hold the given bigint. Otherwise, the resulting BitVector may contain an unexpected value.

i : bigint
typ : int<MeasureProduct<rt, MeasureOne>>
Returns: BitVector

BitVector.OfInt32(i) (typ)

Full Usage: BitVector.OfInt32(i) (typ)

Parameters:
Returns: BitVector
Modifiers: inline

Get a BitVector from a signed integer.

i : int32
typ : int<MeasureProduct<rt, MeasureOne>>
Returns: BitVector

BitVector.OfInt64(i) (typ)

Full Usage: BitVector.OfInt64(i) (typ)

Parameters:
Returns: BitVector
Modifiers: inline

Get a BitVector from a signed integer.

i : int64
typ : int<MeasureProduct<rt, MeasureOne>>
Returns: BitVector

BitVector.OfUInt32(i) (typ)

Full Usage: BitVector.OfUInt32(i) (typ)

Parameters:
Returns: BitVector
Modifiers: inline

Get a BitVector from an unsigned integer.

i : uint32
typ : int<MeasureProduct<rt, MeasureOne>>
Returns: BitVector

BitVector.OfUInt64(i) (typ)

Full Usage: BitVector.OfUInt64(i) (typ)

Parameters:
Returns: BitVector
Modifiers: inline

Get a BitVector from an unsigned integer.

i : uint64
typ : int<MeasureProduct<rt, MeasureOne>>
Returns: BitVector

BitVector.One(t)

Full Usage: BitVector.One(t)

Parameters:
Returns: BitVector

Return one (1) of the given bit length.

t : int<MeasureProduct<rt, MeasureOne>>
Returns: BitVector

BitVector.SDiv(v1, v2)

Full Usage: BitVector.SDiv(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector signed division.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.SExt(v1, targetLen)

Full Usage: BitVector.SExt(v1, targetLen)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector sign-extension.

v1 : BitVector
targetLen : RegType
Returns: BitVector

BitVector.SGe(v1, v2)

Full Usage: BitVector.SGe(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector signed greater than or equal.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.SGt(v1, v2)

Full Usage: BitVector.SGt(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector signed greater than.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.SLe(v1, v2)

Full Usage: BitVector.SLe(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector signed less than or equal.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.SLt(v1, v2)

Full Usage: BitVector.SLt(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector signed less than.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.SMax(bv1, bv2)

Full Usage: BitVector.SMax(bv1, bv2)

Parameters:
Returns: BitVector

Return a larger BitVector (with signed comparison).

bv1 : BitVector
bv2 : BitVector
Returns: BitVector

BitVector.SMin(bv1, bv2)

Full Usage: BitVector.SMin(bv1, bv2)

Parameters:
Returns: BitVector

Return a smaller BitVector (with signed comparison).

bv1 : BitVector
bv2 : BitVector
Returns: BitVector

BitVector.SModulo(v1, v2)

Full Usage: BitVector.SModulo(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector signed modulo.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.Sar(v1, v2)

Full Usage: BitVector.Sar(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector arithmetic shift-right.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.Shl(v1, v2)

Full Usage: BitVector.Shl(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector logical shift-left.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.Shr(v1, v2)

Full Usage: BitVector.Shr(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector logical shift-right.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.SignedMax(rt)

Full Usage: BitVector.SignedMax(rt)

Parameters:
Returns: BitVector

BitVector representing a signed maximum integer for the given RegType.

rt : int<MeasureProduct<rt, MeasureOne>>
Returns: BitVector

BitVector.SignedMin(rt)

Full Usage: BitVector.SignedMin(rt)

Parameters:
Returns: BitVector

BitVector representing a signed minimum integer for the given RegType.

rt : int<MeasureProduct<rt, MeasureOne>>
Returns: BitVector

BitVector.Sub(v1, v2)

Full Usage: BitVector.Sub(v1, v2)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector subtraction.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.T

Full Usage: BitVector.T

Returns: BitVector

True value.

Returns: BitVector

BitVector.ToInt32(bv)

Full Usage: BitVector.ToInt32(bv)

Parameters:
Returns: int32

Get an int32 value from a BitVector.

bv : BitVector
Returns: int32

BitVector.ToInt64(bv)

Full Usage: BitVector.ToInt64(bv)

Parameters:
Returns: int64

Get an int64 value from a BitVector.

bv : BitVector
Returns: int64

BitVector.ToString(n)

Full Usage: BitVector.ToString(n)

Parameters:
Returns: string

Get the string representation of a BitVector.

n : BitVector
Returns: string

BitVector.ToUInt32(bv)

Full Usage: BitVector.ToUInt32(bv)

Parameters:
Returns: uint32

Get a uint32 value from a BitVector.

bv : BitVector
Returns: uint32

BitVector.ToUInt64(bv)

Full Usage: BitVector.ToUInt64(bv)

Parameters:
Returns: uint64

Get a uint64 value from a BitVector.

bv : BitVector
Returns: uint64

BitVector.UnsignedMax(rt)

Full Usage: BitVector.UnsignedMax(rt)

Parameters:
Returns: BitVector

BitVector representing a unsigned maximum integer for the given RegType.

rt : int<MeasureProduct<rt, MeasureOne>>
Returns: BitVector

BitVector.UnsignedMin(rt)

Full Usage: BitVector.UnsignedMin(rt)

Parameters:
Returns: BitVector

BitVector representing a unsigned minimum integer for the given RegType.

rt : int<MeasureProduct<rt, MeasureOne>>
Returns: BitVector

BitVector.ValToString(n)

Full Usage: BitVector.ValToString(n)

Parameters:
Returns: string

Get the string representation of a BitVector without appended type info.

n : BitVector
Returns: string

BitVector.ZExt(v1, targetLen)

Full Usage: BitVector.ZExt(v1, targetLen)

Parameters:
Returns: BitVector
Modifiers: inline

BitVector zero-extension.

v1 : BitVector
targetLen : RegType
Returns: BitVector

BitVector.Zero(t)

Full Usage: BitVector.Zero(t)

Parameters:
Returns: BitVector

Return zero (0) of the given bit length.

t : int<MeasureProduct<rt, MeasureOne>>
Returns: BitVector

Type something to start searching.