From e757d6b2316db67d65a36f9e85c9b0429034684b Mon Sep 17 00:00:00 2001 From: "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu> Date: Sat, 16 Sep 2006 02:54:29 +0000 Subject: [PATCH] decNumber.c (decNumberPower): Constify. * decNumber.c (decNumberPower): Constify. * decNumber.h (decNumberPower): Likewise. From-SVN: r116990 --- libdecnumber/ChangeLog | 5 +++++ libdecnumber/decNumber.c | 14 ++++++++------ libdecnumber/decNumber.h | 4 ++-- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog index 3661c7c447fd..c5dea7f9f568 100644 --- a/libdecnumber/ChangeLog +++ b/libdecnumber/ChangeLog @@ -1,3 +1,8 @@ +2006-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * decNumber.c (decNumberPower): Constify. + * decNumber.h (decNumberPower): Likewise. + 2006-09-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * configure.ac (ACX_PROG_CC_WARNING_OPTS): Add -Wcast-qual. diff --git a/libdecnumber/decNumber.c b/libdecnumber/decNumber.c index a086327d72de..039d19a45921 100644 --- a/libdecnumber/decNumber.c +++ b/libdecnumber/decNumber.c @@ -964,13 +964,13 @@ decNumberNormalize (decNumber * res, const decNumber * rhs, decContext * set) /* Specification restriction: abs(n) must be <=999999999 */ /* ------------------------------------------------------------------ */ decNumber * -decNumberPower (decNumber * res, decNumber * lhs, - decNumber * rhs, decContext * set) +decNumberPower (decNumber * res, const decNumber * lhs, + const decNumber * rhs, decContext * set) { decNumber *alloclhs = NULL; /* non-NULL if rounded lhs allocated */ decNumber *allocrhs = NULL; /* .., rhs */ decNumber *allocdac = NULL; /* -> allocated acc buffer, iff used */ - decNumber *inrhs = rhs; /* save original rhs */ + const decNumber *inrhs = rhs; /* save original rhs */ Int reqdigits = set->digits; /* requested DIGITS */ Int n; /* RHS in binary */ Int i; /* work */ @@ -1117,6 +1117,7 @@ decNumberPower (decNumber * res, decNumber * lhs, /* we'll invert the lhs now rather than inverting the result later */ if (decNumberIsNegative (rhs)) { /* was a **-n [hence digits>0] */ + decNumber * newlhs; decNumberCopy (&dnOne, dac); /* dnOne=1; [needed now or later] */ #if DECSUBSET if (set->extended) @@ -1138,13 +1139,14 @@ decNumberPower (decNumber * res, decNumber * lhs, status |= DEC_Insufficient_storage; break; } - lhs = alloclhs; /* use the allocated space */ + newlhs = alloclhs; /* use the allocated space */ } else - lhs = (decNumber *) lhsbuff; /* use stack storage */ + newlhs = (decNumber *) lhsbuff; /* use stack storage */ /* [lhs now points to buffer or allocated storage] */ - decNumberCopy (lhs, dac); /* copy the 1/lhs */ + decNumberCopy (newlhs, dac); /* copy the 1/lhs */ decNumberCopy (dac, &dnOne); /* restore acc=1 */ + lhs = newlhs; #if DECSUBSET } #endif diff --git a/libdecnumber/decNumber.h b/libdecnumber/decNumber.h index a64a4d5baedb..2357fbeab375 100644 --- a/libdecnumber/decNumber.h +++ b/libdecnumber/decNumber.h @@ -152,8 +152,8 @@ decNumber *decNumberMultiply (decNumber *, const decNumber *, const decNumber *, decContext *); decNumber *decNumberNormalize (decNumber *, const decNumber *, decContext *); decNumber *decNumberPlus (decNumber *, const decNumber *, decContext *); -decNumber *decNumberPower (decNumber *, decNumber *, decNumber *, - decContext *); +decNumber *decNumberPower (decNumber *, const decNumber *, + const decNumber *, decContext *); decNumber *decNumberQuantize (decNumber *, const decNumber *, const decNumber *, decContext *); decNumber *decNumberRemainder (decNumber *, const decNumber *, -- GitLab