Monero
Macros | Functions
int-util.h File Reference
#include <assert.h>
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include <sys/param.h>
Include dependency graph for int-util.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define IDENT32(x)   ((uint32_t) (x))
 
#define IDENT64(x)   ((uint64_t) (x))
 
#define SWAP32(x)
 
#define SWAP64(x)
 
#define UNUSED
 
#define SWAP32LE   IDENT32
 
#define SWAP32BE   SWAP32
 
#define swap32le   ident32
 
#define swap32be   swap32
 
#define mem_inplace_swap32le   mem_inplace_ident
 
#define mem_inplace_swap32be   mem_inplace_swap32
 
#define memcpy_swap32le   memcpy_ident32
 
#define memcpy_swap32be   memcpy_swap32
 
#define SWAP64LE   IDENT64
 
#define SWAP64BE   SWAP64
 
#define swap64le   ident64
 
#define swap64be   swap64
 
#define mem_inplace_swap64le   mem_inplace_ident
 
#define mem_inplace_swap64be   mem_inplace_swap64
 
#define memcpy_swap64le   memcpy_ident64
 
#define memcpy_swap64be   memcpy_swap64
 
#define SWAP32BE   IDENT32
 
#define SWAP32LE   SWAP32
 
#define swap32be   ident32
 
#define swap32le   swap32
 
#define mem_inplace_swap32be   mem_inplace_ident
 
#define mem_inplace_swap32le   mem_inplace_swap32
 
#define memcpy_swap32be   memcpy_ident32
 
#define memcpy_swap32le   memcpy_swap32
 
#define SWAP64BE   IDENT64
 
#define SWAP64LE   SWAP64
 
#define swap64be   ident64
 
#define swap64le   swap64
 
#define mem_inplace_swap64be   mem_inplace_ident
 
#define mem_inplace_swap64le   mem_inplace_swap64
 
#define memcpy_swap64be   memcpy_ident64
 
#define memcpy_swap64le   memcpy_swap64
 

Functions

static uint32_t rol32 (uint32_t x, int r)
 
static uint64_t rol64 (uint64_t x, int r)
 
static uint64_t hi_dword (uint64_t val)
 
static uint64_t lo_dword (uint64_t val)
 
static uint64_t mul128 (uint64_t multiplier, uint64_t multiplicand, uint64_t *product_hi)
 
static uint64_t div_with_reminder (uint64_t dividend, uint32_t divisor, uint32_t *remainder)
 
static uint32_t div128_32 (uint64_t dividend_hi, uint64_t dividend_lo, uint32_t divisor, uint64_t *quotient_hi, uint64_t *quotient_lo)
 
static uint32_t ident32 (uint32_t x)
 
static uint64_t ident64 (uint64_t x)
 
static uint32_t swap32 (uint32_t x)
 
static uint64_t swap64 (uint64_t x)
 
static void mem_inplace_ident (void *mem UNUSED, size_t n UNUSED)
 
static void mem_inplace_swap32 (void *mem, size_t n)
 
static void mem_inplace_swap64 (void *mem, size_t n)
 
static void memcpy_ident32 (void *dst, const void *src, size_t n)
 
static void memcpy_ident64 (void *dst, const void *src, size_t n)
 
static void memcpy_swap32 (void *dst, const void *src, size_t n)
 
static void memcpy_swap64 (void *dst, const void *src, size_t n)
 

Macro Definition Documentation

◆ IDENT32

#define IDENT32 (   x)    ((uint32_t) (x))

◆ IDENT64

#define IDENT64 (   x)    ((uint64_t) (x))

◆ mem_inplace_swap32be [1/2]

#define mem_inplace_swap32be   mem_inplace_swap32

◆ mem_inplace_swap32be [2/2]

#define mem_inplace_swap32be   mem_inplace_ident

◆ mem_inplace_swap32le [1/2]

#define mem_inplace_swap32le   mem_inplace_ident

◆ mem_inplace_swap32le [2/2]

#define mem_inplace_swap32le   mem_inplace_swap32

◆ mem_inplace_swap64be [1/2]

#define mem_inplace_swap64be   mem_inplace_swap64

◆ mem_inplace_swap64be [2/2]

#define mem_inplace_swap64be   mem_inplace_ident

◆ mem_inplace_swap64le [1/2]

#define mem_inplace_swap64le   mem_inplace_ident

◆ mem_inplace_swap64le [2/2]

#define mem_inplace_swap64le   mem_inplace_swap64

◆ memcpy_swap32be [1/2]

#define memcpy_swap32be   memcpy_swap32

◆ memcpy_swap32be [2/2]

#define memcpy_swap32be   memcpy_ident32

◆ memcpy_swap32le [1/2]

#define memcpy_swap32le   memcpy_ident32

◆ memcpy_swap32le [2/2]

#define memcpy_swap32le   memcpy_swap32

◆ memcpy_swap64be [1/2]

#define memcpy_swap64be   memcpy_swap64

◆ memcpy_swap64be [2/2]

#define memcpy_swap64be   memcpy_ident64

◆ memcpy_swap64le [1/2]

#define memcpy_swap64le   memcpy_ident64

◆ memcpy_swap64le [2/2]

#define memcpy_swap64le   memcpy_swap64

◆ SWAP32

#define SWAP32 (   x)
Value:
((((uint32_t) (x) & 0x000000ff) << 24) | \
(((uint32_t) (x) & 0x0000ff00) << 8) | \
(((uint32_t) (x) & 0x00ff0000) >> 8) | \
(((uint32_t) (x) & 0xff000000) >> 24))

◆ SWAP32BE [1/2]

#define SWAP32BE   SWAP32

◆ swap32be [1/2]

#define swap32be   swap32

◆ SWAP32BE [2/2]

#define SWAP32BE   IDENT32

◆ swap32be [2/2]

#define swap32be   ident32

◆ SWAP32LE [1/2]

#define SWAP32LE   IDENT32

◆ swap32le [1/2]

#define swap32le   ident32

◆ SWAP32LE [2/2]

#define SWAP32LE   SWAP32

◆ swap32le [2/2]

#define swap32le   swap32

◆ SWAP64

#define SWAP64 (   x)
Value:
((((uint64_t) (x) & 0x00000000000000ff) << 56) | \
(((uint64_t) (x) & 0x000000000000ff00) << 40) | \
(((uint64_t) (x) & 0x0000000000ff0000) << 24) | \
(((uint64_t) (x) & 0x00000000ff000000) << 8) | \
(((uint64_t) (x) & 0x000000ff00000000) >> 8) | \
(((uint64_t) (x) & 0x0000ff0000000000) >> 24) | \
(((uint64_t) (x) & 0x00ff000000000000) >> 40) | \
(((uint64_t) (x) & 0xff00000000000000) >> 56))

◆ SWAP64BE [1/2]

#define SWAP64BE   SWAP64

◆ swap64be [1/2]

#define swap64be   swap64

◆ SWAP64BE [2/2]

#define SWAP64BE   IDENT64

◆ swap64be [2/2]

#define swap64be   ident64

◆ SWAP64LE [1/2]

#define SWAP64LE   IDENT64

◆ swap64le [1/2]

#define swap64le   ident64

◆ SWAP64LE [2/2]

#define SWAP64LE   SWAP64

◆ swap64le [2/2]

#define swap64le   swap64

◆ UNUSED

#define UNUSED

Function Documentation

◆ div128_32()

static uint32_t div128_32 ( uint64_t  dividend_hi,
uint64_t  dividend_lo,
uint32_t  divisor,
uint64_t *  quotient_hi,
uint64_t *  quotient_lo 
)
inlinestatic

◆ div_with_reminder()

static uint64_t div_with_reminder ( uint64_t  dividend,
uint32_t  divisor,
uint32_t *  remainder 
)
inlinestatic

◆ hi_dword()

static uint64_t hi_dword ( uint64_t  val)
inlinestatic

◆ ident32()

static uint32_t ident32 ( uint32_t  x)
inlinestatic

◆ ident64()

static uint64_t ident64 ( uint64_t  x)
inlinestatic

◆ lo_dword()

static uint64_t lo_dword ( uint64_t  val)
inlinestatic

◆ mem_inplace_ident()

static void mem_inplace_ident ( void *mem  UNUSED,
size_t n  UNUSED 
)
inlinestatic

◆ mem_inplace_swap32()

static void mem_inplace_swap32 ( void *  mem,
size_t  n 
)
inlinestatic

◆ mem_inplace_swap64()

static void mem_inplace_swap64 ( void *  mem,
size_t  n 
)
inlinestatic

◆ memcpy_ident32()

static void memcpy_ident32 ( void *  dst,
const void *  src,
size_t  n 
)
inlinestatic

◆ memcpy_ident64()

static void memcpy_ident64 ( void *  dst,
const void *  src,
size_t  n 
)
inlinestatic

◆ memcpy_swap32()

static void memcpy_swap32 ( void *  dst,
const void *  src,
size_t  n 
)
inlinestatic

◆ memcpy_swap64()

static void memcpy_swap64 ( void *  dst,
const void *  src,
size_t  n 
)
inlinestatic

◆ mul128()

static uint64_t mul128 ( uint64_t  multiplier,
uint64_t  multiplicand,
uint64_t *  product_hi 
)
inlinestatic

◆ rol32()

static uint32_t rol32 ( uint32_t  x,
int  r 
)
inlinestatic

◆ rol64()

static uint64_t rol64 ( uint64_t  x,
int  r 
)
inlinestatic

◆ swap32()

static uint32_t swap32 ( uint32_t  x)
inlinestatic

◆ swap64()

static uint64_t swap64 ( uint64_t  x)
inlinestatic