20namespace JPP {
using namespace JMATH; }
33 public JMath <JMatrix2D>,
59 const double __a10,
const double __a11) :
167 a10 += A.a10;
a11 += A.a11;
182 a10 -= A.a10;
a11 -= A.a11;
196 a00 *= factor;
a01 *= factor;
197 a10 *= factor;
a11 *= factor;
211 a00 /= factor;
a01 /= factor;
212 a10 /= factor;
a11 /= factor;
228 a00 = A.
a00 * B.a00 + A.a01 * B.a10;
229 a01 = A.a00 * B.a01 + A.a01 * B.a11;
231 a10 = A.a10 * B.a00 + A.a11 * B.a10;
232 a11 = A.a10 * B.a01 + A.a11 * B.a11;
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;
339 out << format << A.a00 <<
' ' << format << A.a01 << endl;
340 out << format << A.a10 <<
' ' << format << A.a11 << endl;
JFormat_t & getFormat()
Get format for given type.
Base class for data structures with artithmetic capabilities.
Interface for binary input.
Interface for binary output.
JMatrix2D & setIdentity()
Set to identity matrix.
static const JMatrix2D & getInstance()
Get reference to unique instance of this class object.
JMatrix2D & div(const double factor)
Scale matrix.
friend JWriter & operator<<(JWriter &out, const JMatrix2D &matrix)
Write matrix to output.
JMatrix2D(const double __a00, const double __a01, const double __a10, const double __a11)
Contructor.
JMatrix2D()
Default constructor.
JMatrix2D & mul(const double factor)
Scale matrix.
JMatrix2D & add(const JMatrix2D &A)
Matrix addition.
void set(const JMatrix2D &A)
Set matrix.
bool isIdentity(const double eps=std::numeric_limits< double >::min()) const
Test identity.
JMatrix2D & sub(const JMatrix2D &A)
Matrix subtraction.
JMatrix2D & reset()
Set matrix to the null matrix.
void transform(double &__x, double &__y) const
Transform.
JMatrix2D & mul(const JMatrix2D &A, const JMatrix2D &B)
Matrix multiplication.
JMatrix2D & negate()
Negate matrix.
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 JReader & operator>>(JReader &in, JMatrix2D &matrix)
Read matrix from input.
double getDeterminant() const
Get determinant of matrix.
friend std::ostream & operator<<(std::ostream &out, const JMatrix2D &A)
Print ASCII formatted output.
JMatrix2D & transpose()
Transpose.
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.