Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix api #592

Merged
merged 1 commit into from
Aug 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 24 additions & 56 deletions icicle/include/icicle/api/babybear.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,48 +9,29 @@
#include "icicle/ntt.h"
#include "icicle/vec_ops.h"

extern "C" void babybear_extension_generate_scalars(babybear::extension_t* scalars, int size);
extern "C" void babybear_generate_scalars(babybear::scalar_t* scalars, int size);

extern "C" eIcicleError babybear_extension_scalar_convert_montgomery(
const babybear::extension_t* input,
uint64_t size,
bool is_into,
const VecOpsConfig& config,
babybear::extension_t* output);
extern "C" void babybear_scalar_convert_montgomery(
const babybear::scalar_t* input, uint64_t size, bool is_into, const VecOpsConfig& config, babybear::scalar_t* output);

extern "C" eIcicleError babybear_ntt_init_domain(babybear::scalar_t* primitive_root, const NTTInitDomainConfig& config);
extern "C" eIcicleError babybear_ntt_init_domain(
babybear::scalar_t* primitive_root, const NTTInitDomainConfig& config);

extern "C" eIcicleError babybear_ntt(
const babybear::scalar_t* input,
int size,
NTTDir dir,
const NTTConfig<babybear::scalar_t>& config,
babybear::scalar_t* output);
const babybear::scalar_t* input, int size, NTTDir dir, const NTTConfig<babybear::scalar_t>& config, babybear::scalar_t* output);

extern "C" eIcicleError babybear_ntt_release_domain();

extern "C" eIcicleError babybear_extension_vector_mul(
const babybear::extension_t* vec_a,
const babybear::extension_t* vec_b,
uint64_t n,
const VecOpsConfig& config,
babybear::extension_t* result);
const babybear::extension_t* vec_a, const babybear::extension_t* vec_b, uint64_t n, const VecOpsConfig& config, babybear::extension_t* result);

extern "C" eIcicleError babybearextension_vector_add(
const babybear::extension_t* vec_a,
const babybear::extension_t* vec_b,
uint64_t n,
const VecOpsConfig& config,
babybear::extension_t* result);
extern "C" eIcicleError babybear_extension_vector_add(
const babybear::extension_t* vec_a, const babybear::extension_t* vec_b, uint64_t n, const VecOpsConfig& config, babybear::extension_t* result);

extern "C" eIcicleError babybear_extension_vector_sub(
const babybear::extension_t* vec_a,
const babybear::extension_t* vec_b,
uint64_t n,
const VecOpsConfig& config,
babybear::extension_t* result);
const babybear::extension_t* vec_a, const babybear::extension_t* vec_b, uint64_t n, const VecOpsConfig& config, babybear::extension_t* result);

extern "C" eIcicleError babybear_extension_transpose_matrix(
extern "C" eIcicleError babybear_extension_matrix_transpose(
const babybear::extension_t* input,
uint32_t nof_rows,
uint32_t nof_cols,
Expand All @@ -60,40 +41,22 @@ extern "C" eIcicleError babybear_extension_transpose_matrix(
extern "C" eIcicleError babybear_extension_bit_reverse(
const babybear::extension_t* input, uint64_t n, const VecOpsConfig& config, babybear::extension_t* output);

extern "C" eIcicleError babybear_extension_ntt(
const babybear::extension_t* input,
int size,
NTTDir dir,
const NTTConfig<babybear::scalar_t>& config,
babybear::extension_t* output);

extern "C" void babybear_generate_scalars(babybear::scalar_t* scalars, int size);
extern "C" void babybear_extension_generate_scalars(babybear::extension_t* scalars, int size);

extern "C" void babybear_scalar_convert_montgomery(
const babybear::scalar_t* input, uint64_t size, bool is_into, const VecOpsConfig& config, babybear::scalar_t* output);
extern "C" eIcicleError babybear_extension_scalar_convert_montgomery(
const babybear::extension_t* input, uint64_t size, bool is_into, const VecOpsConfig& config, babybear::extension_t* output);

extern "C" eIcicleError babybear_vector_mul(
const babybear::scalar_t* vec_a,
const babybear::scalar_t* vec_b,
uint64_t n,
const VecOpsConfig& config,
babybear::scalar_t* result);
const babybear::scalar_t* vec_a, const babybear::scalar_t* vec_b, uint64_t n, const VecOpsConfig& config, babybear::scalar_t* result);

extern "C" eIcicleError babybearvector_add(
const babybear::scalar_t* vec_a,
const babybear::scalar_t* vec_b,
uint64_t n,
const VecOpsConfig& config,
babybear::scalar_t* result);
extern "C" eIcicleError babybear_vector_add(
const babybear::scalar_t* vec_a, const babybear::scalar_t* vec_b, uint64_t n, const VecOpsConfig& config, babybear::scalar_t* result);

extern "C" eIcicleError babybear_vector_sub(
const babybear::scalar_t* vec_a,
const babybear::scalar_t* vec_b,
uint64_t n,
const VecOpsConfig& config,
babybear::scalar_t* result);
const babybear::scalar_t* vec_a, const babybear::scalar_t* vec_b, uint64_t n, const VecOpsConfig& config, babybear::scalar_t* result);

extern "C" eIcicleError babybear_transpose_matrix(
extern "C" eIcicleError babybear_matrix_transpose(
const babybear::scalar_t* input,
uint32_t nof_rows,
uint32_t nof_cols,
Expand All @@ -102,3 +65,8 @@ extern "C" eIcicleError babybear_transpose_matrix(

extern "C" eIcicleError babybear_bit_reverse(
const babybear::scalar_t* input, uint64_t n, const VecOpsConfig& config, babybear::scalar_t* output);


extern "C" eIcicleError babybear_extension_ntt(
const babybear::extension_t* input, int size, NTTDir dir, const NTTConfig<babybear::scalar_t>& config, babybear::extension_t* output);

118 changes: 41 additions & 77 deletions icicle/include/icicle/api/bls12_377.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,37 +10,23 @@
#include "icicle/msm.h"
#include "icicle/vec_ops.h"

extern "C" eIcicleError bls12_377_g2_precompute_msm_bases(
const bls12_377::g2_affine_t* bases, int nof_bases, const MSMConfig& config, bls12_377::g2_affine_t* output_bases);

extern "C" eIcicleError bls12_377_g2_msm(
const bls12_377::scalar_t* scalars,
const bls12_377::g2_affine_t* points,
int msm_size,
extern "C" eIcicleError bls12_377_precompute_msm_bases(
const bls12_377::affine_t* bases,
int nof_bases,
const MSMConfig& config,
bls12_377::g2_projective_t* out);
bls12_377::affine_t* output_bases);

extern "C" bool bls12_377_g2_eq(bls12_377::g2_projective_t* point1, bls12_377::g2_projective_t* point2);

extern "C" void bls12_377_g2_to_affine(bls12_377::g2_projective_t* point, bls12_377::g2_affine_t* point_out);

extern "C" void bls12_377_g2_generate_projective_points(bls12_377::g2_projective_t* points, int size);

extern "C" void bls12_377_g2_generate_affine_points(bls12_377::g2_affine_t* points, int size);
extern "C" eIcicleError bls12_377_msm(
const bls12_377::scalar_t* scalars, const bls12_377::affine_t* points, int msm_size, const MSMConfig& config, bls12_377::projective_t* out);

extern "C" eIcicleError bls12_377_g2_affine_convert_montgomery(
const bls12_377::g2_affine_t* input,
size_t n,
bool is_into,
const VecOpsConfig& config,
bls12_377::g2_affine_t* output);
extern "C" eIcicleError bls12_377_g2_precompute_msm_bases(
const bls12_377::g2_affine_t* bases,
int nof_bases,
const MSMConfig& config,
bls12_377::g2_affine_t* output_bases);

extern "C" eIcicleError bls12_377_g2_projective_convert_montgomery(
const bls12_377::g2_projective_t* input,
size_t n,
bool is_into,
const VecOpsConfig& config,
bls12_377::g2_projective_t* output);
extern "C" eIcicleError bls12_377_g2_msm(
const bls12_377::scalar_t* scalars, const bls12_377::g2_affine_t* points, int msm_size, const MSMConfig& config, bls12_377::g2_projective_t* out);

extern "C" bool bls12_377_eq(bls12_377::projective_t* point1, bls12_377::projective_t* point2);

Expand All @@ -54,72 +40,48 @@ extern "C" eIcicleError bls12_377_affine_convert_montgomery(
const bls12_377::affine_t* input, size_t n, bool is_into, const VecOpsConfig& config, bls12_377::affine_t* output);

extern "C" eIcicleError bls12_377_projective_convert_montgomery(
const bls12_377::projective_t* input,
size_t n,
bool is_into,
const VecOpsConfig& config,
bls12_377::projective_t* output);
const bls12_377::projective_t* input, size_t n, bool is_into, const VecOpsConfig& config, bls12_377::projective_t* output);

extern "C" eIcicleError bls12_377_precompute_msm_bases(
const bls12_377::affine_t* bases, int nof_bases, const MSMConfig& config, bls12_377::affine_t* output_bases);
extern "C" bool bls12_377_g2_eq(bls12_377::g2_projective_t* point1, bls12_377::g2_projective_t* point2);

extern "C" eIcicleError bls12_377_msm(
const bls12_377::scalar_t* scalars,
const bls12_377::affine_t* points,
int msm_size,
const MSMConfig& config,
bls12_377::projective_t* out);
extern "C" void bls12_377_g2_to_affine(bls12_377::g2_projective_t* point, bls12_377::g2_affine_t* point_out);

extern "C" eIcicleError bls12_377_ecntt(
const bls12_377::projective_t* input,
int size,
NTTDir dir,
const NTTConfig<bls12_377::scalar_t>& config,
bls12_377::projective_t* output);
extern "C" void bls12_377_g2_generate_projective_points(bls12_377::g2_projective_t* points, int size);

extern "C" eIcicleError
bls12_377_ntt_init_domain(bls12_377::scalar_t* primitive_root, const NTTInitDomainConfig& config);
extern "C" void bls12_377_g2_generate_affine_points(bls12_377::g2_affine_t* points, int size);

extern "C" eIcicleError bls12_377_ntt(
const bls12_377::scalar_t* input,
int size,
NTTDir dir,
const NTTConfig<bls12_377::scalar_t>& config,
bls12_377::scalar_t* output);
extern "C" eIcicleError bls12_377_g2_affine_convert_montgomery(
const bls12_377::g2_affine_t* input, size_t n, bool is_into, const VecOpsConfig& config, bls12_377::g2_affine_t* output);

extern "C" eIcicleError bls12_377_ntt_release_domain();
extern "C" eIcicleError bls12_377_g2_projective_convert_montgomery(
const bls12_377::g2_projective_t* input, size_t n, bool is_into, const VecOpsConfig& config, bls12_377::g2_projective_t* output);

extern "C" eIcicleError bls12_377_ecntt(
const bls12_377::projective_t* input, int size, NTTDir dir, const NTTConfig<bls12_377::scalar_t>& config, bls12_377::projective_t* output);

extern "C" void bls12_377_generate_scalars(bls12_377::scalar_t* scalars, int size);

extern "C" void bls12_377_scalar_convert_montgomery(
const bls12_377::scalar_t* input,
uint64_t size,
bool is_into,
const VecOpsConfig& config,
bls12_377::scalar_t* output);
const bls12_377::scalar_t* input, uint64_t size, bool is_into, const VecOpsConfig& config, bls12_377::scalar_t* output);

extern "C" eIcicleError bls12_377_ntt_init_domain(
bls12_377::scalar_t* primitive_root, const NTTInitDomainConfig& config);

extern "C" eIcicleError bls12_377_ntt(
const bls12_377::scalar_t* input, int size, NTTDir dir, const NTTConfig<bls12_377::scalar_t>& config, bls12_377::scalar_t* output);

extern "C" eIcicleError bls12_377_ntt_release_domain();

extern "C" eIcicleError bls12_377_vector_mul(
const bls12_377::scalar_t* vec_a,
const bls12_377::scalar_t* vec_b,
uint64_t n,
const VecOpsConfig& config,
bls12_377::scalar_t* result);
const bls12_377::scalar_t* vec_a, const bls12_377::scalar_t* vec_b, uint64_t n, const VecOpsConfig& config, bls12_377::scalar_t* result);

extern "C" eIcicleError bls12_377vector_add(
const bls12_377::scalar_t* vec_a,
const bls12_377::scalar_t* vec_b,
uint64_t n,
const VecOpsConfig& config,
bls12_377::scalar_t* result);
extern "C" eIcicleError bls12_377_vector_add(
const bls12_377::scalar_t* vec_a, const bls12_377::scalar_t* vec_b, uint64_t n, const VecOpsConfig& config, bls12_377::scalar_t* result);

extern "C" eIcicleError bls12_377_vector_sub(
const bls12_377::scalar_t* vec_a,
const bls12_377::scalar_t* vec_b,
uint64_t n,
const VecOpsConfig& config,
bls12_377::scalar_t* result);
const bls12_377::scalar_t* vec_a, const bls12_377::scalar_t* vec_b, uint64_t n, const VecOpsConfig& config, bls12_377::scalar_t* result);

extern "C" eIcicleError bls12_377_transpose_matrix(
extern "C" eIcicleError bls12_377_matrix_transpose(
const bls12_377::scalar_t* input,
uint32_t nof_rows,
uint32_t nof_cols,
Expand All @@ -128,3 +90,5 @@ extern "C" eIcicleError bls12_377_transpose_matrix(

extern "C" eIcicleError bls12_377_bit_reverse(
const bls12_377::scalar_t* input, uint64_t n, const VecOpsConfig& config, bls12_377::scalar_t* output);


Loading
Loading