Port to new API

This commit is contained in:
Patrick Pelissier committed 2025-05-29 14:58:09 +02:00
1 parent 3fbe8ec0b6
commit e802e22b7b
1 file changed
+4 -2
+4 -2
View File
@@ -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);