/* Copyright (C) 1994 by Thomas Glen Smith. All Rights Reserved. */
/* expx APL2 V1.0.0 ****************************************************
* Exponential for complex numbers. For any complex number s#a + bXi, *
* where i is the square root of -1, e*s = (e*a)X(2Ob)+iX1Ob. *
***********************************************************************/
#define INCLUDES MATH
#include "includes.h"
void expx(num, ret)
double *num, *ret;
{
Timesx;
double a,b,z,wa[2],wb[2];
static double iii[2]={0.0,1.0};
a = *num; /* real part coefficient. */
b = *(num+1); /* Imaginary part coefficient. */
*wa = sin(b);
*(wa+1) = 0; /* wa = 1Ob. */
timesx(iii,wa,wb); /* wb = iX1Ob. */
*wb += cos(b); /* wb = (2Ob)+iX1Ob. */
*wa = exp(a); /* wa = (e*a). */
timesx(wa,wb,ret); /* ret= (e*a)X(2Ob)+iX1Ob. */
}