|
|
@ -1154,6 +1154,8 @@ static int secp256k1_wnaf_fixed(int *wnaf, const secp256k1_scalar *s, int w) { |
|
|
|
return skew; |
|
|
|
} |
|
|
|
|
|
|
|
#endif /* SECP256K1_ECMULT_IMPL_H */ |
|
|
|
|
|
|
|
struct secp256k1_pippenger_point_state { |
|
|
|
int skew_na; |
|
|
|
size_t input_pos; |
|
|
@ -1497,7 +1499,7 @@ static size_t secp256k1_pippenger_max_points(secp256k1_scratch *scratch) { |
|
|
|
|
|
|
|
/* Computes ecmult_multi by simply multiplying and adding each point. Does not
|
|
|
|
* require a scratch space */ |
|
|
|
int secp256k1_ecmult_multi_var_simple(const secp256k1_ecmult_context *ctx, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n_points) { |
|
|
|
int secp256k1_ecmult_multi_var_simple(const secp256k1_ecmult_context *ctx, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n_points) { |
|
|
|
size_t point_idx; |
|
|
|
secp256k1_scalar szero; |
|
|
|
secp256k1_gej tmpj; |
|
|
@ -1522,6 +1524,7 @@ static size_t secp256k1_pippenger_max_points(secp256k1_scratch *scratch) { |
|
|
|
} |
|
|
|
|
|
|
|
typedef int (*secp256k1_ecmult_multi_func)(const secp256k1_ecmult_context*, secp256k1_scratch*, secp256k1_gej*, const secp256k1_scalar*, secp256k1_ecmult_multi_callback cb, void*, size_t); |
|
|
|
|
|
|
|
int secp256k1_ecmult_multi_var(const secp256k1_ecmult_context *ctx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n) { |
|
|
|
size_t i; |
|
|
|
|
|
|
@ -1576,7 +1579,5 @@ int secp256k1_ecmult_multi_var(const secp256k1_ecmult_context *ctx, secp256k1_sc |
|
|
|
return 1; |
|
|
|
} |
|
|
|
|
|
|
|
#endif /* SECP256K1_ECMULT_IMPL_H */ |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|