Hopsan
AuxiliarySimulationFunctions

Functions

double ifPositive (const double x, const double y1, const double y2)
 Returns y1 or y2 depending on the value of x.
 
bool doubleToBool (const double value)
 Converts a float point number to a boolean.
 
double boolToDouble (const bool value)
 Converts a boolean value to a float point number.
 
double onPositive (const double x)
 Returns 1.0 if x is positive, else returns 0.0.
 
double dxOnPositive (const double)
 
double onNegative (const double x)
 Returns 1.0 if x is negative, else returns 0.0.
 
double dxOnNegative (const double)
 
double dxAbs (const double x)
 
double d1Atan2L (const double y, const double x)
 
double d2Atan2L (const double y, const double x)
 Derivative of ATAN2L with respect to x.
 
double sign (const double x)
 Returns the sign of a double (-1.0 or +1.0)
 
double dtIfPositive (const double x, const double, const double)
 Derivative of IfPositive with respect to y1.
 
double dfIfPositive (const double x, const double, const double)
 Derivative of IfPositive with respect to y1.
 
double limit2 (const double x, const double, const double xmin, const double xmax)
 Overloads double hopsan::limit() to also include sx (derivative of x) as input.
 
double lowerLimit (const double value, const double limit)
 Apply a lower limit to a value.
 
double upperLimit (const double value, const double limit)
 Apply a upper limit to a value.
 
double deg2rad (const double deg)
 Converts an angle in degrees to radians.
 
double rad2deg (const double rad)
 Converts an angle in radians to degrees.
 
bool equalSignsBool (const double x, const double y)
 Check if input variables have the same sign.
 
double equalSigns (const double x, const double y)
 Check if input variables have the same sign.
 

Variables

const double pi = 3.14159265358979323846
 A const double definition of pi that you can use in your code.
 

Detailed Description

Function Documentation

◆ boolToDouble()

double boolToDouble ( const bool  value)
inline

Converts a boolean value to a float point number.

Parameters
valueBoolean to convert, will return 1.0 if true and 0.0 if false

◆ deg2rad()

double deg2rad ( const double  deg)
inline

Converts an angle in degrees to radians.

Parameters
[in]degThe angle in degrees
Returns
The angle in radians

◆ dfIfPositive()

double dfIfPositive ( const double  x,
const double  ,
const double   
)
inline

Derivative of IfPositive with respect to y1.

Parameters
[in]xinput value
Returns
Limited derivative of x

◆ doubleToBool()

bool doubleToBool ( const double  value)
inline

Converts a float point number to a boolean.

Parameters
valueDouble value to convert, 1.0 means true, 0.0 means false

◆ dtIfPositive()

double dtIfPositive ( const double  x,
const double  ,
const double   
)
inline

Derivative of IfPositive with respect to y1.

Parameters
[in]xinput value
Returns
Limited derivative of x

◆ equalSigns()

double equalSigns ( const double  x,
const double  y 
)
inline

Check if input variables have the same sign.

Returns
1.0 (true) or 0.0 (false)

◆ equalSignsBool()

bool equalSignsBool ( const double  x,
const double  y 
)
inline

Check if input variables have the same sign.

Returns
true or false

◆ ifPositive()

double ifPositive ( const double  x,
const double  y1,
const double  y2 
)
inline

Returns y1 or y2 depending on the value of x.

Parameters
xinput value
y1if x is positive
y2otherwise
Returns
Limited derivative of x

◆ limit2()

double limit2 ( const double  x,
const double  ,
const double  xmin,
const double  xmax 
)
inline

Overloads double hopsan::limit() to also include sx (derivative of x) as input.

See also
void hopsan::limit(&x, min, max)
Parameters
xValue to be limited
sxDerivative of x
xminMinimum value of x
xmaxMaximum value of x
Returns
Limited x value

◆ lowerLimit()

double lowerLimit ( const double  value,
const double  limit 
)
inline

Apply a lower limit to a value.

Parameters
[in]valueThe value to limit
[in]limitThe lower limit
Returns
limit if value < limit else value

◆ onNegative()

double onNegative ( const double  x)
inline

Returns 1.0 if x is negative, else returns 0.0.

Parameters
xValue to determine if it is positive

◆ onPositive()

double onPositive ( const double  x)
inline

Returns 1.0 if x is positive, else returns 0.0.

Parameters
xValue to determine if it is positive

◆ rad2deg()

double rad2deg ( const double  rad)
inline

Converts an angle in radians to degrees.

Parameters
[in]radThe angle in radians
Returns
The angle in degrees

◆ sign()

double sign ( const double  x)
inline

Returns the sign of a double (-1.0 or +1.0)

Parameters
xValue to determine sign on

◆ upperLimit()

double upperLimit ( const double  value,
const double  limit 
)
inline

Apply a upper limit to a value.

Parameters
[in]valueThe value to limit
[in]limitThe upper limit
Returns
limit if value > limit else value