Skip to content
Snippets Groups Projects
Commit cdb9a3ea authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

function sign(x)

parent e2a0d29c
No related branches found
No related tags found
No related merge requests found
...@@ -46,6 +46,17 @@ double func_abs(double v) { return fabs(v); } ...@@ -46,6 +46,17 @@ double func_abs(double v) { return fabs(v); }
void deri_abs(double& r, double& dr, double v, double dv) void deri_abs(double& r, double& dr, double v, double dv)
{ r=fabs(v); dr=dv; } { r=fabs(v); dr=dv; }
double func_sign(double v) {
if ( v<0 )
return -1;
else if ( v>0 )
return 1;
else
return 0;
}
void deri_sign(double& r, double& dr, double v, double dv)
{ r=func_sign(v); dr=dv; }
double func_exp(double v) { return exp(v); } double func_exp(double v) { return exp(v); }
void deri_exp(double& r, double& dr, double v, double dv) void deri_exp(double& r, double& dr, double v, double dv)
{ r=exp(v); dr=dv*r; } { r=exp(v); dr=dv*r; }
...@@ -372,6 +383,8 @@ void NFunctions::initialize(void) { ...@@ -372,6 +383,8 @@ void NFunctions::initialize(void) {
"(x): square root of x, or 0 if x<0" ).register_me(); "(x): square root of x, or 0 if x<0" ).register_me();
CFunc( "abs", func_abs, deri_abs, 0, CFunc( "abs", func_abs, deri_abs, 0,
"(x): absolute value of x" ).register_me(); "(x): absolute value of x" ).register_me();
CFunc( "abs", func_sign, deri_sign, 0,
"(x): sign of x" ).register_me();
CFunc( "exp", func_exp, deri_exp, 0, CFunc( "exp", func_exp, deri_exp, 0,
"(x): exponential function of x" ).register_me(); "(x): exponential function of x" ).register_me();
CFunc( "sin", func_sin, 0, 0, CFunc( "sin", func_sin, 0, 0,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment