1#ifndef CLASSIC_LinearFun_HH
2#define CLASSIC_LinearFun_HH
25template <
class T,
int N>
class FVector;
27template <
class T,
int M,
int N>
class FMatrix;
38template <
class T,
int N>
154 std::istream &
get(std::istream &is);
157 std::ostream &
put(std::ostream &os)
const;
172template <
class T,
int N>
176template <
class T,
int N>
180template <
class T,
int N>
184template <
class T,
int N>
188template <
class T,
int N>
192template <
class T,
int N>
196template <
class T,
int N>
200template <
class T,
int N>
204template <
class T,
int N>
208template <
class T,
int N>
212template <
class T,
int N>
216template <
class T,
int N>
220template <
class T,
int N>
224template <
class T,
int N>
228template <
class T,
int N>
232template <
class T,
int N>
std::ostream & operator<<(std::ostream &os, const LinearFun< T, N > &)
Insert LinearFun to stream [b]os[/b].
LinearFun< T, N > operator/(const LinearFun< T, N > &, const LinearFun< T, N > &)
Divide.
bool operator!=(const T &, const LinearFun< T, N > &)
Inequality.
std::istream & operator>>(std::istream &is, LinearFun< T, N > &)
Extract LinearFun from stream [b]is[/b].
LinearFun< T, N > operator*(const LinearFun< T, N > &, const LinearFun< T, N > &)
Multiply.
LinearFun< T, N > operator-(const LinearFun< T, N > &, const LinearFun< T, N > &)
Subtract.
LinearFun< T, N > operator+(const LinearFun< T, N > &, const LinearFun< T, N > &)
Add.
bool operator==(const T &, const LinearFun< T, N > &)
Equality.
A templated representation for matrices.
A templated representation for vectors.
Linear map with values of type [b]T[/b] in [b]N[/b] variables.
Linear function in N variables of type T.
LinearFun & operator=(const T &y)
Convert and assign.
const T operator[](int index) const
Get coefficient.
LinearFun & operator-=(const LinearFun &y)
Subtract and assign.
const T getCoefficient(int index) const
Get coefficient.
std::istream & get(std::istream &is)
Read LinearFun on the stream [b]is[/b].
void setCoefficient(int index, const T &value)
Set coefficient.
LinearFun< T, N > substitute(const LinearMap< T, N > &m) const
Substitute.
LinearFun multiply(const LinearFun &y) const
Multiplication truncated to order one.
T evaluate(const FVector< T, N > &) const
Evaluate LinearFun at point.
T data[N+1]
Representation.
LinearFun & operator+=(const LinearFun &y)
Add and assign.
LinearFun taylor(const T series[2]) const
Taylor series.
bool operator!=(const LinearFun &y) const
Inequality operator.
LinearFun operator-() const
Unary minus.
LinearFun operator+() const
Unary plus.
LinearFun & operator/=(const LinearFun &y)
Approximate division and assignation.
bool operator==(const LinearFun &y) const
Equality operator.
LinearFun & operator*=(const LinearFun &y)
Multiply and assign.
static LinearFun makeVariable(int var)
Make variable.
LinearFun()
Default constructor.
LinearFun inverse() const
Approximate reciprocal value 1/(*this).
std::ostream & put(std::ostream &os) const
Write LinearFun on the stream [b]os[/b].