XenevaOS
Loading...
Searching...
No Matches
Macros
bn_mul.h File Reference

Multi-precision integer library. More...

#include "mbedtls/build_info.h"
#include "mbedtls/bignum.h"
Include dependency graph for bn_mul.h:

Go to the source code of this file.

Macros

#define MBEDTLS_BYTES_TO_T_UINT_8(a, b, c, d, e, f, g, h)
 
#define MBEDTLS_BYTES_TO_T_UINT_4(a, b, c, d)    MBEDTLS_BYTES_TO_T_UINT_8(a, b, c, d, 0, 0, 0, 0)
 
#define MBEDTLS_BYTES_TO_T_UINT_2(a, b)    MBEDTLS_BYTES_TO_T_UINT_8(a, b, 0, 0, 0, 0, 0, 0)
 
#define MULADDC_X1_INIT
 
#define MULADDC_X1_CORE
 
#define MULADDC_X1_STOP   }
 
#define MULADDC_X2_INIT   MULADDC_X1_INIT
 
#define MULADDC_X2_STOP   MULADDC_X1_STOP
 
#define MULADDC_X2_CORE   MULADDC_X1_CORE MULADDC_X1_CORE
 
#define MULADDC_X4_INIT   MULADDC_X2_INIT
 
#define MULADDC_X4_STOP   MULADDC_X2_STOP
 
#define MULADDC_X4_CORE   MULADDC_X2_CORE MULADDC_X2_CORE
 
#define MULADDC_X8_INIT   MULADDC_X4_INIT
 
#define MULADDC_X8_STOP   MULADDC_X4_STOP
 
#define MULADDC_X8_CORE   MULADDC_X4_CORE MULADDC_X4_CORE
 

Detailed Description

Multi-precision integer library.

Macro Definition Documentation

◆ MBEDTLS_BYTES_TO_T_UINT_2

#define MBEDTLS_BYTES_TO_T_UINT_2 (   a,
  b 
)     MBEDTLS_BYTES_TO_T_UINT_8(a, b, 0, 0, 0, 0, 0, 0)

◆ MBEDTLS_BYTES_TO_T_UINT_4

#define MBEDTLS_BYTES_TO_T_UINT_4 (   a,
  b,
  c,
  d 
)     MBEDTLS_BYTES_TO_T_UINT_8(a, b, c, d, 0, 0, 0, 0)

◆ MBEDTLS_BYTES_TO_T_UINT_8

#define MBEDTLS_BYTES_TO_T_UINT_8 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h 
)
Value:
((mbedtls_mpi_uint) (a) << 0) | \
((mbedtls_mpi_uint) (b) << 8) | \
((mbedtls_mpi_uint) (c) << 16) | \
((mbedtls_mpi_uint) (d) << 24) | \
((mbedtls_mpi_uint) (e) << 32) | \
((mbedtls_mpi_uint) (f) << 40) | \
((mbedtls_mpi_uint) (g) << 48) | \
((mbedtls_mpi_uint) (h) << 56)
size_t a
Definition main.cpp:156
size_t b
Definition main.cpp:156
uint32_t mbedtls_mpi_uint
The type of machine digits in a bignum, called limbs.
Definition bignum.h:170
const char * f
Definition drm_print.h:205
int h
Definition layout.c:118
#define d
Definition libunicode.c:1833

◆ MULADDC_X1_CORE

#define MULADDC_X1_CORE
Value:
s0 = ( *s << biH ) >> biH; \
s1 = ( *s >> biH ); s++; \
rx = s0 * b1; r0 = s0 * b0; \
ry = s1 * b0; r1 = s1 * b1; \
r1 += ( rx >> biH ); \
r1 += ( ry >> biH ); \
rx <<= biH; ry <<= biH; \
r0 += rx; r1 += (r0 < rx); \
r0 += ry; r1 += (r0 < ry); \
r0 += c; r1 += (r0 < c); \
r0 += *d; r1 += (r0 < *d); \
c = r1; *(d++) = r0;
#define biH
Definition bignum_core.h:79

◆ MULADDC_X1_INIT

#define MULADDC_X1_INIT
Value:
{ \
mbedtls_mpi_uint s0, s1, b0, b1; \
mbedtls_mpi_uint r0, r1, rx, ry; \
b0 = ( b << biH ) >> biH; \
b1 = ( b >> biH );

◆ MULADDC_X1_STOP

#define MULADDC_X1_STOP   }

◆ MULADDC_X2_CORE

#define MULADDC_X2_CORE   MULADDC_X1_CORE MULADDC_X1_CORE

◆ MULADDC_X2_INIT

#define MULADDC_X2_INIT   MULADDC_X1_INIT

◆ MULADDC_X2_STOP

#define MULADDC_X2_STOP   MULADDC_X1_STOP

◆ MULADDC_X4_CORE

#define MULADDC_X4_CORE   MULADDC_X2_CORE MULADDC_X2_CORE

◆ MULADDC_X4_INIT

#define MULADDC_X4_INIT   MULADDC_X2_INIT

◆ MULADDC_X4_STOP

#define MULADDC_X4_STOP   MULADDC_X2_STOP

◆ MULADDC_X8_CORE

#define MULADDC_X8_CORE   MULADDC_X4_CORE MULADDC_X4_CORE

◆ MULADDC_X8_INIT

#define MULADDC_X8_INIT   MULADDC_X4_INIT

◆ MULADDC_X8_STOP

#define MULADDC_X8_STOP   MULADDC_X4_STOP