liberasurecode 1.8.0
Erasure Code API library
Loading...
Searching...
No Matches
Macros | Functions | Variables
isa_l_rs_vand_inv.c File Reference
#include <stdlib.h>
#include "erasurecode_backend.h"
#include "isa_l_common.h"

Go to the source code of this file.

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

◆ ISA_L_RS_VAND_INV_LIB_MAJOR

#define ISA_L_RS_VAND_INV_LIB_MAJOR   1

Definition at line 35 of file isa_l_rs_vand_inv.c.

◆ ISA_L_RS_VAND_INV_LIB_MINOR

#define ISA_L_RS_VAND_INV_LIB_MINOR   0

Definition at line 36 of file isa_l_rs_vand_inv.c.

◆ ISA_L_RS_VAND_INV_LIB_NAME

#define ISA_L_RS_VAND_INV_LIB_NAME   "isa_l_rs_vand"

Definition at line 39 of file isa_l_rs_vand_inv.c.

◆ ISA_L_RS_VAND_INV_LIB_REV

#define ISA_L_RS_VAND_INV_LIB_REV   0

Definition at line 37 of file isa_l_rs_vand_inv.c.

◆ ISA_L_RS_VAND_INV_LIB_VER_STR

#define ISA_L_RS_VAND_INV_LIB_VER_STR   "1.0"

Definition at line 38 of file isa_l_rs_vand_inv.c.

◆ ISA_L_RS_VAND_INV_SO_NAME

#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.

Function Documentation

◆ __attribute__()

__attribute__ ( (visibility("internal"))  )

◆ gen_encoding_matrix()

static int gen_encoding_matrix ( isa_l_descriptor *  desc,
int  m,
int  k 
)
static

Should never happen as it's a proper Vandermonde matrix, but belt & bracers...

Now we're ready to build the encoding matrix: inv(A') * A. Save some multiplies by going straight to I for the start.

Definition at line 49 of file isa_l_rs_vand_inv.c.

Referenced by isa_l_rs_vand_inv_init().

◆ isa_l_rs_vand_inv_init()

static 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().

◆ isa_l_rs_vand_inv_is_compatible_with()

static 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

◆ backend_isa_l_rs_vand_inv

struct ec_backend_common backend_isa_l_rs_vand_inv

Definition at line 47 of file isa_l_rs_vand_inv.c.

Referenced by isa_l_rs_vand_inv_is_compatible_with().

◆ isa_l_rs_vand_inv_op_stubs

struct ec_backend_op_stubs isa_l_rs_vand_inv_op_stubs
static
Initial value:
= {
.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,
.GETMETADATASIZE = get_backend_metadata_size_zero,
.GETENCODEOFFSET = get_encode_offset_zero,
}
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)

Definition at line 217 of file isa_l_rs_vand_inv.c.

Referenced by __attribute__().