YAARX: Yet Another ARX Toolkit  0.1
 All Data Structures Files Functions Variables Macros Pages
add-approx.cc File Reference

XOR-linear approximations of modular addition. More...

#include "common.hh"

Functions

WORD_T add_bitwise (const WORD_T x, const WORD_T y)
 
WORD_T add_approx_o1 (const WORD_T x, const WORD_T y)
 
WORD_T add_approx_o2_fast (const WORD_T x, const WORD_T y)
 
WORD_T add_approx_o2 (const WORD_T x, const WORD_T y)
 
WORD_T add_approx_o3 (const WORD_T x, const WORD_T y)
 
WORD_T add_approx_o4 (const WORD_T x, const WORD_T y)
 
WORD_T add_approx_o5 (const WORD_T x, const WORD_T y)
 
WORD_T add_approx_o6 (const WORD_T x, const WORD_T y)
 
WORD_T add_approx (const WORD_T x, const WORD_T y, const uint32_t order)
 
WORD_T add_approx_any_order (const WORD_T x, const WORD_T y, const uint32_t order)
 
WORD_T add_block_approx (const WORD_T x, const WORD_T y, const uint32_t block_size)
 
double xdp_add_approx_exper (const WORD_T da, const WORD_T db, const WORD_T dc, uint32_t order)
 
void xdp_add_approx_rec_i (const uint32_t i, const uint32_t order, const WORD_T dx, const WORD_T dy, const WORD_T dz, const WORD_T x, const WORD_T y, uint64_t *cnt_xy)
 
double xdp_add_approx_rec (const WORD_T dx, const WORD_T dy, const WORD_T dz, uint32_t order)
 
double xdp_add_fixed_x_approx_exper (const WORD_T a1, const WORD_T a2, const WORD_T db, const WORD_T dc, uint32_t order)
 
void xdp_add_fixed_x_approx_rec_i (const uint32_t i, const uint32_t order, const WORD_T dy, const WORD_T dz, const WORD_T x, const WORD_T xx, const WORD_T y, uint64_t *cnt_y)
 
double xdp_add_fixed_x_approx_rec (const WORD_T x, const WORD_T xx, const WORD_T dy, const WORD_T dz, uint32_t order)
 
WORD_T sub_bitwise (const WORD_T x, const WORD_T y)
 
WORD_T sub_approx_o1 (const WORD_T x, const WORD_T y)
 
WORD_T sub_approx_o2_fast (const WORD_T x, const WORD_T y)
 
WORD_T sub_approx_o2 (const WORD_T x, const WORD_T y)
 
WORD_T sub_approx_o3 (const WORD_T x, const WORD_T y)
 
WORD_T sub_approx_o4 (const WORD_T x, const WORD_T y)
 
WORD_T sub_approx_o5 (const WORD_T x, const WORD_T y)
 
WORD_T sub_approx_o6 (const WORD_T x, const WORD_T y)
 
WORD_T sub_approx (const WORD_T x, const WORD_T y, const uint32_t order)
 
WORD_T sub_approx_any_order (const WORD_T x, const WORD_T y, const uint32_t order)
 
WORD_T sub_approx_any_order_equiv (const WORD_T x_in, const WORD_T y_in, const uint32_t order_in)
 
double xdp_sub_approx_exper (const WORD_T da, const WORD_T db, const WORD_T dc, uint32_t order)
 
void xdp_sub_approx_rec_i (const uint32_t i, const uint32_t order, const WORD_T dx, const WORD_T dy, const WORD_T dz, const WORD_T x, const WORD_T y, uint64_t *cnt_xy)
 
double xdp_sub_approx_rec (const WORD_T dx, const WORD_T dy, const WORD_T dz, uint32_t order)
 
double xdp_sub_fixed_x_approx_exper (const WORD_T a1, const WORD_T a2, const WORD_T db, const WORD_T dc, uint32_t order)
 
void xdp_sub_fixed_x_approx_rec_i (const uint32_t i, const uint32_t order, const WORD_T dy, const WORD_T dz, const WORD_T x, const WORD_T xx, const WORD_T y, uint64_t *cnt_y)
 
double xdp_sub_fixed_x_approx_rec (const WORD_T x, const WORD_T xx, const WORD_T dy, const WORD_T dz, uint32_t order)
 

Detailed Description

XOR-linear approximations of modular addition.

Author
V.Velichkov, vesse.nosp@m.lin..nosp@m.velic.nosp@m.hkov.nosp@m.@uni..nosp@m.lu

Function Documentation

WORD_T add_block_approx ( const WORD_T  x,
const WORD_T  y,
const uint32_t  block_size 
)

Block approximation of addition

WORD_T sub_approx_any_order_equiv ( const WORD_T  x_in,
const WORD_T  y_in,
const uint32_t  order_in 
)

Another way to compute SUB approximtaion that is equivalent to sub_approx_any_order.

See Also
sub_approx_any_order
WORD_T sub_bitwise ( const WORD_T  x,
const WORD_T  y 
)