From 76d9157baaa19f48f900385a7c30ad2bc4738b97 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 14 Jun 2007 15:08:34 +0200 Subject: [PATCH] evalue.c: emul: don't use explicit_complement on arguments There is no point in using explicit_complement in emul since the result of multiplication in the complement will always be zero. --- evalue.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/evalue.c b/evalue.c index 0a663ca..1787c40 100644 --- a/evalue.c +++ b/evalue.c @@ -1628,10 +1628,10 @@ if((value_zero_p(e1->d)&&e1->x.p->type==evector)||(value_zero_p(res->d)&&(res->x if (value_zero_p(res->d) && res->x.p->type == relation) { if (value_zero_p(e1->d) && e1->x.p->type == relation && eequal(&e1->x.p->arr[0], &res->x.p->arr[0])) { - if (res->x.p->size < 3 && e1->x.p->size == 3) - explicit_complement(res); - if (e1->x.p->size < 3 && res->x.p->size == 3) - explicit_complement(e1); + if (e1->x.p->size < 3 && res->x.p->size == 3) { + free_evalue_refs(&res->x.p->arr[2]); + res->x.p->size = 2; + } for (i = 1; i < res->x.p->size; ++i) emul(&e1->x.p->arr[i], &res->x.p->arr[i]); return; -- 2.11.4.GIT