summaryrefslogtreecommitdiff
path: root/exp3.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2000-10-02 08:44:58 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2000-10-02 08:44:58 +0000
commit253b2b161b5243a556a67e7ccce760ac314a206f (patch)
treec68d5fd57931a1291038371e25deda5c28bd9886 /exp3.c
parenta04e726916edbafec108c6884b9520d6dd26cdfe (diff)
downloadmpfr-253b2b161b5243a556a67e7ccce760ac314a206f.tar.gz
malloc -> *_mp_allocate_func or TMP_ALLOC
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@778 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'exp3.c')
-rw-r--r--exp3.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/exp3.c b/exp3.c
index f93111fc3..842629c88 100644
--- a/exp3.c
+++ b/exp3.c
@@ -30,12 +30,6 @@ MA 02111-1307, USA. */
int mpfr_extract(mpz_ptr , mpfr_srcptr , int );
-
-#define MY_INIT_MPZ(x, s) { \
- (x)->_mp_alloc = (s); \
- (x)->_mp_d = (mp_ptr) TMP_ALLOC((s)*BYTES_PER_MP_LIMB); \
- (x)->_mp_size = 0; }
-
int
#if __STDC__
mylog2(int x)
@@ -69,12 +63,15 @@ int m;
int prec_i_have;
int *nb_terms;
int accu;
+ TMP_DECL (marker);
+
+ TMP_MARK (marker);
n = 1 << m;
- P = (mpz_t*) malloc((m+1) * sizeof(mpz_t));
- S = (mpz_t*) malloc((m+1) * sizeof(mpz_t));
- ptoj = (mpz_t*) malloc((m+1) * sizeof(mpz_t)); /* ptoj[i] = mantissa^(2^i) */
- mult = (int*) malloc((m+1) * sizeof(int));
- nb_terms = (int*) malloc((m+1) * sizeof(int));
+ P = (mpz_t*) TMP_ALLOC((m+1) * sizeof(mpz_t));
+ S = (mpz_t*) TMP_ALLOC((m+1) * sizeof(mpz_t));
+ ptoj = (mpz_t*) TMP_ALLOC((m+1) * sizeof(mpz_t)); /* ptoj[i] = mantissa^(2^i) */
+ mult = (int*) TMP_ALLOC((m+1) * sizeof(int));
+ nb_terms = (int*) TMP_ALLOC((m+1) * sizeof(int));
mult[0] = 0;
for (i=0;i<=m;i++) { mpz_init(P[i]); mpz_init(S[i]); mpz_init(ptoj[i]); }
mpz_set(ptoj[0], p);
@@ -138,8 +135,7 @@ int m;
mpfr_div_2exp(y, y, r*(i-1),GMP_RNDN);
for (i=0;i<=m;i++) { mpz_clear(P[i]); mpz_clear(S[i]); mpz_clear(ptoj[i]); }
- free(P); free(S); free(ptoj);
- free(mult); free(nb_terms);
+ TMP_FREE (marker);
return 0;
}