version 1.3, 2000/08/22 05:04:07 |
version 1.4, 2003/05/20 07:19:41 |
|
|
* 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/engine/vect.c,v 1.2 2000/08/21 08:31:29 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/engine/vect.c,v 1.3 2000/08/22 05:04:07 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
|
|
|
|
len = a->len; |
len = a->len; |
MKVECT(t,len); |
MKVECT(t,len); |
for ( i = 0, ab = BDY(a), bb = BDY(b), tb = BDY(t); i < len; i++ ) |
for ( i = 0, ab = BDY(a), bb = BDY(b), tb = BDY(t); i < len; i++ ) |
addr(vl,(Obj)ab[i],(Obj)bb[i],(Obj *)&tb[i]); |
arf_add(vl,(Obj)ab[i],(Obj)bb[i],(Obj *)&tb[i]); |
*c = t; |
*c = t; |
} |
} |
} |
} |
|
|
MKVECT(t,len); |
MKVECT(t,len); |
for ( i = 0, ab = BDY(a), bb = BDY(b), tb = BDY(t); |
for ( i = 0, ab = BDY(a), bb = BDY(b), tb = BDY(t); |
i < len; i++ ) |
i < len; i++ ) |
subr(vl,(Obj)ab[i],(Obj)bb[i],(Obj *)&tb[i]); |
arf_sub(vl,(Obj)ab[i],(Obj)bb[i],(Obj *)&tb[i]); |
*c = t; |
*c = t; |
} |
} |
} |
} |
|
|
else if ( OID(b) > O_R ) |
else if ( OID(b) > O_R ) |
notdef(vl,a,b,c); |
notdef(vl,a,b,c); |
else { |
else { |
divr(vl,(Obj)ONE,b,&t); mulrvect(vl,(Obj)t,(VECT)a,(VECT *)c); |
arf_div(vl,(Obj)ONE,b,&t); mulrvect(vl,(Obj)t,(VECT)a,(VECT *)c); |
} |
} |
} |
} |
|
|
|
|
MKVECT(t,len); |
MKVECT(t,len); |
for ( i = 0, ab = BDY(a), tb = BDY(t); |
for ( i = 0, ab = BDY(a), tb = BDY(t); |
i < len; i++ ) |
i < len; i++ ) |
chsgnr((Obj)ab[i],(Obj *)&tb[i]); |
arf_chsgn((Obj)ab[i],(Obj *)&tb[i]); |
*b = t; |
*b = t; |
} |
} |
} |
} |
|
|
len = b->len; |
len = b->len; |
MKVECT(t,len); |
MKVECT(t,len); |
for ( i = 0, bb = BDY(b), tb = BDY(t); i < len; i++ ) |
for ( i = 0, bb = BDY(b), tb = BDY(t); i < len; i++ ) |
mulr(vl,a,(Obj)bb[i],(Obj *)&tb[i]); |
arf_mul(vl,a,(Obj)bb[i],(Obj *)&tb[i]); |
*c = t; |
*c = t; |
} |
} |
} |
} |
|
|
return a->len>b->len ? 1 : -1; |
return a->len>b->len ? 1 : -1; |
else { |
else { |
for ( i = 0, len = a->len; i < len; i++ ) |
for ( i = 0, len = a->len; i < len; i++ ) |
if ( t = compr(vl,(Obj)BDY(a)[i],(Obj)BDY(b)[i]) ) |
if ( t = arf_comp(vl,(Obj)BDY(a)[i],(Obj)BDY(b)[i]) ) |
return t; |
return t; |
return 0; |
return 0; |
} |
} |