/* fhv.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.)
* ------------------------------------------------------------------------
*/
/* Helical valley function
minimum value = 0 at x[0]=1.0, x[1]=x[2]=0.0
*/
#include <math.h>
#define Tpi 6.283185308
double fhv(double *x)
{ double r,an; extern int count;
++count;
r=x[0]*x[0]+x[1]*x[1]; r=sqrt(r)-1.;
an=x[2]-10.*atan2(x[1],x[0])/Tpi;
return (100.*(an*an+r*r)+x[2]*x[2]);
}
syntax highlighted by Code2HTML, v. 0.9.1