21 namespace JPP {
using namespace JMATH; }
34 public JMath <JMatrix5D>,
83 JMatrix5D(
const double __a00,
const double __a01,
const double __a02,
const double __a03,
const double __a04,
84 const double __a10,
const double __a11,
const double __a12,
const double __a13,
const double __a14,
85 const double __a20,
const double __a21,
const double __a22,
const double __a23,
const double __a24,
86 const double __a30,
const double __a31,
const double __a32,
const double __a33,
const double __a34,
87 const double __a40,
const double __a41,
const double __a42,
const double __a43,
const double __a44) :
248 a00 *= factor;
a01 *= factor;
a02 *= factor;
a03 *= factor;
a04 *= factor;
249 a10 *= factor;
a11 *= factor;
a12 *= factor;
a13 *= factor;
a14 *= factor;
250 a20 *= factor;
a21 *= factor;
a22 *= factor;
a23 *= factor;
a24 *= factor;
251 a30 *= factor;
a31 *= factor;
a32 *= factor;
a33 *= factor;
a34 *= factor;
252 a40 *= factor;
a41 *= factor;
a42 *= factor;
a43 *= factor;
a44 *= factor;
266 a00 /= factor;
a01 /= factor;
a02 /= factor;
a03 /= factor;
a04 /= factor;
267 a10 /= factor;
a11 /= factor;
a12 /= factor;
a13 /= factor;
a14 /= factor;
268 a20 /= factor;
a21 /= factor;
a22 /= factor;
a23 /= factor;
a24 /= factor;
269 a30 /= factor;
a31 /= factor;
a32 /= factor;
a33 /= factor;
a34 /= factor;
270 a40 /= factor;
a41 /= factor;
a42 /= factor;
a43 /= factor;
a44 /= factor;
328 const double eps = std::numeric_limits<double>::min())
const
330 return (fabs(
a00 - A.
a00) <= eps &&
331 fabs(
a01 - A.
a01) <= eps &&
332 fabs(
a02 - A.
a02) <= eps &&
333 fabs(
a03 - A.
a03) <= eps &&
334 fabs(
a04 - A.
a04) <= eps &&
335 fabs(
a10 - A.
a10) <= eps &&
336 fabs(
a11 - A.
a11) <= eps &&
337 fabs(
a12 - A.
a12) <= eps &&
338 fabs(
a13 - A.
a13) <= eps &&
339 fabs(
a14 - A.
a14) <= eps &&
340 fabs(
a20 - A.
a20) <= eps &&
341 fabs(
a21 - A.
a21) <= eps &&
342 fabs(
a22 - A.
a22) <= eps &&
343 fabs(
a23 - A.
a23) <= eps &&
344 fabs(
a24 - A.
a24) <= eps &&
345 fabs(
a30 - A.
a30) <= eps &&
346 fabs(
a31 - A.
a31) <= eps &&
347 fabs(
a32 - A.
a32) <= eps &&
348 fabs(
a33 - A.
a33) <= eps &&
349 fabs(
a34 - A.
a34) <= eps &&
350 fabs(
a40 - A.
a40) <= eps &&
351 fabs(
a41 - A.
a41) <= eps &&
352 fabs(
a42 - A.
a42) <= eps &&
353 fabs(
a43 - A.
a43) <= eps &&
354 fabs(
a44 - A.
a44) <= eps);
364 bool isIdentity(
const double eps = std::numeric_limits<double>::min())
const
417 void transform(
double& __x0,
double& __x1,
double& __x2,
double& __x3,
double& __x4)
const
419 const double x0 =
a00 * __x0 +
a01 * __x1 +
a02 * __x2 +
a03 * __x3 +
a04 * __x4;
420 const double x1 =
a10 * __x0 +
a11 * __x1 +
a12 * __x2 +
a13 * __x3 +
a14 * __x4;
421 const double x2 =
a20 * __x0 +
a21 * __x1 +
a22 * __x2 +
a23 * __x3 +
a24 * __x4;
422 const double x3 =
a30 * __x0 +
a31 * __x1 +
a32 * __x2 +
a33 * __x3 +
a34 * __x4;
423 const double x4 =
a40 * __x0 +
a41 * __x1 +
a42 * __x2 +
a43 * __x3 +
a44 * __x4;
442 in >> matrix.
a00; in >> matrix.
a01; in >> matrix.
a02; in >> matrix.
a03; in >> matrix.
a04;
443 in >> matrix.
a10; in >> matrix.
a11; in >> matrix.
a12; in >> matrix.
a13; in >> matrix.
a14;
444 in >> matrix.
a20; in >> matrix.
a21; in >> matrix.
a22; in >> matrix.
a23; in >> matrix.
a24;
445 in >> matrix.
a30; in >> matrix.
a31; in >> matrix.
a32; in >> matrix.
a33; in >> matrix.
a34;
446 in >> matrix.
a40; in >> matrix.
a41; in >> matrix.
a42; in >> matrix.
a43; in >> matrix.
a44;
461 out << matrix.
a00; out << matrix.
a01; out << matrix.
a02; out << matrix.
a03; out << matrix.
a04;
462 out << matrix.
a10; out << matrix.
a11; out << matrix.
a12; out << matrix.
a13; out << matrix.
a14;
463 out << matrix.
a20; out << matrix.
a21; out << matrix.
a22; out << matrix.
a23; out << matrix.
a24;
464 out << matrix.
a30; out << matrix.
a31; out << matrix.
a32; out << matrix.
a33; out << matrix.
a34;
465 out << matrix.
a40; out << matrix.
a41; out << matrix.
a42; out << matrix.
a43; out << matrix.
a44;
482 const JFormat format(out, getFormat<JMatrix4D>(
JFormat_t(10, 3, std::ios::fixed | std::ios::showpos)));
484 out << format << A.
a00 <<
' ' << format << A.
a01 <<
' ' << format << A.
a02 <<
' ' << format << A.
a03 <<
' ' << format << A.
a04 << endl;
485 out << format << A.
a10 <<
' ' << format << A.
a11 <<
' ' << format << A.
a12 <<
' ' << format << A.
a13 <<
' ' << format << A.
a14 << endl;
486 out << format << A.
a20 <<
' ' << format << A.
a21 <<
' ' << format << A.
a22 <<
' ' << format << A.
a23 <<
' ' << format << A.
a24 << endl;
487 out << format << A.
a30 <<
' ' << format << A.
a31 <<
' ' << format << A.
a32 <<
' ' << format << A.
a33 <<
' ' << format << A.
a34 << endl;
488 out << format << A.
a40 <<
' ' << format << A.
a41 <<
' ' << format << A.
a42 <<
' ' << format << A.
a43 <<
' ' << format << A.
a44 << endl;
JMatrix5D & reset()
Set matrix to the null matrix.
JMatrix5D & sub(const JMatrix5D &A)
Matrix subtraction.
JMatrix5D(const double __a00, const double __a01, const double __a02, const double __a03, const double __a04, const double __a10, const double __a11, const double __a12, const double __a13, const double __a14, const double __a20, const double __a21, const double __a22, const double __a23, const double __a24, const double __a30, const double __a31, const double __a32, const double __a33, const double __a34, const double __a40, const double __a41, const double __a42, const double __a43, const double __a44)
Contructor.
Interface for binary output.
Auxiliary base class for aritmetic operations of derived class types.
friend JReader & operator>>(JReader &in, JMatrix5D &matrix)
Read matrix from input.
double operator()(int row, int col) const
Get matrix element.
void set(const JMatrix5D &A)
Set matrix.
double getDeterminant() const
Get determinant of matrix.
bool isIdentity(const double eps=std::numeric_limits< double >::min()) const
Test identity.
friend JWriter & operator<<(JWriter &out, const JMatrix5D &matrix)
Write matrix to output.
static const JMatrix5D & getIdentity()
Get reference to unique instance of this class object.
JMatrix5D & setIdentity()
Set to identity matrix.
JMatrix5D & div(const double factor)
Scale matrix.
Template definition of auxiliary base class for comparison of data structures.
double getDeterminant() const
Get determinant of matrix.
JMatrix5D & transpose()
Transpose.
double & operator()(int row, int col)
Get matrix element.
Interface for binary input.
friend std::ostream & operator<<(std::ostream &out, const JMatrix5D &A)
Print ASCII formatted output.
JMatrix5D & mul(const double factor)
Scale matrix.
const JMatrix5D & mul(const JMatrix5D &A, const JMatrix5D &B)
Matrix multiplication.
Base class for data structures with artithmetic capabilities.
bool equals(const JMatrix5D &A, const double eps=std::numeric_limits< double >::min()) const
Equality.
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
void transform(double &__x0, double &__x1, double &__x2, double &__x3, double &__x4) const
Transform.
JMatrix5D & add(const JMatrix5D &A)
Matrix addition.
static const JMatrix5D & getInstance()
Get reference to unique instance of this class object.
JMatrix5D & negate()
Negate matrix.
static const int NUMBER_OF_DIMENSIONS
JMatrix5D()
Default constructor.