20 namespace JPP {
using namespace JMATH; }
33 public JMath <JMatrix2D>,
59 const double __a10,
const double __a11) :
196 a00 *= factor;
a01 *= factor;
197 a10 *= factor;
a11 *= factor;
211 a00 /= factor;
a01 /= factor;
212 a10 /= factor;
a11 /= factor;
246 const double eps = std::numeric_limits<double>::min())
const
248 return (fabs(
a00 - A.
a00) <= eps &&
249 fabs(
a01 - A.
a01) <= eps &&
250 fabs(
a10 - A.
a10) <= eps &&
251 fabs(
a11 - A.
a11) <= eps);
261 bool isIdentity(
const double eps = std::numeric_limits<double>::min())
const
286 const double x =
a00 * __x +
a01 * __y;
287 const double y =
a10 * __x +
a11 * __y;
303 in >> matrix.
a00; in >> matrix.
a01;
304 in >> matrix.
a10; in >> matrix.
a11;
319 out << matrix.
a00; out << matrix.
a01;
320 out << matrix.
a10; out << matrix.
a11;
337 const JFormat format(out, getFormat<JMatrix2D>(
JFormat_t(10, 3, std::ios::fixed | std::ios::showpos)));
339 out << format << A.
a00 <<
' ' << format << A.
a01 << endl;
340 out << format << A.
a10 <<
' ' << format << A.
a11 << endl;
Base class for data structures with artithmetic capabilities.
Interface for binary input.
Interface for binary output.
JMatrix2D & reset()
Set matrix to the null matrix.
JMatrix2D & mul(const JMatrix2D &A, const JMatrix2D &B)
Matrix multiplication.
JMatrix2D & transpose()
Transpose.
JMatrix2D & add(const JMatrix2D &A)
Matrix addition.
JMatrix2D(const double __a00, const double __a01, const double __a10, const double __a11)
Contructor.
JMatrix2D()
Default constructor.
friend std::ostream & operator<<(std::ostream &out, const JMatrix2D &A)
Print ASCII formatted output.
JMatrix2D & sub(const JMatrix2D &A)
Matrix subtraction.
void set(const JMatrix2D &A)
Set matrix.
bool isIdentity(const double eps=std::numeric_limits< double >::min()) const
Test identity.
JMatrix2D & mul(const double factor)
Scale matrix.
static const JMatrix2D & getInstance()
Get reference to unique instance of this class object.
void transform(double &__x, double &__y) const
Transform.
static const JMatrix2D & getIdentity()
Get reference to unique instance of this class object.
bool equals(const JMatrix2D &A, const double eps=std::numeric_limits< double >::min()) const
Equality.
friend JWriter & operator<<(JWriter &out, const JMatrix2D &matrix)
Write matrix to output.
friend JReader & operator>>(JReader &in, JMatrix2D &matrix)
Read matrix from input.
JMatrix2D & div(const double factor)
Scale matrix.
JMatrix2D & setIdentity()
Set to identity matrix.
JMatrix2D & negate()
Negate matrix.
double getDeterminant() const
Get determinant of matrix.
Auxiliary classes and methods for mathematical operations.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Template definition of auxiliary base class for comparison of data structures.
Auxiliary base class for aritmetic operations of derived class types.