/*  txivtrg.c    CCMATH mathematics library source code.
 *
 *  Copyright (C)  2000   Daniel A. Atkinson    All rights reserved.
 *  This code may be redistributed under the terms of the GNU library
 *  public license (LGPL). ( See the lgpl.license file for details.)
 * ------------------------------------------------------------------------
 */
/*
    Test:  xatan  xasin  xacos

    Uses:  xtan  xsin  xcos  dubtox  prxpr
*/
#define XMATH 1
#include "ccmath.h"
int decd=30;
void main(void)
{ struct xpr z,f,c; int k;
  printf("     Test of Inverse Trig Functions\n");
  printf("\n Atan:\n");
  for(k=0; k<3 ;++k){
    switch(k){
      case 0: z=dubtox(.5); break;
      case 1: z=dubtox(1.); break;
      case 2: z=dubtox(-2.); break;
     }
   
/* compute extended precision arctangent and tangent */
    f=xatan(z); c=xtan(f);

    printf(" %8.4f   ",xtodub(z)); prxpr(f,decd);
    printf(" check tan= "); prxpr(c,decd);
   }
  printf("\n Asin:\n");
  for(k=0; k<3 ;++k){
    switch(k){
      case 0: z=dubtox(.5); break;
      case 1: z=dubtox(.75); break;
      case 2: z=dubtox(.25); break;
     }

/* compute extended precision arcsin and sine */
    f=xasin(z); c=xsin(f);

    printf(" %8.4f   ",xtodub(z)); prxpr(f,decd);
    printf(" check sin= "); prxpr(c,decd);
   }
  printf("\n Acos:\n");
  for(k=0; k<3 ;++k){
    switch(k){
      case 0: z=dubtox(.5); break;
      case 1: z=dubtox(.75); break;
      case 2: z=dubtox(.25); break;
     }

/* compute extended precision arccos and cosine */
    f=xacos(z); c=xcos(f);

    printf(" %8.4f   ",xtodub(z)); prxpr(f,decd);
    printf(" check cos= "); prxpr(c,decd);
   }
}
/*  Test output

     Test of Inverse Trig Functions

 Atan:
   0.5000     4.636476090008061162142562314612e-1
 check tan=   5.000000000000000000000000000000e-1
   1.0000     7.853981633974483096156608458199e-1
 check tan=   1.000000000000000000000000000000e+0
  -2.0000    -1.107148717794090503017065460179e+0
 check tan=  -2.000000000000000000000000000000e+0

 Asin:
   0.5000     5.235987755982988730771072305466e-1
 check sin=   5.000000000000000000000000000000e-1
   0.7500     8.480620789814810080529443389984e-1
 check sin=   7.500000000000000000000000000000e-1
   0.2500     2.526802551420786534856574369937e-1
 check sin=   2.500000000000000000000000000000e-1

 Acos:
   0.5000     1.047197551196597746154214461093e+0
 check cos=   5.000000000000000000000000000000e-1
   0.7500     7.227342478134156111783773526413e-1
 check cos=   7.500000000000000000000000000000e-1
   0.2500     1.318116071652817965745664254646e+0
 check cos=   2.500000000000000000000000000000e-1
*/


syntax highlighted by Code2HTML, v. 0.9.1