From 46797294a6e86ac204c62fcb44e0a65b948bfbf7 Mon Sep 17 00:00:00 2001 From: Yuval Shekel Date: Tue, 30 Jul 2024 12:10:59 +0300 Subject: [PATCH] rename template files to not format them --- icicle_v3/include/icicle/api/babybear.h | 104 +++++++++--------- icicle_v3/include/icicle/api/bls12_377.h | 76 ++++++------- icicle_v3/include/icicle/api/bls12_381.h | 76 ++++++------- icicle_v3/include/icicle/api/bn254.h | 58 +++++----- icicle_v3/include/icicle/api/bw6_761.h | 66 +++++------ icicle_v3/include/icicle/api/grumpkin.h | 30 ++--- icicle_v3/include/icicle/api/stark252.h | 32 +++--- .../curves/{curve.h => curve.template} | 0 .../curves/{curve_g2.h => curve_g2.template} | 0 .../curves/{ecntt.h => ecntt.template} | 0 .../templates/curves/{msm.h => msm.template} | 0 .../curves/{msm_g2.h => msm_g2.template} | 0 .../fields/{field.h => field.template} | 0 .../{field_ext.h => field_ext.template} | 0 .../templates/fields/{ntt.h => ntt.template} | 0 .../fields/{ntt_ext.h => ntt_ext.template} | 0 .../fields/{vec_ops.h => vec_ops.template} | 0 .../{vec_ops_ext.h => vec_ops_ext.template} | 0 scripts/gen_c_api.py | 66 +++++------ 19 files changed, 254 insertions(+), 254 deletions(-) rename icicle_v3/include/icicle/api/templates/curves/{curve.h => curve.template} (100%) rename icicle_v3/include/icicle/api/templates/curves/{curve_g2.h => curve_g2.template} (100%) rename icicle_v3/include/icicle/api/templates/curves/{ecntt.h => ecntt.template} (100%) rename icicle_v3/include/icicle/api/templates/curves/{msm.h => msm.template} (100%) rename icicle_v3/include/icicle/api/templates/curves/{msm_g2.h => msm_g2.template} (100%) rename icicle_v3/include/icicle/api/templates/fields/{field.h => field.template} (100%) rename icicle_v3/include/icicle/api/templates/fields/{field_ext.h => field_ext.template} (100%) rename icicle_v3/include/icicle/api/templates/fields/{ntt.h => ntt.template} (100%) rename icicle_v3/include/icicle/api/templates/fields/{ntt_ext.h => ntt_ext.template} (100%) rename icicle_v3/include/icicle/api/templates/fields/{vec_ops.h => vec_ops.template} (100%) rename icicle_v3/include/icicle/api/templates/fields/{vec_ops_ext.h => vec_ops_ext.template} (100%) diff --git a/icicle_v3/include/icicle/api/babybear.h b/icicle_v3/include/icicle/api/babybear.h index 3b1da159..e496df18 100644 --- a/icicle_v3/include/icicle/api/babybear.h +++ b/icicle_v3/include/icicle/api/babybear.h @@ -9,52 +9,15 @@ #include "icicle/ntt.h" #include "icicle/vec_ops.h" -extern "C" eIcicleError babybear_extension_ntt( +extern "C" void babybear_extension_generate_scalars(babybear::extension_t* scalars, int size); + +extern "C" eIcicleError babybear_extension_scalar_convert_montgomery( const babybear::extension_t* input, - int size, - NTTDir dir, - NTTConfig& config, + 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); - -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_accumulate_cuda( -// const babybear::scalar_t* vec_a, const babybear::scalar_t* vec_b, uint64_t n, const VecOpsConfig& config); - -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); - -extern "C" eIcicleError babybear_transpose_matrix( - const babybear::scalar_t* input, - uint32_t nof_rows, - uint32_t nof_cols, - const VecOpsConfig& config, - babybear::scalar_t* output); - -extern "C" eIcicleError babybear_bit_reverse( - const babybear::scalar_t* input, uint64_t n, const VecOpsConfig& config, babybear::scalar_t* output); - -extern "C" void babybear_generate_scalars(babybear::scalar_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_ntt_init_domain(babybear::scalar_t* primitive_root, const NTTInitDomainConfig& config); extern "C" eIcicleError babybear_ntt( @@ -66,15 +29,6 @@ extern "C" eIcicleError babybear_ntt( extern "C" eIcicleError babybear_ntt_release_domain(); -extern "C" void babybear_extension_generate_scalars(babybear::extension_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" eIcicleError babybear_extension_vector_mul( const babybear::extension_t* vec_a, const babybear::extension_t* vec_b, @@ -108,3 +62,49 @@ 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, + NTTConfig& config, + babybear::extension_t* output); + +extern "C" void babybear_generate_scalars(babybear::scalar_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_vector_mul( + 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_accumulate_cuda( +// const babybear::scalar_t* vec_a, const babybear::scalar_t* vec_b, uint64_t n, const VecOpsConfig& config); + +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); + +extern "C" eIcicleError babybear_transpose_matrix( + const babybear::scalar_t* input, + uint32_t nof_rows, + uint32_t nof_cols, + const VecOpsConfig& config, + babybear::scalar_t* output); + +extern "C" eIcicleError babybear_bit_reverse( + const babybear::scalar_t* input, uint64_t n, const VecOpsConfig& config, babybear::scalar_t* output); diff --git a/icicle_v3/include/icicle/api/bls12_377.h b/icicle_v3/include/icicle/api/bls12_377.h index fdc991d9..ef9c8fc8 100644 --- a/icicle_v3/include/icicle/api/bls12_377.h +++ b/icicle_v3/include/icicle/api/bls12_377.h @@ -20,16 +20,6 @@ extern "C" eIcicleError bls12_377_g2_msm( const MSMConfig& config, bls12_377::g2_projective_t* out); -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" 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" 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); @@ -52,13 +42,6 @@ extern "C" eIcicleError bls12_377_g2_projective_convert_montgomery( 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, - NTTConfig& config, - bls12_377::projective_t* output); - extern "C" bool bls12_377_eq(bls12_377::projective_t* point1, bls12_377::projective_t* point2); extern "C" void bls12_377_to_affine(bls12_377::projective_t* point, bls12_377::affine_t* point_out); @@ -77,6 +60,44 @@ extern "C" eIcicleError bls12_377_projective_convert_montgomery( 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" 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_ecntt( + const bls12_377::projective_t* input, + int size, + NTTDir dir, + NTTConfig& config, + bls12_377::projective_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, + NTTConfig& config, + bls12_377::scalar_t* output); + +extern "C" eIcicleError bls12_377_ntt_release_domain(); + +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); + extern "C" eIcicleError bls12_377_vector_mul( const bls12_377::scalar_t* vec_a, const bls12_377::scalar_t* vec_b, @@ -110,24 +131,3 @@ 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); - -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); - -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, - NTTConfig& config, - bls12_377::scalar_t* output); - -extern "C" eIcicleError bls12_377_ntt_release_domain(); diff --git a/icicle_v3/include/icicle/api/bls12_381.h b/icicle_v3/include/icicle/api/bls12_381.h index dfd9297a..21d8fb59 100644 --- a/icicle_v3/include/icicle/api/bls12_381.h +++ b/icicle_v3/include/icicle/api/bls12_381.h @@ -20,16 +20,6 @@ extern "C" eIcicleError bls12_381_g2_msm( const MSMConfig& config, bls12_381::g2_projective_t* out); -extern "C" eIcicleError bls12_381_precompute_msm_bases( - const bls12_381::affine_t* bases, int nof_bases, const MSMConfig& config, bls12_381::affine_t* output_bases); - -extern "C" eIcicleError bls12_381_msm( - const bls12_381::scalar_t* scalars, - const bls12_381::affine_t* points, - int msm_size, - const MSMConfig& config, - bls12_381::projective_t* out); - extern "C" bool bls12_381_g2_eq(bls12_381::g2_projective_t* point1, bls12_381::g2_projective_t* point2); extern "C" void bls12_381_g2_to_affine(bls12_381::g2_projective_t* point, bls12_381::g2_affine_t* point_out); @@ -52,13 +42,6 @@ extern "C" eIcicleError bls12_381_g2_projective_convert_montgomery( const VecOpsConfig& config, bls12_381::g2_projective_t* output); -extern "C" eIcicleError bls12_381_ecntt( - const bls12_381::projective_t* input, - int size, - NTTDir dir, - NTTConfig& config, - bls12_381::projective_t* output); - extern "C" bool bls12_381_eq(bls12_381::projective_t* point1, bls12_381::projective_t* point2); extern "C" void bls12_381_to_affine(bls12_381::projective_t* point, bls12_381::affine_t* point_out); @@ -77,6 +60,44 @@ extern "C" eIcicleError bls12_381_projective_convert_montgomery( const VecOpsConfig& config, bls12_381::projective_t* output); +extern "C" eIcicleError bls12_381_precompute_msm_bases( + const bls12_381::affine_t* bases, int nof_bases, const MSMConfig& config, bls12_381::affine_t* output_bases); + +extern "C" eIcicleError bls12_381_msm( + const bls12_381::scalar_t* scalars, + const bls12_381::affine_t* points, + int msm_size, + const MSMConfig& config, + bls12_381::projective_t* out); + +extern "C" eIcicleError bls12_381_ecntt( + const bls12_381::projective_t* input, + int size, + NTTDir dir, + NTTConfig& config, + bls12_381::projective_t* output); + +extern "C" eIcicleError +bls12_381_ntt_init_domain(bls12_381::scalar_t* primitive_root, const NTTInitDomainConfig& config); + +extern "C" eIcicleError bls12_381_ntt( + const bls12_381::scalar_t* input, + int size, + NTTDir dir, + NTTConfig& config, + bls12_381::scalar_t* output); + +extern "C" eIcicleError bls12_381_ntt_release_domain(); + +extern "C" void bls12_381_generate_scalars(bls12_381::scalar_t* scalars, int size); + +extern "C" void bls12_381_scalar_convert_montgomery( + const bls12_381::scalar_t* input, + uint64_t size, + bool is_into, + const VecOpsConfig& config, + bls12_381::scalar_t* output); + extern "C" eIcicleError bls12_381_vector_mul( const bls12_381::scalar_t* vec_a, const bls12_381::scalar_t* vec_b, @@ -110,24 +131,3 @@ extern "C" eIcicleError bls12_381_transpose_matrix( extern "C" eIcicleError bls12_381_bit_reverse( const bls12_381::scalar_t* input, uint64_t n, const VecOpsConfig& config, bls12_381::scalar_t* output); - -extern "C" void bls12_381_generate_scalars(bls12_381::scalar_t* scalars, int size); - -extern "C" void bls12_381_scalar_convert_montgomery( - const bls12_381::scalar_t* input, - uint64_t size, - bool is_into, - const VecOpsConfig& config, - bls12_381::scalar_t* output); - -extern "C" eIcicleError -bls12_381_ntt_init_domain(bls12_381::scalar_t* primitive_root, const NTTInitDomainConfig& config); - -extern "C" eIcicleError bls12_381_ntt( - const bls12_381::scalar_t* input, - int size, - NTTDir dir, - NTTConfig& config, - bls12_381::scalar_t* output); - -extern "C" eIcicleError bls12_381_ntt_release_domain(); diff --git a/icicle_v3/include/icicle/api/bn254.h b/icicle_v3/include/icicle/api/bn254.h index 42b80da2..b881a852 100644 --- a/icicle_v3/include/icicle/api/bn254.h +++ b/icicle_v3/include/icicle/api/bn254.h @@ -20,16 +20,6 @@ extern "C" eIcicleError bn254_g2_msm( const MSMConfig& config, bn254::g2_projective_t* out); -extern "C" eIcicleError bn254_precompute_msm_bases( - const bn254::affine_t* bases, int nof_bases, const MSMConfig& config, bn254::affine_t* output_bases); - -extern "C" eIcicleError bn254_msm( - const bn254::scalar_t* scalars, - const bn254::affine_t* points, - int msm_size, - const MSMConfig& config, - bn254::projective_t* out); - extern "C" bool bn254_g2_eq(bn254::g2_projective_t* point1, bn254::g2_projective_t* point2); extern "C" void bn254_g2_to_affine(bn254::g2_projective_t* point, bn254::g2_affine_t* point_out); @@ -48,13 +38,6 @@ extern "C" eIcicleError bn254_g2_projective_convert_montgomery( const VecOpsConfig& config, bn254::g2_projective_t* output); -extern "C" eIcicleError bn254_ecntt( - const bn254::projective_t* input, - int size, - NTTDir dir, - NTTConfig& config, - bn254::projective_t* output); - extern "C" bool bn254_eq(bn254::projective_t* point1, bn254::projective_t* point2); extern "C" void bn254_to_affine(bn254::projective_t* point, bn254::affine_t* point_out); @@ -69,6 +52,35 @@ extern "C" eIcicleError bn254_affine_convert_montgomery( extern "C" eIcicleError bn254_projective_convert_montgomery( const bn254::projective_t* input, size_t n, bool is_into, const VecOpsConfig& config, bn254::projective_t* output); +extern "C" eIcicleError bn254_precompute_msm_bases( + const bn254::affine_t* bases, int nof_bases, const MSMConfig& config, bn254::affine_t* output_bases); + +extern "C" eIcicleError bn254_msm( + const bn254::scalar_t* scalars, + const bn254::affine_t* points, + int msm_size, + const MSMConfig& config, + bn254::projective_t* out); + +extern "C" eIcicleError bn254_ecntt( + const bn254::projective_t* input, + int size, + NTTDir dir, + NTTConfig& config, + bn254::projective_t* output); + +extern "C" eIcicleError bn254_ntt_init_domain(bn254::scalar_t* primitive_root, const NTTInitDomainConfig& config); + +extern "C" eIcicleError bn254_ntt( + const bn254::scalar_t* input, int size, NTTDir dir, NTTConfig& config, bn254::scalar_t* output); + +extern "C" eIcicleError bn254_ntt_release_domain(); + +extern "C" void bn254_generate_scalars(bn254::scalar_t* scalars, int size); + +extern "C" void bn254_scalar_convert_montgomery( + const bn254::scalar_t* input, uint64_t size, bool is_into, const VecOpsConfig& config, bn254::scalar_t* output); + extern "C" eIcicleError bn254_vector_mul( const bn254::scalar_t* vec_a, const bn254::scalar_t* vec_b, @@ -102,15 +114,3 @@ extern "C" eIcicleError bn254_transpose_matrix( extern "C" eIcicleError bn254_bit_reverse(const bn254::scalar_t* input, uint64_t n, const VecOpsConfig& config, bn254::scalar_t* output); - -extern "C" void bn254_generate_scalars(bn254::scalar_t* scalars, int size); - -extern "C" void bn254_scalar_convert_montgomery( - const bn254::scalar_t* input, uint64_t size, bool is_into, const VecOpsConfig& config, bn254::scalar_t* output); - -extern "C" eIcicleError bn254_ntt_init_domain(bn254::scalar_t* primitive_root, const NTTInitDomainConfig& config); - -extern "C" eIcicleError bn254_ntt( - const bn254::scalar_t* input, int size, NTTDir dir, NTTConfig& config, bn254::scalar_t* output); - -extern "C" eIcicleError bn254_ntt_release_domain(); diff --git a/icicle_v3/include/icicle/api/bw6_761.h b/icicle_v3/include/icicle/api/bw6_761.h index 760cbb66..7f547955 100644 --- a/icicle_v3/include/icicle/api/bw6_761.h +++ b/icicle_v3/include/icicle/api/bw6_761.h @@ -20,16 +20,6 @@ extern "C" eIcicleError bw6_761_g2_msm( const MSMConfig& config, bw6_761::g2_projective_t* out); -extern "C" eIcicleError bw6_761_precompute_msm_bases( - const bw6_761::affine_t* bases, int nof_bases, const MSMConfig& config, bw6_761::affine_t* output_bases); - -extern "C" eIcicleError bw6_761_msm( - const bw6_761::scalar_t* scalars, - const bw6_761::affine_t* points, - int msm_size, - const MSMConfig& config, - bw6_761::projective_t* out); - extern "C" bool bw6_761_g2_eq(bw6_761::g2_projective_t* point1, bw6_761::g2_projective_t* point2); extern "C" void bw6_761_g2_to_affine(bw6_761::g2_projective_t* point, bw6_761::g2_affine_t* point_out); @@ -48,13 +38,6 @@ extern "C" eIcicleError bw6_761_g2_projective_convert_montgomery( const VecOpsConfig& config, bw6_761::g2_projective_t* output); -extern "C" eIcicleError bw6_761_ecntt( - const bw6_761::projective_t* input, - int size, - NTTDir dir, - NTTConfig& config, - bw6_761::projective_t* output); - extern "C" bool bw6_761_eq(bw6_761::projective_t* point1, bw6_761::projective_t* point2); extern "C" void bw6_761_to_affine(bw6_761::projective_t* point, bw6_761::affine_t* point_out); @@ -73,6 +56,39 @@ extern "C" eIcicleError bw6_761_projective_convert_montgomery( const VecOpsConfig& config, bw6_761::projective_t* output); +extern "C" eIcicleError bw6_761_precompute_msm_bases( + const bw6_761::affine_t* bases, int nof_bases, const MSMConfig& config, bw6_761::affine_t* output_bases); + +extern "C" eIcicleError bw6_761_msm( + const bw6_761::scalar_t* scalars, + const bw6_761::affine_t* points, + int msm_size, + const MSMConfig& config, + bw6_761::projective_t* out); + +extern "C" eIcicleError bw6_761_ecntt( + const bw6_761::projective_t* input, + int size, + NTTDir dir, + NTTConfig& config, + bw6_761::projective_t* output); + +extern "C" eIcicleError bw6_761_ntt_init_domain(bw6_761::scalar_t* primitive_root, const NTTInitDomainConfig& config); + +extern "C" eIcicleError bw6_761_ntt( + const bw6_761::scalar_t* input, + int size, + NTTDir dir, + NTTConfig& config, + bw6_761::scalar_t* output); + +extern "C" eIcicleError bw6_761_ntt_release_domain(); + +extern "C" void bw6_761_generate_scalars(bw6_761::scalar_t* scalars, int size); + +extern "C" void bw6_761_scalar_convert_montgomery( + const bw6_761::scalar_t* input, uint64_t size, bool is_into, const VecOpsConfig& config, bw6_761::scalar_t* output); + extern "C" eIcicleError bw6_761_vector_mul( const bw6_761::scalar_t* vec_a, const bw6_761::scalar_t* vec_b, @@ -106,19 +122,3 @@ extern "C" eIcicleError bw6_761_transpose_matrix( extern "C" eIcicleError bw6_761_bit_reverse(const bw6_761::scalar_t* input, uint64_t n, const VecOpsConfig& config, bw6_761::scalar_t* output); - -extern "C" void bw6_761_generate_scalars(bw6_761::scalar_t* scalars, int size); - -extern "C" void bw6_761_scalar_convert_montgomery( - const bw6_761::scalar_t* input, uint64_t size, bool is_into, const VecOpsConfig& config, bw6_761::scalar_t* output); - -extern "C" eIcicleError bw6_761_ntt_init_domain(bw6_761::scalar_t* primitive_root, const NTTInitDomainConfig& config); - -extern "C" eIcicleError bw6_761_ntt( - const bw6_761::scalar_t* input, - int size, - NTTDir dir, - NTTConfig& config, - bw6_761::scalar_t* output); - -extern "C" eIcicleError bw6_761_ntt_release_domain(); diff --git a/icicle_v3/include/icicle/api/grumpkin.h b/icicle_v3/include/icicle/api/grumpkin.h index 5d701fed..a2930772 100644 --- a/icicle_v3/include/icicle/api/grumpkin.h +++ b/icicle_v3/include/icicle/api/grumpkin.h @@ -9,16 +9,6 @@ #include "icicle/msm.h" #include "icicle/vec_ops.h" -extern "C" eIcicleError grumpkin_precompute_msm_bases( - const grumpkin::affine_t* bases, int nof_bases, const MSMConfig& config, grumpkin::affine_t* output_bases); - -extern "C" eIcicleError grumpkin_msm( - const grumpkin::scalar_t* scalars, - const grumpkin::affine_t* points, - int msm_size, - const MSMConfig& config, - grumpkin::projective_t* out); - extern "C" bool grumpkin_eq(grumpkin::projective_t* point1, grumpkin::projective_t* point2); extern "C" void grumpkin_to_affine(grumpkin::projective_t* point, grumpkin::affine_t* point_out); @@ -37,6 +27,21 @@ extern "C" eIcicleError grumpkin_projective_convert_montgomery( const VecOpsConfig& config, grumpkin::projective_t* output); +extern "C" eIcicleError grumpkin_precompute_msm_bases( + const grumpkin::affine_t* bases, int nof_bases, const MSMConfig& config, grumpkin::affine_t* output_bases); + +extern "C" eIcicleError grumpkin_msm( + const grumpkin::scalar_t* scalars, + const grumpkin::affine_t* points, + int msm_size, + const MSMConfig& config, + grumpkin::projective_t* out); + +extern "C" void grumpkin_generate_scalars(grumpkin::scalar_t* scalars, int size); + +extern "C" void grumpkin_scalar_convert_montgomery( + const grumpkin::scalar_t* input, uint64_t size, bool is_into, const VecOpsConfig& config, grumpkin::scalar_t* output); + extern "C" eIcicleError grumpkin_vector_mul( const grumpkin::scalar_t* vec_a, const grumpkin::scalar_t* vec_b, @@ -70,8 +75,3 @@ extern "C" eIcicleError grumpkin_transpose_matrix( extern "C" eIcicleError grumpkin_bit_reverse( const grumpkin::scalar_t* input, uint64_t n, const VecOpsConfig& config, grumpkin::scalar_t* output); - -extern "C" void grumpkin_generate_scalars(grumpkin::scalar_t* scalars, int size); - -extern "C" void grumpkin_scalar_convert_montgomery( - const grumpkin::scalar_t* input, uint64_t size, bool is_into, const VecOpsConfig& config, grumpkin::scalar_t* output); diff --git a/icicle_v3/include/icicle/api/stark252.h b/icicle_v3/include/icicle/api/stark252.h index 9f2eb871..4cbc8231 100644 --- a/icicle_v3/include/icicle/api/stark252.h +++ b/icicle_v3/include/icicle/api/stark252.h @@ -9,6 +9,22 @@ #include "icicle/ntt.h" #include "icicle/vec_ops.h" +extern "C" eIcicleError stark252_ntt_init_domain(stark252::scalar_t* primitive_root, const NTTInitDomainConfig& config); + +extern "C" eIcicleError stark252_ntt( + const stark252::scalar_t* input, + int size, + NTTDir dir, + NTTConfig& config, + stark252::scalar_t* output); + +extern "C" eIcicleError stark252_ntt_release_domain(); + +extern "C" void stark252_generate_scalars(stark252::scalar_t* scalars, int size); + +extern "C" void stark252_scalar_convert_montgomery( + const stark252::scalar_t* input, uint64_t size, bool is_into, const VecOpsConfig& config, stark252::scalar_t* output); + extern "C" eIcicleError stark252_vector_mul( const stark252::scalar_t* vec_a, const stark252::scalar_t* vec_b, @@ -42,19 +58,3 @@ extern "C" eIcicleError stark252_transpose_matrix( extern "C" eIcicleError stark252_bit_reverse( const stark252::scalar_t* input, uint64_t n, const VecOpsConfig& config, stark252::scalar_t* output); - -extern "C" void stark252_generate_scalars(stark252::scalar_t* scalars, int size); - -extern "C" void stark252_scalar_convert_montgomery( - const stark252::scalar_t* input, uint64_t size, bool is_into, const VecOpsConfig& config, stark252::scalar_t* output); - -extern "C" eIcicleError stark252_ntt_init_domain(stark252::scalar_t* primitive_root, const NTTInitDomainConfig& config); - -extern "C" eIcicleError stark252_ntt( - const stark252::scalar_t* input, - int size, - NTTDir dir, - NTTConfig& config, - stark252::scalar_t* output); - -extern "C" eIcicleError stark252_ntt_release_domain(); diff --git a/icicle_v3/include/icicle/api/templates/curves/curve.h b/icicle_v3/include/icicle/api/templates/curves/curve.template similarity index 100% rename from icicle_v3/include/icicle/api/templates/curves/curve.h rename to icicle_v3/include/icicle/api/templates/curves/curve.template diff --git a/icicle_v3/include/icicle/api/templates/curves/curve_g2.h b/icicle_v3/include/icicle/api/templates/curves/curve_g2.template similarity index 100% rename from icicle_v3/include/icicle/api/templates/curves/curve_g2.h rename to icicle_v3/include/icicle/api/templates/curves/curve_g2.template diff --git a/icicle_v3/include/icicle/api/templates/curves/ecntt.h b/icicle_v3/include/icicle/api/templates/curves/ecntt.template similarity index 100% rename from icicle_v3/include/icicle/api/templates/curves/ecntt.h rename to icicle_v3/include/icicle/api/templates/curves/ecntt.template diff --git a/icicle_v3/include/icicle/api/templates/curves/msm.h b/icicle_v3/include/icicle/api/templates/curves/msm.template similarity index 100% rename from icicle_v3/include/icicle/api/templates/curves/msm.h rename to icicle_v3/include/icicle/api/templates/curves/msm.template diff --git a/icicle_v3/include/icicle/api/templates/curves/msm_g2.h b/icicle_v3/include/icicle/api/templates/curves/msm_g2.template similarity index 100% rename from icicle_v3/include/icicle/api/templates/curves/msm_g2.h rename to icicle_v3/include/icicle/api/templates/curves/msm_g2.template diff --git a/icicle_v3/include/icicle/api/templates/fields/field.h b/icicle_v3/include/icicle/api/templates/fields/field.template similarity index 100% rename from icicle_v3/include/icicle/api/templates/fields/field.h rename to icicle_v3/include/icicle/api/templates/fields/field.template diff --git a/icicle_v3/include/icicle/api/templates/fields/field_ext.h b/icicle_v3/include/icicle/api/templates/fields/field_ext.template similarity index 100% rename from icicle_v3/include/icicle/api/templates/fields/field_ext.h rename to icicle_v3/include/icicle/api/templates/fields/field_ext.template diff --git a/icicle_v3/include/icicle/api/templates/fields/ntt.h b/icicle_v3/include/icicle/api/templates/fields/ntt.template similarity index 100% rename from icicle_v3/include/icicle/api/templates/fields/ntt.h rename to icicle_v3/include/icicle/api/templates/fields/ntt.template diff --git a/icicle_v3/include/icicle/api/templates/fields/ntt_ext.h b/icicle_v3/include/icicle/api/templates/fields/ntt_ext.template similarity index 100% rename from icicle_v3/include/icicle/api/templates/fields/ntt_ext.h rename to icicle_v3/include/icicle/api/templates/fields/ntt_ext.template diff --git a/icicle_v3/include/icicle/api/templates/fields/vec_ops.h b/icicle_v3/include/icicle/api/templates/fields/vec_ops.template similarity index 100% rename from icicle_v3/include/icicle/api/templates/fields/vec_ops.h rename to icicle_v3/include/icicle/api/templates/fields/vec_ops.template diff --git a/icicle_v3/include/icicle/api/templates/fields/vec_ops_ext.h b/icicle_v3/include/icicle/api/templates/fields/vec_ops_ext.template similarity index 100% rename from icicle_v3/include/icicle/api/templates/fields/vec_ops_ext.h rename to icicle_v3/include/icicle/api/templates/fields/vec_ops_ext.template diff --git a/scripts/gen_c_api.py b/scripts/gen_c_api.py index e65fceb2..2baeaa3e 100755 --- a/scripts/gen_c_api.py +++ b/scripts/gen_c_api.py @@ -16,37 +16,37 @@ A set corresponding to each curve contains headers that shouldn't be included. """ CURVES_CONFIG = { "bn254": [ - "field_ext.h", - "vec_ops_ext.h", - "ntt_ext.h", + "field_ext.template", + "vec_ops_ext.template", + "ntt_ext.template", ], "bls12_381": [ - # "poseidon2.h", - "field_ext.h", - "vec_ops_ext.h", - "ntt_ext.h", + # "poseidon2.template", + "field_ext.template", + "vec_ops_ext.template", + "ntt_ext.template", ], "bls12_377": [ - # "poseidon2.h", - "field_ext.h", - "vec_ops_ext.h", - "ntt_ext.h", + # "poseidon2.template", + "field_ext.template", + "vec_ops_ext.template", + "ntt_ext.template", ], "bw6_761": [ - # "poseidon2.h", - "field_ext.h", - "vec_ops_ext.h", - "ntt_ext.h", + # "poseidon2.template", + "field_ext.template", + "vec_ops_ext.template", + "ntt_ext.template", ], "grumpkin": { - # "poseidon2.h", - "curve_g2.h", - "msm_g2.h", - "ecntt.h", - "ntt.h", - "vec_ops_ext.h", - "field_ext.h", - "ntt_ext.h", + # "poseidon2.template", + "curve_g2.template", + "msm_g2.template", + "ecntt.template", + "ntt.template", + "vec_ops_ext.template", + "field_ext.template", + "ntt_ext.template", }, } @@ -56,20 +56,20 @@ A set corresponding to each field contains headers that shouldn't be included. """ FIELDS_CONFIG = { "babybear": { - # "poseidon.h", + # "poseidon.template", }, "stark252": { - # "poseidon.h", - # "poseidon2.h", - "field_ext.h", - "vec_ops_ext.h", - "ntt_ext.h", + # "poseidon.template", + # "poseidon2.template", + "field_ext.template", + "vec_ops_ext.template", + "ntt_ext.template", }, # "m31": { - # "ntt_ext.h", - # "ntt.h", - # "poseidon.h", - # "poseidon2.h", + # "ntt_ext.template", + # "ntt.template", + # "poseidon.template", + # "poseidon2.template", # } }