33 inline double _d0_atan(
double arg) {
return (+1.0/(1+arg*arg)); }
44 inline double _abs(
double arg) {
return fabs(arg); }
45 inline double _d0_abs(
double arg) {
return (((arg)>=0)?(+1.0):(-1.0)); }
49 inline double _hypot(
double x,
double y) {
return sqrt((x)*(x)+(y)*(y)); }
50 inline double _d0_hypot(
double x,
double y) {
return (x)/
sqrt((x)*(x)+(y)*(y)); }
51 inline double _d1_hypot(
double x,
double y) {
return (y)/
sqrt((x)*(x)+(y)*(y)); }
53 inline double _max(
double x,
double y) {
return ((x)>(y))?(
x):(y); }
54 inline double _d0_max(
double x,
double y) {
return ((x)>(y))?1.0:0.0; }
55 inline double _d1_max(
double x,
double y) {
return ((x)>(y))?0.0:1.0; }
57 inline double _min(
double x,
double y) {
return ((x)<(y))?(
x):(y); }
58 inline double _d0_min(
double x,
double y) {
return ((x)<(y))?1.0:0.0; }
59 inline double _d1_min(
double x,
double y) {
return ((x)<(y))?0.0:1.0; }
61 inline double _pow(
double x,
double y) {
return pow(x,y); }
62 inline double _d0_pow(
double x,
double y) {
return (x==0.0)?0.0:((y/
x)*
pow(x,y)); }
63 inline double _d1_pow(
double x,
double y) {
return (x==0.0)?0.0:((
log(x)/
exp(0.0))*
pow(x,y)); }
65 inline double _limexp(
double arg) {
return ((arg)<(80))?(
exp(arg)):(
exp(80.0)*(1.0+(arg-80))); }
68 inline double _vt(
double arg) {
return 1.3806503e-23*arg/1.602176462e-19; }
69 inline double _d0_vt(
double) {
return 1.3806503e-23/1.602176462e-19; }