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(arg1)

Full Usage: this.Add(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector addition.

arg0 : BitVector
Returns: BitVector

this.Add(arg1)

Full Usage: this.Add(arg1)

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector addition with uint64.

arg0 : uint64
Returns: BitVector

this.And(arg1)

Full Usage: this.And(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector bitwise AND.

arg0 : BitVector
Returns: BitVector

this.And(arg1)

Full Usage: this.And(arg1)

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector bitwise AND with uint64.

arg0 : uint64
Returns: BitVector

this.ApproxEq(arg1)

Full Usage: this.ApproxEq(arg1)

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(arg1)

Full Usage: this.Cast(arg1)

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(arg1)

Full Usage: this.Concat(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector concatenation.

arg0 : BitVector
Returns: BitVector

this.Div(arg1)

Full Usage: this.Div(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector unsigned division.

arg0 : BitVector
Returns: BitVector

this.Div(arg1)

Full Usage: this.Div(arg1)

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector unsigned division with uint64.

arg0 : uint64
Returns: BitVector

this.Eq(arg1)

Full Usage: this.Eq(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector equal.

arg0 : BitVector
Returns: BitVector

this.Extract(arg1) (arg2)

Full Usage: this.Extract(arg1) (arg2)

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(arg1)

Full Usage: this.FAdd(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point addition.

arg0 : BitVector
Returns: BitVector

this.FCast(arg1)

Full Usage: this.FCast(arg1)

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(arg1)

Full Usage: this.FDiv(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point division.

arg0 : BitVector
Returns: BitVector

this.FGe(arg1)

Full Usage: this.FGe(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point greater than or equal.

arg0 : BitVector
Returns: BitVector

this.FGt(arg1)

Full Usage: this.FGt(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point greater than.

arg0 : BitVector
Returns: BitVector

this.FLe(arg1)

Full Usage: this.FLe(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point less than or equal.

arg0 : BitVector
Returns: BitVector

this.FLog(arg1)

Full Usage: this.FLog(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point logarithm.

arg0 : BitVector
Returns: BitVector

this.FLt(arg1)

Full Usage: this.FLt(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point less than.

arg0 : BitVector
Returns: BitVector

this.FMul(arg1)

Full Usage: this.FMul(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point multiplication.

arg0 : BitVector
Returns: BitVector

this.FPow(arg1)

Full Usage: this.FPow(arg1)

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(arg1)

Full Usage: this.FSub(arg1)

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(arg1)

Full Usage: this.FtoiCeil(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point to integer conversion with ceiling.

arg0 : RegType
Returns: BitVector

this.FtoiFloor(arg1)

Full Usage: this.FtoiFloor(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point to integer conversion with flooring.

arg0 : RegType
Returns: BitVector

this.FtoiRound(arg1)

Full Usage: this.FtoiRound(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point to integer conversion with rounding.

arg0 : RegType
Returns: BitVector

this.FtoiTrunc(arg1)

Full Usage: this.FtoiTrunc(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Floating point to integer conversion with truncation.

arg0 : RegType
Returns: BitVector

this.Ge(arg1)

Full Usage: this.Ge(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector unsigned greater than or equal.

arg0 : BitVector
Returns: BitVector

this.Gt(arg1)

Full Usage: this.Gt(arg1)

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(arg1)

Full Usage: this.Itof(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

Integer to float conversion.

arg0 : RegType
Returns: BitVector

this.Le(arg1)

Full Usage: this.Le(arg1)

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(arg1)

Full Usage: this.Lt(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector unsigned less than.

arg0 : BitVector
Returns: BitVector

this.Mod(arg1)

Full Usage: this.Mod(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector unsigned modulo.

arg0 : BitVector
Returns: BitVector

this.Mod(arg1)

Full Usage: this.Mod(arg1)

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector unsigned modulo with uint64.

arg0 : uint64
Returns: BitVector

this.Mul(arg1)

Full Usage: this.Mul(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector multiplication.

arg0 : BitVector
Returns: BitVector

this.Mul(arg1)

Full Usage: this.Mul(arg1)

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(arg1)

Full Usage: this.Neq(arg1)

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(arg1)

Full Usage: this.Or(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector bitwise OR.

arg0 : BitVector
Returns: BitVector

this.Or(arg1)

Full Usage: this.Or(arg1)

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector bitwise OR with uint64.

arg0 : uint64
Returns: BitVector

this.SDiv(arg1)

Full Usage: this.SDiv(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector signed division.

arg0 : BitVector
Returns: BitVector

this.SExt(arg1)

Full Usage: this.SExt(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector sign-extension.

arg0 : RegType
Returns: BitVector

this.SGe(arg1)

Full Usage: this.SGe(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector signed greater than or equal.

arg0 : BitVector
Returns: BitVector

this.SGt(arg1)

Full Usage: this.SGt(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector signed greater than.

arg0 : BitVector
Returns: BitVector

this.SLe(arg1)

Full Usage: this.SLe(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector signed less than or equal.

arg0 : BitVector
Returns: BitVector

this.SLt(arg1)

Full Usage: this.SLt(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector signed less than.

arg0 : BitVector
Returns: BitVector

this.SMod(arg1)

Full Usage: this.SMod(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector signed modulo.

arg0 : BitVector
Returns: BitVector

this.Sar(arg1)

Full Usage: this.Sar(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector arithmetic shift-right.

arg0 : BitVector
Returns: BitVector

this.Shl(arg1)

Full Usage: this.Shl(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector logical shift-left.

arg0 : BitVector
Returns: BitVector

this.Shr(arg1)

Full Usage: this.Shr(arg1)

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(arg1)

Full Usage: this.Sub(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector subtraction.

arg0 : BitVector
Returns: BitVector

this.Sub(arg1)

Full Usage: this.Sub(arg1)

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(arg1)

Full Usage: this.Xor(arg1)

Parameters:
Returns: BitVector
Modifiers: abstract

BitVector bitwise XOR.

arg0 : BitVector
Returns: BitVector

this.Xor(arg1)

Full Usage: this.Xor(arg1)

Parameters:
    arg0 : uint64

Returns: BitVector
Modifiers: abstract

BitVector bitwise XOR with uint64.

arg0 : uint64
Returns: BitVector

this.ZExt(arg1)

Full Usage: this.ZExt(arg1)

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

BitVector unsigned modulo.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 % v2

Full Usage: v1 % v2

Parameters:
Returns: BitVector

BitVector modulo.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 &&& v2

Full Usage: v1 &&& v2

Parameters:
Returns: BitVector

BitVector bitwise AND.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 &&& v2

Full Usage: v1 &&& v2

Parameters:
Returns: BitVector

BitVector bitwise AND.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 * v2

Full Usage: v1 * v2

Parameters:
Returns: BitVector

BitVector multiplication.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 * v2

Full Usage: v1 * v2

Parameters:
Returns: BitVector

BitVector multiplication.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 + v2

Full Usage: v1 + v2

Parameters:
Returns: BitVector

BitVector addition.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 + v2

Full Usage: v1 + v2

Parameters:
Returns: BitVector

BitVector addition.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 - v2

Full Usage: v1 - v2

Parameters:
Returns: BitVector

BitVector subtraction.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 - v2

Full Usage: v1 - v2

Parameters:
Returns: BitVector

BitVector subtraction.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 / v2

Full Usage: v1 / v2

Parameters:
Returns: BitVector

BitVector unsigned division.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 / v2

Full Usage: v1 / v2

Parameters:
Returns: BitVector

BitVector division.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 ?% v2

Full Usage: v1 ?% v2

Parameters:
Returns: BitVector

BitVector signed modulo.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 ?/ v2

Full Usage: v1 ?/ v2

Parameters:
Returns: BitVector

BitVector signed division.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 ^^^ v2

Full Usage: v1 ^^^ v2

Parameters:
Returns: BitVector

BitVector bitwise XOR.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 ^^^ v2

Full Usage: v1 ^^^ v2

Parameters:
Returns: BitVector

BitVector bitwise XOR.

v1 : BitVector
v2 : uint64
Returns: BitVector

v1 ||| v2

Full Usage: v1 ||| v2

Parameters:
Returns: BitVector

BitVector bitwise OR.

v1 : BitVector
v2 : BitVector
Returns: BitVector

v1 ||| v2

Full Usage: v1 ||| v2

Parameters:
Returns: BitVector

BitVector bitwise OR.

v1 : BitVector
v2 : uint64
Returns: BitVector

~-v1

Full Usage: ~-v1

Parameters:
Returns: BitVector

BitVector negation.

v1 : BitVector
Returns: BitVector

~~~v1

Full Usage: ~~~v1

Parameters:
Returns: BitVector

BitVector bitwise not.

v1 : BitVector
Returns: BitVector

BitVector.F

Full Usage: BitVector.F

Returns: BitVector

False value.

Returns: BitVector

BitVector.T

Full Usage: BitVector.T

Returns: BitVector

True value.

Returns: BitVector

BitVector.abs v1

Full Usage: BitVector.abs v1

Parameters:
Returns: BitVector

BitVector absolute value.

v1 : BitVector
Returns: BitVector

BitVector.add v1 v2

Full Usage: BitVector.add v1 v2

Parameters:
Returns: BitVector

BitVector addition.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.band v1 v2

Full Usage: BitVector.band v1 v2

Parameters:
Returns: BitVector

BitVector bitwise AND.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.bnot v1

Full Usage: BitVector.bnot v1

Parameters:
Returns: BitVector

BitVector bitwise NOT.

v1 : BitVector
Returns: BitVector

BitVector.bor v1 v2

Full Usage: BitVector.bor v1 v2

Parameters:
Returns: BitVector

BitVector bitwise OR.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.bxor v1 v2

Full Usage: BitVector.bxor v1 v2

Parameters:
Returns: BitVector

BitVector bitwise XOR.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.cast v1 targetLen

Full Usage: BitVector.cast v1 targetLen

Parameters:
Returns: BitVector

BitVector type cast.

v1 : BitVector
targetLen : RegType
Returns: BitVector

BitVector.concat v1 v2

Full Usage: BitVector.concat v1 v2

Parameters:
Returns: BitVector

BitVector concatenation.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.div v1 v2

Full Usage: BitVector.div v1 v2

Parameters:
Returns: BitVector

BitVector unsigned division.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.eq v1 v2

Full Usage: BitVector.eq v1 v2

Parameters:
Returns: BitVector

BitVector equal.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.extract v1 rt pos

Full Usage: BitVector.extract v1 rt pos

Parameters:
Returns: BitVector

BitVector extraction.

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

BitVector.fadd v1 v2

Full Usage: BitVector.fadd v1 v2

Parameters:
Returns: BitVector

BitVector floating point addition.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.fatan v1

Full Usage: BitVector.fatan v1

Parameters:
Returns: BitVector

BitVector arc tangent.

v1 : BitVector
Returns: BitVector

BitVector.fcast v1 rt

Full Usage: BitVector.fcast v1 rt

Parameters:
Returns: BitVector

BitVector floating point casting.

v1 : BitVector
rt : RegType
Returns: BitVector

BitVector.fcos v1

Full Usage: BitVector.fcos v1

Parameters:
Returns: BitVector

BitVector cosine.

v1 : BitVector
Returns: BitVector

BitVector.fdiv v1 v2

Full Usage: BitVector.fdiv v1 v2

Parameters:
Returns: BitVector

BitVector floating point division.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.fge v1 v2

Full Usage: BitVector.fge v1 v2

Parameters:
Returns: BitVector

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

BitVector floating point greater than.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.fle v1 v2

Full Usage: BitVector.fle v1 v2

Parameters:
Returns: BitVector

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

BitVector floating point logarithm.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.flt v1 v2

Full Usage: BitVector.flt v1 v2

Parameters:
Returns: BitVector

BitVector floating point less than.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.fmul v1 v2

Full Usage: BitVector.fmul v1 v2

Parameters:
Returns: BitVector

BitVector floating point multiplication.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.fpow v1 v2

Full Usage: BitVector.fpow v1 v2

Parameters:
Returns: BitVector

BitVector floating point power.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.fsin v1

Full Usage: BitVector.fsin v1

Parameters:
Returns: BitVector

BitVector sine.

v1 : BitVector
Returns: BitVector

BitVector.fsqrt v1

Full Usage: BitVector.fsqrt v1

Parameters:
Returns: BitVector

BitVector square root.

v1 : BitVector
Returns: BitVector

BitVector.fsub v1 v2

Full Usage: BitVector.fsub v1 v2

Parameters:
Returns: BitVector

BitVector floating point subtraction.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.ftan v1

Full Usage: BitVector.ftan v1

Parameters:
Returns: BitVector

BitVector tangent.

v1 : BitVector
Returns: BitVector

BitVector.ftoiceil v1 rt

Full Usage: BitVector.ftoiceil v1 rt

Parameters:
Returns: BitVector

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

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

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

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

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

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

Full Usage: BitVector.itof v1 rt

Parameters:
Returns: BitVector

BitVector integer to float conversion.

v1 : BitVector
rt : RegType
Returns: BitVector

BitVector.le v1 v2

Full Usage: BitVector.le v1 v2

Parameters:
Returns: BitVector

BitVector less than or equal.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.lt v1 v2

Full Usage: BitVector.lt v1 v2

Parameters:
Returns: BitVector

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

BitVector unsigned modulo.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.mul v1 v2

Full Usage: BitVector.mul v1 v2

Parameters:
Returns: BitVector

BitVector multiplication.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.neg v1

Full Usage: BitVector.neg v1

Parameters:
Returns: BitVector

BitVector negation.

v1 : BitVector
Returns: BitVector

BitVector.neq v1 v2

Full Usage: BitVector.neq v1 v2

Parameters:
Returns: BitVector

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

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

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

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

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.sar v1 v2

Full Usage: BitVector.sar v1 v2

Parameters:
Returns: BitVector

BitVector arithmetic shift-right.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.sdiv v1 v2

Full Usage: BitVector.sdiv v1 v2

Parameters:
Returns: BitVector

BitVector signed division.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.sext v1 targetLen

Full Usage: BitVector.sext v1 targetLen

Parameters:
Returns: BitVector

BitVector sign-extension.

v1 : BitVector
targetLen : RegType
Returns: BitVector

BitVector.sge v1 v2

Full Usage: BitVector.sge v1 v2

Parameters:
Returns: BitVector

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

BitVector signed greater than.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.shl v1 v2

Full Usage: BitVector.shl v1 v2

Parameters:
Returns: BitVector

BitVector logical shift-left.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.shr v1 v2

Full Usage: BitVector.shr v1 v2

Parameters:
Returns: BitVector

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.sle v1 v2

Full Usage: BitVector.sle v1 v2

Parameters:
Returns: BitVector

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

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

BitVector signed modulo.

v1 : BitVector
v2 : BitVector
Returns: BitVector

BitVector.sub v1 v2

Full Usage: BitVector.sub v1 v2

Parameters:
Returns: BitVector

BitVector subtraction.

v1 : BitVector
v2 : BitVector
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.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

BitVector.zext v1 targetLen

Full Usage: BitVector.zext v1 targetLen

Parameters:
Returns: BitVector

BitVector zero-extension.

v1 : BitVector
targetLen : RegType
Returns: BitVector