MMgr v1.0.0
Zero-heap memory manager in C11. One borrowed buffer, carved by asserted offset.
Loading...
Searching...
No Matches
ScrutLaneNs Struct Reference

Type of the lane dispatch table. More...

#include <verbum_scrutor.h>

Data Fields

embed_word(*) ge (const ScrutLaneCfg *args)
embed_word(*) le (const ScrutLaneCfg *args)
embed_word(*) sub7 (const ScrutLaneCfg *args)
embed_word(*) has_zero (const ScrutLaneCfg *args)
embed_word(*) eq (const ScrutLaneCfg *args)
embed_word(*) xor_ (const ScrutLaneCfg *args)
embed_word(*) fam_eq (const ScrutLaneCfg *args)
embed_word(*) any_upper (const ScrutLaneCfg *args)
embed_word(*) any_digit (const ScrutLaneCfg *args)
embed_word(*) alpha (const ScrutLaneCfg *args)
size_t(*) count (const ScrutLaneCfg *args)
size_t(*) first (const ScrutLaneCfg *args)
size_t(*) last (const ScrutLaneCfg *args)

Detailed Description

Type of the lane dispatch table.

Note
EMBED_TABLE_LAYOUT asserts the thirteen members sit at consecutive EMBED_FUNCTION_POINTER_BYTES offsets, with nothing else.
Eight of the first ten return lane masks. sub7 returns seven bit values and xor_ a whole word.
count, first and last return positions instead of words.
first and last mean first and last in memory order, as the endian binding below delivers.
xor_ carries a trailing underscore because xor is an alternative form of an operator in C++.

Definition at line 152 of file verbum_scrutor.h.

Field Documentation

◆ ge

embed_word(*) ScrutLaneNs::ge(const ScrutLaneCfg *args)

Lanes at or above a byte.

Definition at line 154 of file verbum_scrutor.h.

◆ le

embed_word(*) ScrutLaneNs::le(const ScrutLaneCfg *args)

Lanes at or below a byte.

Definition at line 155 of file verbum_scrutor.h.

◆ sub7

embed_word(*) ScrutLaneNs::sub7(const ScrutLaneCfg *args)

Seven low bits of each lane's difference from a byte.

Definition at line 156 of file verbum_scrutor.h.

◆ has_zero

embed_word(*) ScrutLaneNs::has_zero(const ScrutLaneCfg *args)

Lanes holding zero.

Definition at line 157 of file verbum_scrutor.h.

◆ eq

embed_word(*) ScrutLaneNs::eq(const ScrutLaneCfg *args)

Lanes equal to a byte.

Definition at line 158 of file verbum_scrutor.h.

◆ xor_

embed_word(*) ScrutLaneNs::xor_(const ScrutLaneCfg *args)

Lane by lane difference of two words.

Definition at line 159 of file verbum_scrutor.h.

◆ fam_eq

embed_word(*) ScrutLaneNs::fam_eq(const ScrutLaneCfg *args)

Lanes matching a byte within a set of bits.

Definition at line 160 of file verbum_scrutor.h.

◆ any_upper

embed_word(*) ScrutLaneNs::any_upper(const ScrutLaneCfg *args)

Lanes whose MMGR_FAM_CS bits equal MMGR_FAM_CI.

Definition at line 161 of file verbum_scrutor.h.

◆ any_digit

embed_word(*) ScrutLaneNs::any_digit(const ScrutLaneCfg *args)

Lanes in the 0x30 to 0x3F block.

Definition at line 162 of file verbum_scrutor.h.

◆ alpha

embed_word(*) ScrutLaneNs::alpha(const ScrutLaneCfg *args)

Lanes holding an ASCII letter.

Definition at line 163 of file verbum_scrutor.h.

◆ count

size_t(*) ScrutLaneNs::count(const ScrutLaneCfg *args)

How many lanes a mask has set.

Definition at line 164 of file verbum_scrutor.h.

◆ first

size_t(*) ScrutLaneNs::first(const ScrutLaneCfg *args)

Index of the first set lane in memory order.

Definition at line 165 of file verbum_scrutor.h.

◆ last

size_t(*) ScrutLaneNs::last(const ScrutLaneCfg *args)

Index of the last set lane in memory order.

Definition at line 166 of file verbum_scrutor.h.


The documentation for this struct was generated from the following file: