version 1.17, 2001/09/17 02:58:27 |
version 1.19, 2001/09/19 09:10:34 |
|
|
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* |
* |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/dp-supp.c,v 1.16 2001/09/17 01:18:34 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/dp-supp.c,v 1.18 2001/09/17 10:32:40 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "base.h" |
#include "base.h" |
|
|
for ( i = 0, td = 0; i < n; i++ ) { |
for ( i = 0, td = 0; i < n; i++ ) { |
w[i] = MAX(d1->d[i],d2->d[i]); td += w[i]; |
w[i] = MAX(d1->d[i],d2->d[i]); td += w[i]; |
} |
} |
NEWDL(d,n); d->td = td - d1->td; |
NEWDL_NOINIT(d,n); d->td = td - d1->td; |
for ( i = 0; i < n; i++ ) |
for ( i = 0; i < n; i++ ) |
d->d[i] = w[i] - d1->d[i]; |
d->d[i] = w[i] - d1->d[i]; |
NEWMP(m); m->dl = d; m->c = (P)BDY(p2)->c; NEXT(m) = 0; |
NEWMP(m); m->dl = d; m->c = (P)BDY(p2)->c; NEXT(m) = 0; |
MKDP(n,m,s); s->sugar = d->td; mulmd(CO,mod,p1,s,&t); |
MKDP(n,m,s); s->sugar = d->td; mulmd(CO,mod,p1,s,&t); |
NEWDL(d,n); d->td = td - d2->td; |
NEWDL_NOINIT(d,n); d->td = td - d2->td; |
for ( i = 0; i < n; i++ ) |
for ( i = 0; i < n; i++ ) |
d->d[i] = w[i] - d2->d[i]; |
d->d[i] = w[i] - d2->d[i]; |
NEWMP(m); m->dl = d; m->c = (P)BDY(p1)->c; NEXT(m) = 0; |
NEWMP(m); m->dl = d; m->c = (P)BDY(p1)->c; NEXT(m) = 0; |
|
|
_mulmd_dup(mod,s,p2,&t); _free_dp(s); |
_mulmd_dup(mod,s,p2,&t); _free_dp(s); |
#else |
#else |
if ( do_weyl ) { |
if ( do_weyl ) { |
_weyl_mulmdm_dup(mod,p2,m,&t); _FREEMP(m); |
_MKDP(n,m,s); s->sugar = d->td; |
|
_mulmd_dup(mod,s,p2,&t); _free_dp(s); |
} else { |
} else { |
_mulmdm_dup(mod,p2,m,&t); _FREEMP(m); |
_mulmdm_dup(mod,p2,m,&t); _FREEMP(m); |
} |
} |