Clearmatics Libff  0.1
C++ library for Finite Fields and Elliptic Curves
Namespaces | Functions
ffi.cpp File Reference
#include "ffi.h"
#include "ffi_serialization.hpp"
#include <libff/algebra/curves/bls12_377/bls12_377_pp.hpp>
#include <libff/algebra/curves/bw6_761/bw6_761_pp.hpp>
Include dependency graph for ffi.cpp:

Go to the source code of this file.

Namespaces

 libff
 
 libff::ffi
 

Functions

template<typename ppT >
bool libff::ffi::g1_add (const void *a_g1, size_t a_g1_size, const void *b_g1, size_t b_g1_size, void *out_g1, size_t out_g1_size)
 
template<typename ppT >
bool libff::ffi::g1_mul (const void *p_g1, size_t p_g1_size, const void *s_fr, size_t s_fr_size, void *out_g1, size_t out_g1_size)
 
template<typename ppT >
bool libff::ffi::pairing (const void *a_g1, size_t a_g1_size, const void *b_g2, size_t b_g2_size, const void *c_g1, size_t c_g1_size, const void *d_g2, size_t d_g2_size, const void *e_g1, size_t e_g1_size, const void *f_g2, size_t f_g2_size, const void *g_g1, size_t g_g1_size, const void *h_g2, size_t h_g2_size)
 
bool bls12_377_init ()
 
bool bls12_377_g1_add (const void *a_g1, size_t a_g1_size, const void *b_g1, size_t b_g1_size, void *out_g1, size_t out_g1_size)
 
bool bls12_377_g1_mul (const void *p_g1, size_t p_g1_size, const void *s_fr, size_t s_fr_size, void *out_g1, size_t out_g1_size)
 
bool bls12_377_pairing (const void *a_g1, size_t a_g1_size, const void *b_g2, size_t b_g2_size, const void *c_g1, size_t c_g1_size, const void *d_g2, size_t d_g2_size, const void *e_g1, size_t e_g1_size, const void *f_g2, size_t f_g2_size, const void *g_g1, size_t g_g1_size, const void *h_g2, size_t h_g2_size)
 
bool bw6_761_init ()
 
bool bw6_761_g1_add (const void *a_g1, size_t a_g1_size, const void *b_g1, size_t b_g1_size, void *out_g1, size_t out_g1_size)
 
bool bw6_761_g1_mul (const void *p_g1, size_t p_g1_size, const void *s_fr, size_t s_fr_size, void *out_g1, size_t out_g1_size)
 
bool bw6_761_pairing (const void *a_g1, size_t a_g1_size, const void *b_g2, size_t b_g2_size, const void *c_g1, size_t c_g1_size, const void *d_g2, size_t d_g2_size, const void *e_g1, size_t e_g1_size, const void *f_g2, size_t f_g2_size, const void *g_g1, size_t g_g1_size, const void *h_g2, size_t h_g2_size)
 

Function Documentation

◆ bls12_377_g1_add()

bool bls12_377_g1_add ( const void *  a_g1,
size_t  a_g1_size,
const void *  b_g1,
size_t  b_g1_size,
void *  out_g1,
size_t  out_g1_size 
)

Definition at line 130 of file ffi.cpp.

137 {
138  return libff::ffi::g1_add<libff::bls12_377_pp>(
139  a_g1, a_g1_size, b_g1, b_g1_size, out_g1, out_g1_size);
140 }

◆ bls12_377_g1_mul()

bool bls12_377_g1_mul ( const void *  p_g1,
size_t  p_g1_size,
const void *  s_fr,
size_t  s_fr_size,
void *  out_g1,
size_t  out_g1_size 
)

Definition at line 142 of file ffi.cpp.

150 {
151  return libff::ffi::g1_mul<libff::bls12_377_pp>(
152  p_g1, p_g1_size, s_fr, s_fr_size, out_g1, out_g1_size);
153 }

◆ bls12_377_init()

bool bls12_377_init ( )

Definition at line 124 of file ffi.cpp.

125 {
127  return true;
128 }
Here is the call graph for this function:

◆ bls12_377_pairing()

bool bls12_377_pairing ( const void *  a_g1,
size_t  a_g1_size,
const void *  b_g2,
size_t  b_g2_size,
const void *  c_g1,
size_t  c_g1_size,
const void *  d_g2,
size_t  d_g2_size,
const void *  e_g1,
size_t  e_g1_size,
const void *  f_g2,
size_t  f_g2_size,
const void *  g_g1,
size_t  g_g1_size,
const void *  h_g2,
size_t  h_g2_size 
)

Definition at line 155 of file ffi.cpp.

172 {
173  return libff::ffi::pairing<libff::bls12_377_pp>(
174  a_g1,
175  a_g1_size,
176  b_g2,
177  b_g2_size,
178  c_g1,
179  c_g1_size,
180  d_g2,
181  d_g2_size,
182  e_g1,
183  e_g1_size,
184  f_g2,
185  f_g2_size,
186  g_g1,
187  g_g1_size,
188  h_g2,
189  h_g2_size);
190 }

◆ bw6_761_g1_add()

bool bw6_761_g1_add ( const void *  a_g1,
size_t  a_g1_size,
const void *  b_g1,
size_t  b_g1_size,
void *  out_g1,
size_t  out_g1_size 
)

Definition at line 200 of file ffi.cpp.

207 {
208  return libff::ffi::g1_add<libff::bw6_761_pp>(
209  a_g1, a_g1_size, b_g1, b_g1_size, out_g1, out_g1_size);
210 }

◆ bw6_761_g1_mul()

bool bw6_761_g1_mul ( const void *  p_g1,
size_t  p_g1_size,
const void *  s_fr,
size_t  s_fr_size,
void *  out_g1,
size_t  out_g1_size 
)

Definition at line 212 of file ffi.cpp.

220 {
221  return libff::ffi::g1_mul<libff::bw6_761_pp>(
222  p_g1, p_g1_size, s_fr, s_fr_size, out_g1, out_g1_size);
223 }

◆ bw6_761_init()

bool bw6_761_init ( )

Definition at line 194 of file ffi.cpp.

195 {
197  return true;
198 }
Here is the call graph for this function:

◆ bw6_761_pairing()

bool bw6_761_pairing ( const void *  a_g1,
size_t  a_g1_size,
const void *  b_g2,
size_t  b_g2_size,
const void *  c_g1,
size_t  c_g1_size,
const void *  d_g2,
size_t  d_g2_size,
const void *  e_g1,
size_t  e_g1_size,
const void *  f_g2,
size_t  f_g2_size,
const void *  g_g1,
size_t  g_g1_size,
const void *  h_g2,
size_t  h_g2_size 
)

Definition at line 225 of file ffi.cpp.

242 {
243  return libff::ffi::pairing<libff::bw6_761_pp>(
244  a_g1,
245  a_g1_size,
246  b_g2,
247  b_g2_size,
248  c_g1,
249  c_g1_size,
250  d_g2,
251  d_g2_size,
252  e_g1,
253  e_g1_size,
254  f_g2,
255  f_g2_size,
256  g_g1,
257  g_g1_size,
258  h_g2,
259  h_g2_size);
260 }
libff::bls12_377_pp::init_public_params
static void init_public_params()
Definition: bls12_377_pp.cpp:15
libff::bw6_761_pp::init_public_params
static void init_public_params()
Definition: bw6_761_pp.cpp:8