version 1.2, 2003/12/02 03:26:14 |
version 1.3, 2003/12/02 07:00:12 |
|
|
/* $OpenXM$ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/builtin/round.c,v 1.2 2003/12/02 03:26:14 noro Exp $ */ |
|
|
#define INTERVAL |
#define INTERVAL |
#include "ca.h" |
#include "ca.h" |
Line 33 void Padd_pinf(NODE arg,Real *rp) |
|
Line 33 void Padd_pinf(NODE arg,Real *rp) |
|
*rp = b; |
*rp = b; |
else if ( !b ) |
else if ( !b ) |
*rp = a; |
*rp = a; |
|
else if ( NID(a) != N_R || NID(b) != N_R ) |
|
error("add_pinf : invalid argument"); |
else { |
else { |
FPPLUSINF |
FPPLUSINF |
c = BDY(a)+BDY(b); |
c = BDY(a)+BDY(b); |
Line 53 void Padd_minf(NODE arg,Real *rp) |
|
Line 55 void Padd_minf(NODE arg,Real *rp) |
|
*rp = b; |
*rp = b; |
else if ( !b ) |
else if ( !b ) |
*rp = a; |
*rp = a; |
|
else if ( NID(a) != N_R || NID(b) != N_R ) |
|
error("add_pinf : invalid argument"); |
else { |
else { |
FPMINUSINF |
FPMINUSINF |
c = BDY(a)+BDY(b); |
c = BDY(a)+BDY(b); |
Line 79 void Psub_pinf(NODE arg,Real *rp) |
|
Line 83 void Psub_pinf(NODE arg,Real *rp) |
|
} |
} |
} else if ( !b ) |
} else if ( !b ) |
*rp = a; |
*rp = a; |
|
else if ( NID(a) != N_R || NID(b) != N_R ) |
|
error("sub_pinf : invalid argument"); |
else { |
else { |
FPPLUSINF |
FPPLUSINF |
c = BDY(a)-BDY(b); |
c = BDY(a)-BDY(b); |
Line 105 void Psub_minf(NODE arg,Real *rp) |
|
Line 111 void Psub_minf(NODE arg,Real *rp) |
|
} |
} |
} else if ( !b ) |
} else if ( !b ) |
*rp = a; |
*rp = a; |
|
else if ( NID(a) != N_R || NID(b) != N_R ) |
|
error("sub_minf : invalid argument"); |
else { |
else { |
FPMINUSINF |
FPMINUSINF |
c = BDY(a)-BDY(b); |
c = BDY(a)-BDY(b); |
Line 123 void Pmul_pinf(NODE arg,Real *rp) |
|
Line 131 void Pmul_pinf(NODE arg,Real *rp) |
|
b = (Real)ARG1(arg); |
b = (Real)ARG1(arg); |
if ( !a || !b ) |
if ( !a || !b ) |
*rp = 0; |
*rp = 0; |
|
else if ( NID(a) != N_R || NID(b) != N_R ) |
|
error("mul_pinf : invalid argument"); |
else { |
else { |
FPPLUSINF |
FPPLUSINF |
c = BDY(a)*BDY(b); |
c = BDY(a)*BDY(b); |
Line 141 void Pmul_minf(NODE arg,Real *rp) |
|
Line 151 void Pmul_minf(NODE arg,Real *rp) |
|
b = (Real)ARG1(arg); |
b = (Real)ARG1(arg); |
if ( !a || !b ) |
if ( !a || !b ) |
*rp = 0; |
*rp = 0; |
|
else if ( NID(a) != N_R || NID(b) != N_R ) |
|
error("mul_minf : invalid argument"); |
else { |
else { |
FPMINUSINF |
FPMINUSINF |
c = BDY(a)*BDY(b); |
c = BDY(a)*BDY(b); |
Line 161 void Pdiv_pinf(NODE arg,Real *rp) |
|
Line 173 void Pdiv_pinf(NODE arg,Real *rp) |
|
error("div_pinf : division by 0"); |
error("div_pinf : division by 0"); |
else if ( !a ) |
else if ( !a ) |
*rp = 0; |
*rp = 0; |
|
else if ( NID(a) != N_R || NID(b) != N_R ) |
|
error("div_pinf : invalid argument"); |
else { |
else { |
FPPLUSINF |
FPPLUSINF |
c = BDY(a)/BDY(b); |
c = BDY(a)/BDY(b); |
Line 178 void Pdiv_minf(NODE arg,Real *rp) |
|
Line 192 void Pdiv_minf(NODE arg,Real *rp) |
|
a = (Real)ARG0(arg); |
a = (Real)ARG0(arg); |
b = (Real)ARG1(arg); |
b = (Real)ARG1(arg); |
if ( !b ) |
if ( !b ) |
error("div_pinf : division by 0"); |
error("div_minf : division by 0"); |
else if ( !a ) |
else if ( !a ) |
*rp = 0; |
*rp = 0; |
|
else if ( NID(a) != N_R || NID(b) != N_R ) |
|
error("div_minf : invalid argument"); |
else { |
else { |
FPMINUSINF |
FPMINUSINF |
c = BDY(a)/BDY(b); |
c = BDY(a)/BDY(b); |