Logo Xantham

Operators Module

Functions and values

Function or value Description

value &&&& mask

Full Usage: value &&&& mask

Parameters:
Returns: uint32<'role>
Modifiers: inline
Type parameters: 'role

Masks a value, keeping its role: masking a `word` yields a `word`. Deliberately asymmetric, so the mask has to be the right-hand operand.

value : uint32<'role>
mask : uint32<MeasureProduct<mask, MeasureOne>>
Returns: uint32<'role>

value >>>> count

Full Usage: value >>>> count

Parameters:
Returns: uint32<'role>
Modifiers: inline
Type parameters: 'role

Right-shifts a value, keeping its role. The distance is a bit count, not a mask.

value : uint32<'role>
count : int<MeasureProduct<bits, MeasureOne>>
Returns: uint32<'role>

hasAll mask value

Full Usage: hasAll mask value

Parameters:
Returns: bool
Modifiers: inline
Type parameters: 'role

True when every bit of `mask` is set in `value`.

mask : uint32<MeasureProduct<mask, MeasureOne>>
value : uint32<'role>
Returns: bool

hasAny mask value

Full Usage: hasAny mask value

Parameters:
Returns: bool
Modifiers: inline
Type parameters: 'role

True when any bit of `mask` is set in `value`.

mask : uint32<MeasureProduct<mask, MeasureOne>>
value : uint32<'role>
Returns: bool

reinterpret value

Full Usage: reinterpret value

Parameters:
    value : uint32<'from>

Returns: uint32<'into>
Modifiers: inline
Type parameters: 'from, 'into

Re-tags a value whose role has changed because bits were taken out of it - masking the string index out of a data word makes it a string index. Explicit, because this is the one operation the measures cannot check.

value : uint32<'from>
Returns: uint32<'into>

slotBit slot

Full Usage: slotBit slot

Parameters:
Returns: uint32<MeasureProduct<mask, MeasureOne>>
Modifiers: inline

The single-bit mask selecting `slot`.

slot : int<MeasureProduct<astSlot, MeasureOne>>
Returns: uint32<MeasureProduct<mask, MeasureOne>>

slotsBelow slot

Full Usage: slotsBelow slot

Parameters:
Returns: uint32<MeasureProduct<mask, MeasureOne>>
Modifiers: inline

The mask of every slot below `slot`, for counting the slots that precede it.

slot : int<MeasureProduct<astSlot, MeasureOne>>
Returns: uint32<MeasureProduct<mask, MeasureOne>>

Type something to start searching.