Scalar.h File Reference

This is a user-includable header which includes everything needed to make use of SimMatrix Scalar code. More...

#include "SimTKcommon/internal/common.h"
#include "SimTKcommon/Constants.h"
#include "SimTKcommon/internal/Exception.h"
#include "SimTKcommon/internal/ExceptionMacros.h"
#include "SimTKcommon/internal/String.h"
#include "SimTKcommon/internal/Array.h"
#include "SimTKcommon/internal/conjugate.h"
#include "SimTKcommon/internal/CompositeNumericalTypes.h"
#include "SimTKcommon/internal/NTraits.h"
#include "SimTKcommon/internal/negator.h"
#include <complex>
#include <cmath>
#include <climits>
#include <cassert>

Go to the source code of this file.

Namespaces

namespace  SimTK
 

This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with other symbols.


Typedefs

typedef conjugate< Real > Conjugate

Functions

bool atMostOneBitIsSet (unsigned char v)
bool atMostOneBitIsSet (unsigned short v)
bool atMostOneBitIsSet (unsigned int v)
bool atMostOneBitIsSet (unsigned long v)
bool atMostOneBitIsSet (unsigned long long v)
bool atMostOneBitIsSet (signed char v)
bool atMostOneBitIsSet (char v)
bool atMostOneBitIsSet (short v)
bool atMostOneBitIsSet (int v)
bool atMostOneBitIsSet (long v)
bool atMostOneBitIsSet (long long v)
bool exactlyOneBitIsSet (unsigned char v)
bool exactlyOneBitIsSet (unsigned short v)
bool exactlyOneBitIsSet (unsigned int v)
bool exactlyOneBitIsSet (unsigned long v)
bool exactlyOneBitIsSet (unsigned long long v)
bool exactlyOneBitIsSet (signed char v)
bool exactlyOneBitIsSet (char v)
bool exactlyOneBitIsSet (short v)
bool exactlyOneBitIsSet (int v)
bool exactlyOneBitIsSet (long v)
bool exactlyOneBitIsSet (long long v)
bool signBit (unsigned char i)
bool signBit (unsigned short i)
bool signBit (unsigned int i)
bool signBit (unsigned long i)
bool signBit (unsigned long long i)
bool signBit (signed char i)
bool signBit (short i)
bool signBit (int i)
bool signBit (long long i)
bool signBit (long i)
bool signBit (const float &f)
bool signBit (const double &d)
bool signBit (const negator< float > &nf)
bool signBit (const negator< double > &nd)
unsigned int sign (unsigned char u)
unsigned int sign (unsigned short u)
unsigned int sign (unsigned int u)
unsigned int sign (unsigned long u)
unsigned int sign (unsigned long long u)
int sign (signed char i)
int sign (short i)
int sign (int i)
int sign (long i)
int sign (long long i)
int sign (const float &x)
int sign (const double &x)
int sign (const long double &x)
int sign (const negator< float > &x)
int sign (const negator< double > &x)
int sign (const negator< long double > &x)
unsigned char square (unsigned char u)
unsigned short square (unsigned short u)
unsigned int square (unsigned int u)
unsigned long square (unsigned long u)
char square (char c)
signed char square (signed char i)
short square (short i)
int square (int i)
long square (long i)
float square (const float &x)
double square (const double &x)
long double square (const long double &x)
float square (const negator< float > &x)
double square (const negator< double > &x)
long double square (const negator< long double > &x)
template<class P >
std::complex< P > square (const std::complex< P > &x)
template<class P >
std::complex< P > square (const conjugate< P > &x)
template<class P >
std::complex< P > square (const negator< std::complex< P > > &x)
template<class P >
std::complex< P > square (const negator< conjugate< P > > &x)
unsigned char cube (unsigned char u)
unsigned short cube (unsigned short u)
unsigned int cube (unsigned int u)
unsigned long cube (unsigned long u)
char cube (char c)
signed char cube (signed char i)
short cube (short i)
int cube (int i)
long cube (long i)
float cube (const float &x)
double cube (const double &x)
long double cube (const long double &x)
negator< float > cube (const negator< float > &x)
negator< double > cube (const negator< double > &x)
negator< long double > cube (const negator< long double > &x)
template<class P >
std::complex< P > cube (const std::complex< P > &x)
template<class P >
std::complex< P > cube (const negator< std::complex< P > > &x)
template<class P >
std::complex< P > cube (const conjugate< P > &x)
template<class P >
std::complex< P > cube (const negator< conjugate< P > > &x)
double & clampInPlace (double low, double &v, double high)
 Check that low <= v <= high and modify v in place if necessary to bring it into that range.
float & clampInPlace (float low, float &v, float high)
long double & clampInPlace (long double low, long double &v, long double high)
double & clampInPlace (int low, double &v, int high)
float & clampInPlace (int low, float &v, int high)
long double & clampInPlace (int low, long double &v, int high)
double & clampInPlace (int low, double &v, double high)
float & clampInPlace (int low, float &v, float high)
long double & clampInPlace (int low, long double &v, long double high)
double & clampInPlace (double low, double &v, int high)
float & clampInPlace (float low, float &v, int high)
long double & clampInPlace (long double low, long double &v, int high)
unsigned char & clampInPlace (unsigned char low, unsigned char &v, unsigned char high)
unsigned short & clampInPlace (unsigned short low, unsigned short &v, unsigned short high)
unsigned int & clampInPlace (unsigned int low, unsigned int &v, unsigned int high)
unsigned long & clampInPlace (unsigned long low, unsigned long &v, unsigned long high)
unsigned long long & clampInPlace (unsigned long long low, unsigned long long &v, unsigned long long high)
char & clampInPlace (char low, char &v, char high)
signed char & clampInPlace (signed char low, signed char &v, signed char high)
short & clampInPlace (short low, short &v, short high)
int & clampInPlace (int low, int &v, int high)
long & clampInPlace (long low, long &v, long high)
long long & clampInPlace (long long low, long long &v, long long high)
negator< float > & clampInPlace (float low, negator< float > &v, float high)
negator< double > & clampInPlace (double low, negator< double > &v, double high)
negator< long double > & clampInPlace (long double low, negator< long double > &v, long double high)
double clamp (double low, double v, double high)
 If v is in range low <= v <= high then return v, otherwise return the nearest bound; this function does not modify the input variable v.
float clamp (float low, float v, float high)
long double clamp (long double low, long double v, long double high)
double clamp (int low, double v, int high)
float clamp (int low, float v, int high)
long double clamp (int low, long double v, int high)
double clamp (int low, double v, double high)
float clamp (int low, float v, float high)
long double clamp (int low, long double v, long double high)
double clamp (double low, double v, int high)
float clamp (float low, float v, int high)
long double clamp (long double low, long double v, int high)
unsigned char clamp (unsigned char low, unsigned char v, unsigned char high)
unsigned short clamp (unsigned short low, unsigned short v, unsigned short high)
unsigned int clamp (unsigned int low, unsigned int v, unsigned int high)
unsigned long clamp (unsigned long low, unsigned long v, unsigned long high)
unsigned long long clamp (unsigned long long low, unsigned long long v, unsigned long long high)
char clamp (char low, char v, char high)
signed char clamp (signed char low, signed char v, signed char high)
short clamp (short low, short v, short high)
int clamp (int low, int v, int high)
long clamp (long low, long v, long high)
long long clamp (long long low, long long v, long long high)
float clamp (float low, negator< float > v, float high)
double clamp (double low, negator< double > v, double high)
long double clamp (long double low, negator< long double > v, long double high)
double stepUp (double x)
 Interpolate smoothly from 0 up to 1 as the input argument goes from 0 to 1, with first and second derivatives zero at either end of the interval.
double stepDown (double x)
 Interpolate smoothly from 1 down to 0 as the input argument goes from 0 to 1, with first and second derivatives zero at either end of the interval.
double stepAny (double y0, double yRange, double x0, double oneOverXRange, double x)
 Interpolate smoothly from y0 to y1 as the input argument goes from x0 to x1, with first and second derivatives zero at either end of the interval.
double dstepUp (double x)
 First derivative of stepUp(): d/dx stepUp(x).
double dstepDown (double x)
 First derivative of stepDown(): d/dx stepDown(x).
double dstepAny (double yRange, double x0, double oneOverXRange, double x)
 First derivative of stepAny(): d/dx stepAny(x).
double d2stepUp (double x)
 Second derivative of stepUp(): d^2/dx^2 stepUp(x).
double d2stepDown (double x)
 Second derivative of stepDown(): d^2/dx^2 stepDown(x).
double d2stepAny (double yRange, double x0, double oneOverXRange, double x)
 Second derivative of stepAny(): d^2/dx^2 stepAny(x).
double d3stepUp (double x)
 Third derivative of stepUp(): d^3/dx^3 stepUp(x).
double d3stepDown (double x)
 Third derivative of stepDown(): d^3/dx^3 stepDown(x).
double d3stepAny (double yRange, double x0, double oneOverXRange, double x)
 Third derivative of stepAny(): d^3/dx^3 stepAny(x).
float stepUp (float x)
float stepDown (float x)
float stepAny (float y0, float yRange, float x0, float oneOverXRange, float x)
float dstepUp (float x)
float dstepDown (float x)
float dstepAny (float yRange, float x0, float oneOverXRange, float x)
float d2stepUp (float x)
float d2stepDown (float x)
float d2stepAny (float yRange, float x0, float oneOverXRange, float x)
float d3stepUp (float x)
float d3stepDown (float x)
float d3stepAny (float yRange, float x0, float oneOverXRange, float x)
long double stepUp (long double x)
long double stepDown (long double x)
long double stepAny (long double y0, long double yRange, long double x0, long double oneOverXRange, long double x)
long double dstepUp (long double x)
long double dstepDown (long double x)
long double dstepAny (long double yRange, long double x0, long double oneOverXRange, long double x)
long double d2stepUp (long double x)
long double d2stepDown (long double x)
long double d2stepAny (long double yRange, long double x0, long double oneOverXRange, long double x)
long double d3stepUp (long double x)
long double d3stepDown (long double x)
long double d3stepAny (long double yRange, long double x0, long double oneOverXRange, long double x)
double stepUp (int x)
double stepDown (int x)

Detailed Description

This is a user-includable header which includes everything needed to make use of SimMatrix Scalar code.

More commonly, this will be included from within Matrix code.


Generated on Thu Aug 12 16:37:42 2010 for SimTKcore by  doxygen 1.6.1