mbed TLS v2.28.0
Macros
bn_mul.h File Reference

Multi-precision integer library. More...

#include "mbedtls/config.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_4(a, b, c, d)
 
#define MBEDTLS_BYTES_TO_T_UINT_2(a, b)   MBEDTLS_BYTES_TO_T_UINT_4( a, b, 0, 0 )
 
#define MBEDTLS_BYTES_TO_T_UINT_8(a, b, c, d, e, f, g, h)
 
#define asm   __asm
 
#define MULADDC_INIT
 
#define MULADDC_CORE
 
#define MULADDC_STOP   }
 

Detailed Description

Multi-precision integer library.

Definition in file bn_mul.h.

Macro Definition Documentation

#define asm   __asm

Definition at line 90 of file bn_mul.h.

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

Definition at line 60 of file bn_mul.h.

#define MBEDTLS_BYTES_TO_T_UINT_4 (   a,
  b,
  c,
 
)
Value:
( (mbedtls_mpi_uint) (a) << 0 ) | \
( (mbedtls_mpi_uint) (b) << 8 ) | \
( (mbedtls_mpi_uint) (c) << 16 ) | \
( (mbedtls_mpi_uint) (d) << 24 )
uint32_t mbedtls_mpi_uint
Definition: bignum.h:178

Definition at line 54 of file bn_mul.h.

#define MBEDTLS_BYTES_TO_T_UINT_8 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
 
)
Value:
#define MBEDTLS_BYTES_TO_T_UINT_4(a, b, c, d)
Definition: bn_mul.h:54

Definition at line 63 of file bn_mul.h.

#define MULADDC_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;

Definition at line 958 of file bn_mul.h.

#define MULADDC_INIT
Value:
{ \
mbedtls_mpi_uint s0, s1, b0, b1; \
mbedtls_mpi_uint r0, r1, rx, ry; \
b0 = ( b << biH ) >> biH; \
b1 = ( b >> biH );
uint32_t mbedtls_mpi_uint
Definition: bignum.h:178

Definition at line 951 of file bn_mul.h.

#define MULADDC_STOP   }

Definition at line 972 of file bn_mul.h.