version 1.3, 2000/08/22 05:04:05 |
version 1.4, 2018/03/29 01:32:51 |
|
|
* 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/alg.c,v 1.2 2000/08/21 08:31:27 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/engine/alg.c,v 1.3 2000/08/22 05:04:05 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "base.h" |
#include "base.h" |
|
|
Obj ToAlg(a) |
Obj ToAlg(a) |
Num a; |
Num a; |
{ |
{ |
Obj t; |
Obj t; |
|
|
if ( !a || (NID(a) != N_A) ) |
if ( !a || (NID(a) != N_A) ) |
t = (Obj)a; |
t = (Obj)a; |
else |
else |
t = BDY((Alg)a); |
t = BDY((Alg)a); |
return t; |
return t; |
} |
} |
|
|
void addalg(a,b,c) |
void addalg(a,b,c) |
Num a,b,*c; |
Num a,b,*c; |
{ |
{ |
Obj t; |
Obj t; |
Alg r; |
Alg r; |
|
|
addr(ALG,ToAlg(a),ToAlg(b),&t); MKAlg(t,r); *c = (Num)r; |
addr(ALG,ToAlg(a),ToAlg(b),&t); MKAlg(t,r); *c = (Num)r; |
} |
} |
|
|
void subalg(a,b,c) |
void subalg(a,b,c) |
Num a,b,*c; |
Num a,b,*c; |
{ |
{ |
Obj t; |
Obj t; |
Alg r; |
Alg r; |
|
|
subr(ALG,ToAlg(a),ToAlg(b),&t); MKAlg(t,r); *c = (Num)r; |
subr(ALG,ToAlg(a),ToAlg(b),&t); MKAlg(t,r); *c = (Num)r; |
} |
} |
|
|
void mulalg(a,b,c) |
void mulalg(a,b,c) |
Num a,b,*c; |
Num a,b,*c; |
{ |
{ |
Obj t; |
Obj t; |
Alg r; |
Alg r; |
|
|
mulr(ALG,ToAlg(a),ToAlg(b),&t); MKAlg(t,r); *c = (Num)r; |
mulr(ALG,ToAlg(a),ToAlg(b),&t); MKAlg(t,r); *c = (Num)r; |
} |
} |
|
|
void divalg(a,b,c) |
void divalg(a,b,c) |
Num a,b,*c; |
Num a,b,*c; |
{ |
{ |
Obj t; |
Obj t; |
Alg r; |
Alg r; |
|
|
divr(ALG,ToAlg(a),ToAlg(b),&t); MKAlg(t,r); *c = (Num)r; |
divr(ALG,ToAlg(a),ToAlg(b),&t); MKAlg(t,r); *c = (Num)r; |
} |
} |
|
|
void chsgnalg(a,c) |
void chsgnalg(a,c) |
Num a,*c; |
Num a,*c; |
{ |
{ |
Obj t; |
Obj t; |
Alg r; |
Alg r; |
|
|
chsgnr(ToAlg(a),&t); MKAlg(t,r); *c = (Num)r; |
chsgnr(ToAlg(a),&t); MKAlg(t,r); *c = (Num)r; |
} |
} |
|
|
void pwralg(a,b,c) |
void pwralg(a,b,c) |
Num a,b,*c; |
Num a,b,*c; |
{ |
{ |
Obj t; |
Obj t; |
Alg r; |
Alg r; |
|
|
pwrr(ALG,ToAlg(a),(Obj)b,&t); MKAlg(t,r); *c = (Num)r; |
pwrr(ALG,ToAlg(a),(Obj)b,&t); MKAlg(t,r); *c = (Num)r; |
} |
} |
|
|
int cmpalg(a,b) |
int cmpalg(a,b) |
Num a,b; |
Num a,b; |
{ |
{ |
return compr(ALG,ToAlg(a),ToAlg(b)); |
return compr(ALG,ToAlg(a),ToAlg(b)); |
} |
} |