Port to new API
This commit is contained in:
1 parent
3fbe8ec0b6
commit
e802e22b7b
1 file changed
+4
-2
@@ -13,8 +13,10 @@ ALGO_DEF(array_mpz, ARRAY_OPLIST(array_mpz, M_CLASSIC_OPLIST(mpz)))
|
|||||||
static inline void my_mpz_inc(mpz_t *d, const mpz_t a){
|
static inline void my_mpz_inc(mpz_t *d, const mpz_t a){
|
||||||
mpz_add(*d, *d, a);
|
mpz_add(*d, *d, a);
|
||||||
}
|
}
|
||||||
static inline void my_mpz_sqr(mpz_t *d, const mpz_t a){
|
static inline bool my_mpz_sqr(mpz_t *d, const mpz_t a, void *data){
|
||||||
|
(void) data;
|
||||||
mpz_mul(*d, a, a);
|
mpz_mul(*d, a, a);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
@@ -31,7 +33,7 @@ int main(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Compute z = sum (a[i]^2) */
|
/* Compute z = sum (a[i]^2) */
|
||||||
array_mpz_map_reduce (&z, a, my_mpz_inc, my_mpz_sqr);
|
array_mpz_transform_reduce (&z, a, my_mpz_inc, my_mpz_sqr, NULL);
|
||||||
gmp_printf ("Z=%Zd\n", z);
|
gmp_printf ("Z=%Zd\n", z);
|
||||||
|
|
||||||
array_mpz_clear(a);
|
array_mpz_clear(a);
|
||||||
|
|||||||
Reference in new issue
Block a user