version 1.1, 2018/09/19 05:45:07 |
version 1.3, 2019/06/04 07:11:23 |
|
|
* 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: OpenXM_contrib2/asir2018/engine/cplx.c,v 1.2 2019/04/26 00:46:49 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "base.h" |
#include "base.h" |
|
|
if ( !a ) |
if ( !a ) |
*rp = *ip = 0; |
*rp = *ip = 0; |
#if defined(INTERVAL) |
#if defined(INTERVAL) |
else if ( NID(a) <= N_PRE_C ) { |
else if ( NID(a) < N_C ) { |
#else |
#else |
else if ( NID(a) <= N_B ) { |
else if ( NID(a) <= N_B ) { |
#endif |
#endif |
|
|
else if ( !b ) |
else if ( !b ) |
*c = a; |
*c = a; |
#if defined(INTERVAL) |
#if defined(INTERVAL) |
else if ( (NID(a) <= N_PRE_C) && (NID(b) <= N_PRE_C ) ) |
else if ( (NID(a) < N_C) && (NID(b) < N_C ) ) |
#else |
#else |
else if ( (NID(a) <= N_B) && (NID(b) <= N_B ) ) |
else if ( (NID(a) <= N_B) && (NID(b) <= N_B ) ) |
#endif |
#endif |
|
|
else if ( !b ) |
else if ( !b ) |
*c = a; |
*c = a; |
#if defined(INTERVAL) |
#if defined(INTERVAL) |
else if ( (NID(a) <= N_PRE_C) && (NID(b) <= N_PRE_C ) ) |
else if ( (NID(a) < N_C) && (NID(b) <= N_C ) ) |
#else |
#else |
else if ( (NID(a) <= N_B) && (NID(b) <= N_B ) ) |
else if ( (NID(a) <= N_B) && (NID(b) <= N_B ) ) |
#endif |
#endif |
|
|
if ( !a || !b ) |
if ( !a || !b ) |
*c = 0; |
*c = 0; |
#if defined(INTERVAL) |
#if defined(INTERVAL) |
else if ( (NID(a) <= N_PRE_C) && (NID(b) <= N_PRE_C ) ) |
else if ( (NID(a) < N_C) && (NID(b) < N_C ) ) |
#else |
#else |
else if ( (NID(a) <= N_B) && (NID(b) <= N_B ) ) |
else if ( (NID(a) <= N_B) && (NID(b) <= N_B ) ) |
#endif |
#endif |
|
|
else if ( !a ) |
else if ( !a ) |
*c = 0; |
*c = 0; |
#if defined(INTERVAL) |
#if defined(INTERVAL) |
else if ( (NID(a) <= N_PRE_C) && (NID(b) <= N_PRE_C ) ) |
else if ( (NID(a) < N_C) && (NID(b) < N_C ) ) |
#else |
#else |
else if ( (NID(a) <= N_B) && (NID(b) <= N_B ) ) |
else if ( (NID(a) <= N_B) && (NID(b) <= N_B ) ) |
#endif |
#endif |
|
|
else if ( !INT(e) ) |
else if ( !INT(e) ) |
error("pwrcplx : not implemented (use eval())."); |
error("pwrcplx : not implemented (use eval())."); |
else { |
else { |
ei = sgnq((Q)e)*sgnq((Q)e); |
ei = sgnq((Q)e)*ZTOS((Q)e); |
pwrcplx0(a,ei,&t); |
pwrcplx0(a,ei,&t); |
if ( sgnq((Q)e) < 0 ) |
if ( sgnq((Q)e) < 0 ) |
divnum(0,(Num)ONE,t,c); |
divnum(0,(Num)ONE,t,c); |
|
|
if ( !a ) |
if ( !a ) |
*c = 0; |
*c = 0; |
#if defined(INTERVAL) |
#if defined(INTERVAL) |
else if ( NID(a) <= N_PRE_C ) |
else if ( NID(a) < N_C ) |
#else |
#else |
else if ( NID(a) <= N_B ) |
else if ( NID(a) <= N_B ) |
#endif |
#endif |
|
|
|
|
if ( !a ) { |
if ( !a ) { |
#if defined(INTERVAL) |
#if defined(INTERVAL) |
if ( !b || (NID(b)<=N_PRE_C) ) |
if ( !b || (NID(b)<N_C) ) |
#else |
#else |
if ( !b || (NID(b)<=N_B) ) |
if ( !b || (NID(b)<=N_B) ) |
#endif |
#endif |
|
|
return -1; |
return -1; |
} else if ( !b ) { |
} else if ( !b ) { |
#if defined(INTERVAL) |
#if defined(INTERVAL) |
if ( !a || (NID(a)<=N_PRE_C) ) |
if ( !a || (NID(a)<N_C) ) |
#else |
#else |
if ( !a || (NID(a)<=N_B) ) |
if ( !a || (NID(a)<=N_B) ) |
#endif |
#endif |