Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
modinv32_impl.h File Reference
#include "modinv32.h"
#include "util.h"
#include <stdlib.h>
Include dependency graph for modinv32_impl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  secp256k1_modinv32_trans2x2

Macros

#define JACOBI32_ITERATIONS   50

Functions

static void secp256k1_modinv32_normalize_30 (secp256k1_modinv32_signed30 *r, int32_t sign, const secp256k1_modinv32_modinfo *modinfo)
static int32_t secp256k1_modinv32_divsteps_30 (int32_t zeta, uint32_t f0, uint32_t g0, secp256k1_modinv32_trans2x2 *t)
static int32_t secp256k1_modinv32_divsteps_30_var (int32_t eta, uint32_t f0, uint32_t g0, secp256k1_modinv32_trans2x2 *t)
static int32_t secp256k1_modinv32_posdivsteps_30_var (int32_t eta, uint32_t f0, uint32_t g0, secp256k1_modinv32_trans2x2 *t, int *jacp)
static void secp256k1_modinv32_update_de_30 (secp256k1_modinv32_signed30 *d, secp256k1_modinv32_signed30 *e, const secp256k1_modinv32_trans2x2 *t, const secp256k1_modinv32_modinfo *modinfo)
static void secp256k1_modinv32_update_fg_30 (secp256k1_modinv32_signed30 *f, secp256k1_modinv32_signed30 *g, const secp256k1_modinv32_trans2x2 *t)
static void secp256k1_modinv32_update_fg_30_var (int len, secp256k1_modinv32_signed30 *f, secp256k1_modinv32_signed30 *g, const secp256k1_modinv32_trans2x2 *t)
static void secp256k1_modinv32 (secp256k1_modinv32_signed30 *x, const secp256k1_modinv32_modinfo *modinfo)
static void secp256k1_modinv32_var (secp256k1_modinv32_signed30 *x, const secp256k1_modinv32_modinfo *modinfo)
static int secp256k1_jacobi32_maybe_var (const secp256k1_modinv32_signed30 *x, const secp256k1_modinv32_modinfo *modinfo)

Variables

static const uint8_t secp256k1_modinv32_inv256 [128]

Macro Definition Documentation

◆ JACOBI32_ITERATIONS

#define JACOBI32_ITERATIONS   50

Definition at line 662 of file modinv32_impl.h.

Function Documentation

◆ secp256k1_jacobi32_maybe_var()

int secp256k1_jacobi32_maybe_var ( const secp256k1_modinv32_signed30 * x,
const secp256k1_modinv32_modinfo * modinfo )
static

Definition at line 666 of file modinv32_impl.h.

Here is the call graph for this function:

◆ secp256k1_modinv32()

void secp256k1_modinv32 ( secp256k1_modinv32_signed30 * x,
const secp256k1_modinv32_modinfo * modinfo )
static

Definition at line 532 of file modinv32_impl.h.

Here is the call graph for this function:

◆ secp256k1_modinv32_divsteps_30()

int32_t secp256k1_modinv32_divsteps_30 ( int32_t zeta,
uint32_t f0,
uint32_t g0,
secp256k1_modinv32_trans2x2 * t )
static

Definition at line 179 of file modinv32_impl.h.

Here is the caller graph for this function:

◆ secp256k1_modinv32_divsteps_30_var()

int32_t secp256k1_modinv32_divsteps_30_var ( int32_t eta,
uint32_t f0,
uint32_t g0,
secp256k1_modinv32_trans2x2 * t )
static

Definition at line 261 of file modinv32_impl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ secp256k1_modinv32_normalize_30()

void secp256k1_modinv32_normalize_30 ( secp256k1_modinv32_signed30 * r,
int32_t sign,
const secp256k1_modinv32_modinfo * modinfo )
static

Definition at line 63 of file modinv32_impl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ secp256k1_modinv32_posdivsteps_30_var()

int32_t secp256k1_modinv32_posdivsteps_30_var ( int32_t eta,
uint32_t f0,
uint32_t g0,
secp256k1_modinv32_trans2x2 * t,
int * jacp )
static

Definition at line 334 of file modinv32_impl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ secp256k1_modinv32_update_de_30()

void secp256k1_modinv32_update_de_30 ( secp256k1_modinv32_signed30 * d,
secp256k1_modinv32_signed30 * e,
const secp256k1_modinv32_trans2x2 * t,
const secp256k1_modinv32_modinfo * modinfo )
static

Definition at line 408 of file modinv32_impl.h.

Here is the caller graph for this function:

◆ secp256k1_modinv32_update_fg_30()

void secp256k1_modinv32_update_fg_30 ( secp256k1_modinv32_signed30 * f,
secp256k1_modinv32_signed30 * g,
const secp256k1_modinv32_trans2x2 * t )
static

Definition at line 466 of file modinv32_impl.h.

Here is the caller graph for this function:

◆ secp256k1_modinv32_update_fg_30_var()

void secp256k1_modinv32_update_fg_30_var ( int len,
secp256k1_modinv32_signed30 * f,
secp256k1_modinv32_signed30 * g,
const secp256k1_modinv32_trans2x2 * t )
static

Definition at line 501 of file modinv32_impl.h.

Here is the caller graph for this function:

◆ secp256k1_modinv32_var()

void secp256k1_modinv32_var ( secp256k1_modinv32_signed30 * x,
const secp256k1_modinv32_modinfo * modinfo )
static

Definition at line 581 of file modinv32_impl.h.

Here is the call graph for this function:

Variable Documentation

◆ secp256k1_modinv32_inv256

const uint8_t secp256k1_modinv32_inv256[128]
static
Initial value:
= {
0xFF, 0x55, 0x33, 0x49, 0xC7, 0x5D, 0x3B, 0x11, 0x0F, 0xE5, 0xC3, 0x59,
0xD7, 0xED, 0xCB, 0x21, 0x1F, 0x75, 0x53, 0x69, 0xE7, 0x7D, 0x5B, 0x31,
0x2F, 0x05, 0xE3, 0x79, 0xF7, 0x0D, 0xEB, 0x41, 0x3F, 0x95, 0x73, 0x89,
0x07, 0x9D, 0x7B, 0x51, 0x4F, 0x25, 0x03, 0x99, 0x17, 0x2D, 0x0B, 0x61,
0x5F, 0xB5, 0x93, 0xA9, 0x27, 0xBD, 0x9B, 0x71, 0x6F, 0x45, 0x23, 0xB9,
0x37, 0x4D, 0x2B, 0x81, 0x7F, 0xD5, 0xB3, 0xC9, 0x47, 0xDD, 0xBB, 0x91,
0x8F, 0x65, 0x43, 0xD9, 0x57, 0x6D, 0x4B, 0xA1, 0x9F, 0xF5, 0xD3, 0xE9,
0x67, 0xFD, 0xDB, 0xB1, 0xAF, 0x85, 0x63, 0xF9, 0x77, 0x8D, 0x6B, 0xC1,
0xBF, 0x15, 0xF3, 0x09, 0x87, 0x1D, 0xFB, 0xD1, 0xCF, 0xA5, 0x83, 0x19,
0x97, 0xAD, 0x8B, 0xE1, 0xDF, 0x35, 0x13, 0x29, 0xA7, 0x3D, 0x1B, 0xF1,
0xEF, 0xC5, 0xA3, 0x39, 0xB7, 0xCD, 0xAB, 0x01
}

Definition at line 237 of file modinv32_impl.h.