27#ifndef MMGR_CELLULARUM_LABORO_H
28#define MMGR_CELLULARUM_LABORO_H
47#ifndef MMGR_SIEVE_ROWS
49#define MMGR_SIEVE_ROWS 1u
78#ifndef MMGR_FIND_CHAIN_MAX
80#define MMGR_FIND_CHAIN_MAX SIZE_MAX
90 const char *
const src;
156EMBED_TABLE_LAYOUT(
CellularumLaboroNs, init, len, diff, eq, starts, find, has, chr, copy, ws, digit, step_word,
157 step_byte, to_long, to_ulong, to_double, to_float);
embed_bool mmgr_cellul_eq(const CatenaFinitaCfg *args)
Reports whether src and other hold the same terminated string.
size_t mmgr_cellul_len(const CatenaFinitaCfg *args)
Returns the bytes in src before its terminator, starting at args->at.
double mmgr_cellul_to_double(const TransfiguroCfg *args)
Reads a decimal floating point number from args->src.
embed_word mmgr_cellul_to_ulong(const TransfiguroCfg *args)
Reads an unsigned decimal integer from args->src.
embed_iword mmgr_cellul_to_long(const TransfiguroCfg *args)
Reads a signed decimal integer from args->src.
embed_bool mmgr_cellul_has(const CatenaFinitaCfg *args)
Reports whether other occurs within src.
embed_bool mmgr_cellul_digit(const CatenaFinitaCfg *args)
Tests src[at] for a decimal digit.
const char * mmgr_cellul_chr(const CatenaFinitaCfg *args)
Finds the first occurrence of args->byte in src, before the terminator.
embed_iword mmgr_cellul_step_word(const VerboProgrediorCfg *args)
Compares one word pair and reports whether a walk should continue.
size_t mmgr_cellul_copy(const CatenaFinitaCfg *args)
Copies src into dst, writing at most cap bytes including the terminator.
CatenaFinitaCfg mmgr_cellul_init(const CatenaFinitaCfg *args)
Returns a copy of the argument struct.
embed_iword mmgr_cellul_step_byte(const VerboProgrediorCfg *args)
Compares one byte pair and reports whether a walk should continue.
embed_bool mmgr_cellul_ws(const CatenaFinitaCfg *args)
Tests src[at] for whitespace.
float mmgr_cellul_to_float(const TransfiguroCfg *args)
Reads a decimal floating point number from args->src and narrows it to float.
embed_bool mmgr_cellul_starts(const CatenaFinitaCfg *args)
Reports whether src begins with other.
static const CellularumLaboroNs cellul
Dispatch table instance named cellul, with each member set to its mmgr_cellul_ function.
const char * mmgr_cellul_find(const CatenaFinitaCfg *args)
Finds the first occurrence of other within src.
size_t mmgr_cellul_diff(const CatenaFinitaCfg *args)
Returns the offset of the first byte where src and other differ.
The embedded_types headers every module builds on.
Arguments for the string calls, where each call reads only the members it needs.
Type of the cellul dispatch table.
embed_iword(*) step_word(const VerboProgrediorCfg *args)
embed_bool(*) digit(const CatenaFinitaCfg *args)
CatenaFinitaCfg(*) init(const CatenaFinitaCfg *args)
embed_bool(*) starts(const CatenaFinitaCfg *args)
double(*) to_double(const TransfiguroCfg *args)
embed_iword(*) step_byte(const VerboProgrediorCfg *args)
embed_bool(*) has(const CatenaFinitaCfg *args)
size_t(*) diff(const CatenaFinitaCfg *args)
embed_bool(*) ws(const CatenaFinitaCfg *args)
embed_iword(*) to_long(const TransfiguroCfg *args)
size_t(*) len(const CatenaFinitaCfg *args)
float(*) to_float(const TransfiguroCfg *args)
embed_bool(*) eq(const CatenaFinitaCfg *args)
size_t(*) copy(const CatenaFinitaCfg *args)
embed_word(*) to_ulong(const TransfiguroCfg *args)
Arguments for the conversions from text to number.
Arguments for the single-step compares used to drive a walk.
const embed_word word_left
const embed_word word_right
const embed_bool end_wins
SWAR byte tests, the lane constants, the arguments, and the lane, mask and word dispatch tables.