/*  tsecrt.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:  secrt

    To find roots of another function, redefine 'double fa(x)'.
*/
#include "ccmath.h"
#include <math.h>
char fdn[]="cos(x)-x";
void main(void)
{ double x,dx,fa(double x);
  printf("     Test of Secant Root Function\n");
  printf(" input function: %s\n",fdn);
/*  starting values x,x+dx defined here */
  x=1.; dx=.1;
  printf(" input estimated root = %f increment = %f\n",x,dx);
  x=secrt(fa,x,dx,1.e-14);
  printf(" solution to F(x)=0 : x = %18.12f\n",x);
  printf("          test F(x) = %e\n",fa(x));
}
/* function for which root is desired */
double fa(double x)
{ return cos(x)-x;
}
/* Test output

     Test of Secant Root Function
 input function: cos(x)-x
 input estimated root = 1.000000 increment = 0.100000
 solution to F(x)=0 : x =     0.739085133215
          test F(x) = -5.128276e-17
*/


syntax highlighted by Code2HTML, v. 0.9.1