ISA_L_RS_VAND_INV.C(3)
π¦ /build/source/src/backends/isa-l/isa_l_rs_vand_inv.c π¦
okay bestie, so this is a page from the liberasurecode manual (section 3, the library-functions girlies π
) and it's literally all about one file β /build/source/src/backends/isa-l/isa_l_rs_vand_inv.c β the isa-l Reed-Solomon Vandermonde-with-inverse backend. no cap, it's giving "the source file that documents itself". let's get into it β¨
πΈ NAME πΈ
/build/source/src/backends/isa-l/isa_l_rs_vand_inv.c β that's it, that's the whole name, she's just a path and she knows it π
π SYNOPSIS π
the includes you need to even look at her:
#include <stdlib.h>
#include 'erasurecode_backend.h'
#include 'isa_l_common.h'
β¨ Macros
#define ISA_L_RS_VAND_INV_LIB_MAJOR 1
#define ISA_L_RS_VAND_INV_LIB_MINOR 0
#define ISA_L_RS_VAND_INV_LIB_REV 0
#define ISA_L_RS_VAND_INV_LIB_VER_STR '1.0'
#define ISA_L_RS_VAND_INV_LIB_NAME 'isa_l_rs_vand'
#define ISA_L_RS_VAND_INV_SO_NAME 'libisal' LIBERASURECODE_SO_SUFFIX '.so.2'
π§ Functions
static int gen_encoding_matrix (isa_l_descriptor *desc, int m, int k)
static void * isa_l_rs_vand_inv_init (struct ec_backend_args *args, void *backend_sohandle)
static bool isa_l_rs_vand_inv_is_compatible_with (uint32_t version)
__attribute__ ((visibility('internal')))
π Variables
struct ec_backend_common backend_isa_l_rs_vand_inv
static struct ec_backend_op_stubs isa_l_rs_vand_inv_op_stubs
π MACRO DEFINITION DOCUMENTATION π
π #define ISA_L_RS_VAND_INV_LIB_MAJOR 1
Definition at line 35 of file isa_l_rs_vand_inv.c.
Referenced by __attribute__().
π #define ISA_L_RS_VAND_INV_LIB_MINOR 0
Definition at line 36 of file isa_l_rs_vand_inv.c.
Referenced by __attribute__().
π #define ISA_L_RS_VAND_INV_LIB_NAME 'isa_l_rs_vand'
Definition at line 39 of file isa_l_rs_vand_inv.c.
Referenced by __attribute__().
π #define ISA_L_RS_VAND_INV_LIB_REV 0
Definition at line 37 of file isa_l_rs_vand_inv.c.
Referenced by __attribute__().
π #define ISA_L_RS_VAND_INV_LIB_VER_STR '1.0'
Definition at line 38 of file isa_l_rs_vand_inv.c.
Referenced by __attribute__().
π #define ISA_L_RS_VAND_INV_SO_NAME 'libisal' LIBERASURECODE_SO_SUFFIX '.so.2'
Definition at line 43 of file isa_l_rs_vand_inv.c.
Referenced by __attribute__().
π FUNCTION DOCUMENTATION π
π __attribute__ ((visibility('internal')) )
Definition at line 231 of file isa_l_rs_vand_inv.c.
References backend_isa_l_rs_vand_inv, ISA_L_RS_VAND_INV_LIB_MAJOR, ISA_L_RS_VAND_INV_LIB_MINOR, ISA_L_RS_VAND_INV_LIB_NAME, ISA_L_RS_VAND_INV_LIB_REV, ISA_L_RS_VAND_INV_LIB_VER_STR, isa_l_rs_vand_inv_op_stubs, and ISA_L_RS_VAND_INV_SO_NAME.
π int gen_encoding_matrix (isa_l_descriptor * desc, int m, int k) [static]
the notes on this one, verbatim energy:
Should never happen as it's a proper Vandermonde matrix, but belt & bracers...
and then:
Now we're ready to build the encoding matrix:inv(A') * A. Save some multiplies by going straight toIfor the start.
Definition at line 49 of file isa_l_rs_vand_inv.c.
Referenced by isa_l_rs_vand_inv_init().
π void * isa_l_rs_vand_inv_init (struct ec_backend_args * args, void * backend_sohandle) [static]
Generate the tables for encoding β¨
Definition at line 109 of file isa_l_rs_vand_inv.c.
References gen_encoding_matrix().
π bool isa_l_rs_vand_inv_is_compatible_with (uint32_t version) [static]
Definition at line 213 of file isa_l_rs_vand_inv.c.
References backend_isa_l_rs_vand_inv.
π«Ά VARIABLE DOCUMENTATION π«Ά
β struct ec_backend_common backend_isa_l_rs_vand_inv
Definition at line 47 of file isa_l_rs_vand_inv.c.
Referenced by __attribute__(), and isa_l_rs_vand_inv_is_compatible_with().
β struct ec_backend_op_stubs isa_l_rs_vand_inv_op_stubs [static]
Initial value, and yes we're keeping it exactly as it is bestie, no edits:
= {
.INIT = isa_l_rs_vand_inv_init,
.EXIT = isa_l_exit,
.ISSYSTEMATIC = 1,
.ENCODE = isa_l_encode,
.DECODE = isa_l_decode,
.FRAGSNEEDED = isa_l_min_fragments,
.RECONSTRUCT = isa_l_reconstruct,
.ELEMENTSIZE = isa_l_element_size,
.ISCOMPATIBLEWITH = isa_l_rs_vand_inv_is_compatible_with,
.GETMETADATASIZE = get_backend_metadata_size_zero,
.GETENCODEOFFSET = get_encode_offset_zero,
}
Definition at line 217 of file isa_l_rs_vand_inv.c.
Referenced by __attribute__().
π§ AUTHOR π§
Generated automatically by Doxygen for liberasurecode from the source code. (not a human author, just a robot doing her little documentation slay π€π )
and that's the whole page, bestie π
lowkey iconic that a whole manpage is just one C file's greatest hits β macros, statics, and a struct literal, all documented and accounted for. periodt β¨
sign-off time π β this was Version 1.8.0, dated Tue Jan 1 1980 00:0, and the header/footer path on the original is that same /build/source...rs_vand_inv.c(3) with liberasurecode hanging out next to it. mwah ππ¦
π¦ where this page comes from
- nixpkgs unstable: liberasurecode 1.8.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms