28 lines
605 B
C++
28 lines
605 B
C++
// skewsine.cpp
|
|
//
|
|
// last-edit-by: J.A. de Jong
|
|
//
|
|
// Description:
|
|
// Implementation of a skew sine
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#include "skewsine.h"
|
|
|
|
// Equation for a skew sine between x=0 and x=1
|
|
d skewsine(d x){
|
|
if (x<0.0)
|
|
return 0.0;
|
|
else if (x<1.0)
|
|
return x-(1.0/(2.0*number_pi))*sin(x*number_pi*2.0);
|
|
else
|
|
return 1.0;
|
|
}
|
|
|
|
vd skewsine(const vd& x){
|
|
vd result=x;
|
|
result.transform( [](d val) {return skewsine(val);});
|
|
return result;
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////////
|