summaryrefslogtreecommitdiff
path: root/src/mul.c
diff options
context:
space:
mode:
authorenge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2011-02-23 14:56:13 +0000
committerenge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2011-02-23 14:56:13 +0000
commitaa8f22696d5a5131c0edccbbbbf6d671c0906b07 (patch)
tree179569203fe114339d4837cf012ca3dfdb68a72a /src/mul.c
parent12bbdc3e2e0e57ff470668d6e656963c4faeb051 (diff)
downloadmpc-aa8f22696d5a5131c0edccbbbbf6d671c0906b07.tar.gz
mul.c: mpc_mul_naive now assumes that all numbers have only non-zero (and
finite) parts; add assertion tmul.c: disable comparison between naive and Karatsuba with zero parts git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@950 211d60ee-9f03-0410-a15a-8952a2c7a4e4
Diffstat (limited to 'src/mul.c')
-rw-r--r--src/mul.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mul.c b/src/mul.c
index 6722198..5a76601 100644
--- a/src/mul.c
+++ b/src/mul.c
@@ -19,6 +19,7 @@ along with the MPC Library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA. */
+#include <stdio.h> /* for MPC_ASSERT */
#include "mpc-impl.h"
#define mpz_add_si(z,x,y) do { \
@@ -344,6 +345,8 @@ mpc_mul_naive (mpc_ptr z, mpc_srcptr x, mpc_srcptr y, mpc_rnd_t rnd)
int overlap, inex;
mpc_t rop;
+ MPC_ASSERT ( mpfr_regular_p (MPC_RE (x)) && mpfr_regular_p (MPC_IM (x))
+ && mpfr_regular_p (MPC_RE (y)) && mpfr_regular_p (MPC_IM (y)));
overlap = (z == x) || (z == y);
if (overlap)
mpc_init3 (rop, MPC_PREC_RE (z), MPC_PREC_IM (z));