Header menu logo Nu

Branchless Type

Provides operators for branchless programming. NOTE: implemented in terms of a static class to enable overloading.

Constructors

Constructor Description

Branchless()

Full Usage: Branchless()

Returns: Branchless
Returns: Branchless

Static members

Static member Description

Branchless.boolToInt bool

Full Usage: Branchless.boolToInt bool

Parameters:
    bool : bool

Returns: int
Modifiers: inline

Convert a bool as an int without branching.

bool : bool
Returns: int

Branchless.boolToInt64 bool

Full Usage: Branchless.boolToInt64 bool

Parameters:
    bool : bool

Returns: int64
Modifiers: inline

Convert a bool as an int64 without branching.

bool : bool
Returns: int64

Branchless.int64ToBool int64

Full Usage: Branchless.int64ToBool int64

Parameters:
    int64 : int64

Returns: bool
Modifiers: inline

Convert an int64 as a bool without branching.

int64 : int64
Returns: bool

Branchless.intToBool int

Full Usage: Branchless.intToBool int

Parameters:
    int : int

Returns: bool
Modifiers: inline

Convert an int as a bool without branching.

int : int
Returns: bool

Branchless.max a

Full Usage: Branchless.max a

Parameters:
    a : int64

Returns: int64 -> int64
Modifiers: inline

Branchless max for int64s.

a : int64
Returns: int64 -> int64

Branchless.max a

Full Usage: Branchless.max a

Parameters:
    a : int

Returns: int -> int
Modifiers: inline

Branchless max for ints.

a : int
Returns: int -> int

Branchless.min a

Full Usage: Branchless.min a

Parameters:
    a : int64

Returns: int64 -> int64
Modifiers: inline

Branchless min for int64s.

a : int64
Returns: int64 -> int64

Branchless.min a

Full Usage: Branchless.min a

Parameters:
    a : int

Returns: int -> int
Modifiers: inline

Branchless min for ints.

a : int
Returns: int -> int

Branchless.reinterpret a

Full Usage: Branchless.reinterpret a

Parameters:
    a : 'a

Returns: 'b
Modifiers: inline
Type parameters: 'a, 'b

Reinterpret cast a value from 'a to 'b. Dangerous if used incorrectly. In fact, try not to use this directly at all.

a : 'a
Returns: 'b

Type something to start searching.