5#ifndef BALL_MATHS_FUNCTION_H
6#define BALL_MATHS_FUNCTION_H
19 template <
int constant_
template>
35 float operator () (
float )
const
37 return constant_template;
48 template <
typename DataType =
float>
103 DataType operator () (
const DataType& )
const
142 template <
typename First,
typename Second,
typename DataType =
float>
193 DataType operator () (
const DataType& x)
const
264 template <
typename First,
typename Second,
typename DataType =
float>
315 DataType operator () (
const DataType& x)
const
371 template <
typename First,
typename Second,
typename DataType =
float>
422 DataType operator () (
const DataType& x)
const
488 template <
typename First,
typename Second,
typename DataType =
float>
540 DataType operator () (
const DataType& x)
const
605 template <
typename Function,
typename DataType =
float>
657 DataType operator () (
const DataType& x)
const
703 template <
typename Function,
typename DataType =
float>
754 DataType operator () (
const DataType& x)
const
793 template <
typename Function,
typename DataType =
float>
844 DataType operator () (
const DataType& x)
const
847 return val * val * val;
883 template <
typename Function,
typename DataType =
float>
934 DataType operator () (
const DataType& x)
const
962 void setExponent(DataType exp);
967 DataType getExponent()
const;
983 template <
typename DataType>
990 template <
typename DataType>
998 template <
typename DataType>
1005 template <
typename DataType>
1011 template <
typename DataType>
1020 template <
typename DataType>
1025 return (
constant_ == constant.constant_);
1029 template <
typename First,
typename Second,
typename DataType>
1037 template <
typename First,
typename Second,
typename DataType>
1045 template <
typename First,
typename Second,
typename DataType>
1051 template <
typename First,
typename Second,
typename DataType>
1060 template <
typename First,
typename Second,
typename DataType>
1068 template <
typename First,
typename Second,
typename DataType>
1076 template <
typename First,
typename Second,
typename DataType>
1084 template <
typename First,
typename Second,
typename DataType>
1090 template <
typename First,
typename Second,
typename DataType>
1099 template <
typename First,
typename Second,
typename DataType>
1107 template <
typename First,
typename Second,
typename DataType>
1115 template <
typename First,
typename Second,
typename DataType>
1123 template <
typename First,
typename Second,
typename DataType>
1129 template <
typename First,
typename Second,
typename DataType>
1138 template <
typename First,
typename Second,
typename DataType>
1146 template <
typename First,
typename Second,
typename DataType>
1154 template <
typename First,
typename Second,
typename DataType>
1162 template <
typename First,
typename Second,
typename DataType>
1168 template <
typename First,
typename Second,
typename DataType>
1177 template <
typename First,
typename Second,
typename DataType>
1185 template <
typename Function,
typename DataType>
1192 template <
typename Function,
typename DataType>
1199 template <
typename Function,
typename DataType>
1205 template <
typename Function,
typename DataType>
1213 template <
typename Function,
typename DataType>
1221 template <
typename Function,
typename DataType>
1228 template <
typename Function,
typename DataType>
1235 template <
typename Function,
typename DataType>
1241 template <
typename Function,
typename DataType>
1249 template <
typename Function,
typename DataType>
1257 template <
typename Function,
typename DataType>
1264 template <
typename Function,
typename DataType>
1271 template <
typename Function,
typename DataType>
1277 template <
typename Function,
typename DataType>
1285 template <
typename Function,
typename DataType>
1293 template <
typename Function,
typename DataType>
1301 template <
typename Function,
typename DataType>
1309 template <
typename Function,
typename DataType>
1315 template <
typename Function,
typename DataType>
1324 template <
typename Function,
typename DataType>
1332 template <
typename Function,
typename DataType>
1339 template <
typename Function,
typename DataType>
void setFirst(const First &first)
const Second & getSecond() const
void setSecond(const Second &second)
const First & getFirst() const
Addition< First, Second, DataType > & operator=(const Addition< First, Second, DataType > &addition)
bool operator==(const Addition< First, Second, DataType > &addition) const
void setFunction(const Function &function)
const Function & getFunction() const
bool operator==(const CubicFunction< Function, DataType > &cubic) const
CubicFunction< Function, DataType > & operator=(const CubicFunction< Function, DataType > &cubic)
void setSecond(const Second &second)
Division< First, Second, DataType > & operator=(const Division< First, Second, DataType > &division)
void setFirst(const First &first)
bool operator==(const Division< First, Second, DataType > &division) const
const DataType & getConstant() const
void setConstant(DataType constant)
virtual ~MutableConstant()
MutablePower< Function, DataType > & operator=(const MutablePower< Function, DataType > &power)
bool operator==(const MutablePower< Function, DataType > &power) const
const Function & getFunction() const
DataType getExponent() const
void setExponent(DataType exp)
void setFunction(const Function &function)
void setSecond(const Second &second)
bool operator==(const Product< First, Second, DataType > &product) const
const First & getFirst() const
Product< First, Second, DataType > & operator=(const Product< First, Second, DataType > &product)
void setFirst(const First &first)
Reciprocal< Function, DataType > & operator=(const Reciprocal< Function, DataType > &reciprocal)
void setFunction(const Function &function)
bool operator==(const Reciprocal< Function, DataType > &reciprocal) const
const Function & getFunction() const
void setFunction(const Function &function)
const Function & getFunction() const
virtual ~SquareFunction()
SquareFunction< Function, DataType > & operator=(const SquareFunction< Function, DataType > &square)
bool operator==(const SquareFunction< Function, DataType > &square) const
bool operator==(const Subtraction< First, Second, DataType > &subtraction) const
Subtraction< First, Second, DataType > & operator=(const Subtraction< First, Second, DataType > &subtraction)
void setSecond(const Second &second)
void setFirst(const First &first)
#define BALL_CREATE(name)
BALL_EXPORT bool operator==(const String &s1, const String &s2)