Mercury Modem
Mercury ARQ/Broadcast modem
Loading...
Searching...
No Matches
Functions | Variables
rs_erasure.c File Reference
#include "rs_erasure.h"
#include <string.h>
Include dependency graph for rs_erasure.c:

Functions

static void gf_init (void)
 
static uint8_t gf_mul (uint8_t a, uint8_t b)
 
static uint8_t gf_inv (uint8_t a)
 
static void gf_axpy (uint8_t *dst, const uint8_t *src, uint8_t c, size_t n)
 
static uint8_t gen_coef (int K, int idx, int i)
 
int rs_encode_repair (int K, size_t P, const uint8_t *const *data, int j, uint8_t *out)
 
int rs_decode (int K, size_t P, const int *idx, const uint8_t *const *pieces, uint8_t **out)
 

Variables

static uint8_t gf_exp [512]
 
static uint8_t gf_log [256]
 
static int gf_ready
 

Function Documentation

◆ gen_coef()

static uint8_t gen_coef ( int  K,
int  idx,
int  i 
)
static

◆ gf_axpy()

static void gf_axpy ( uint8_t *  dst,
const uint8_t *  src,
uint8_t  c,
size_t  n 
)
static

◆ gf_init()

static void gf_init ( void  )
static

◆ gf_inv()

static uint8_t gf_inv ( uint8_t  a)
inlinestatic

◆ gf_mul()

static uint8_t gf_mul ( uint8_t  a,
uint8_t  b 
)
inlinestatic

◆ rs_decode()

int rs_decode ( int  K,
size_t  P,
const int *  idx,
const uint8_t *const *  pieces,
uint8_t **  out 
)

◆ rs_encode_repair()

int rs_encode_repair ( int  K,
size_t  P,
const uint8_t *const *  data,
int  j,
uint8_t *  out 
)

Variable Documentation

◆ gf_exp

uint8_t gf_exp[512]
static

◆ gf_log

uint8_t gf_log[256]
static

◆ gf_ready

int gf_ready
static