/*Copyright (C) 1997 by Thomas Glen Smith. All Rights Reserved.*/
/* acosx APL2 V1.0.0 ***************************************************
* Arc-cosine for complex numbers. *
***********************************************************************/
#define INCLUDES MATH+TRIGKEYS
#include "includes.h"
void acosx(rrr,ret)
double *rrr,*ret;
{
Logx; Minusx; Powerx; Timesx;
double ixr[2],wa[2],wb[2],wc[2];
static double
half[2]={0.5,0.0},
iii[2]={0.0,1.0},
one[2]={1.0,0.0};
timesx(rrr,rrr,wa); /* wa = r*2 */
minusx(one,wa,wb); /* wb = 1_r*2 */
powerx(wb,half,wa); /* wa = (1_r*2)*.5 */
timesx(iii,wa,wb); /* wb = iX(1_r*2)*.5 */
minusx(rrr,wb,wa); /* wa = r_iX(1_r*2)*.5 */
logx(wa,wb); /* wb = @r_iX(1_r*2)*.5 */
timesx(iii,wb,ret); /*ret = iX@r_iX(1_r*2)*.5 */
PREFIX_MINUS(ret); /*ret = _iX@r_iX(1_r*2)*.5 */
}