version 1.2, 2004/09/29 08:50:23 |
version 1.3, 2004/10/06 11:58:51 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/builtin/user.c,v 1.1 2002/08/14 03:51:38 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/builtin/user.c,v 1.2 2004/09/29 08:50:23 noro Exp $ */ |
|
|
/* a sample file for adding builtin functions */ |
/* a sample file for adding builtin functions */ |
|
|
Line 19 struct ftab user_tab[] = { |
|
Line 19 struct ftab user_tab[] = { |
|
{0,0,0}, |
{0,0,0}, |
}; |
}; |
|
|
pointer qtoz(Q); |
|
Q ztoq(pointer); |
|
pointer addz(pointer,pointer), subz(pointer,pointer), mulz(pointer,pointer); |
|
void Pzadd(NODE arg,Q *rp) |
void Pzadd(NODE arg,Q *rp) |
{ |
{ |
pointer z0,z1,z2; |
Z z0,z1,z2; |
|
|
z0 = qtoz((Q)ARG0(arg)); |
z0 = qtoz((Q)ARG0(arg)); |
z1 = qtoz((Q)ARG1(arg)); |
z1 = qtoz((Q)ARG1(arg)); |
Line 35 void Pzadd(NODE arg,Q *rp) |
|
Line 32 void Pzadd(NODE arg,Q *rp) |
|
|
|
void Pzsub(NODE arg,Q *rp) |
void Pzsub(NODE arg,Q *rp) |
{ |
{ |
pointer z0,z1,z2; |
Z z0,z1,z2; |
|
|
z0 = qtoz((Q)ARG0(arg)); |
z0 = qtoz((Q)ARG0(arg)); |
z1 = qtoz((Q)ARG1(arg)); |
z1 = qtoz((Q)ARG1(arg)); |
Line 46 void Pzsub(NODE arg,Q *rp) |
|
Line 43 void Pzsub(NODE arg,Q *rp) |
|
|
|
void Pzmul(NODE arg,Q *rp) |
void Pzmul(NODE arg,Q *rp) |
{ |
{ |
pointer z0,z1,z2; |
Z z0,z1,z2; |
|
|
z0 = qtoz((Q)ARG0(arg)); |
z0 = qtoz((Q)ARG0(arg)); |
z1 = qtoz((Q)ARG1(arg)); |
z1 = qtoz((Q)ARG1(arg)); |