20 #include <sys/types.h>
68 void set(
int indexM,
int indexN,
float value )
70 if( indexM >=
m_ ||
m_ + indexM < 0 || indexN >=
n_ ||
n_ + indexN < 0 )
74 value_[indexM][indexN] = value;
77 void setInt(
int indexM,
int indexN,
int value )
79 if( indexM >=
m_ ||
m_ + indexM < 0 || indexN >=
n_ ||
n_ + indexN < 0 )
84 floatInt.
int_ = value;
88 float get(
int indexM,
int indexN )
const
90 if( indexM >=
m_ ||
m_ + indexM < 0 || indexN >=
n_ ||
n_ + indexN < 0 )
94 return value_[indexM][indexN];
97 int getInt(
int indexM,
int indexN )
const
99 if( indexM >=
m_ ||
m_ + indexM < 0 || indexN >=
n_ ||
n_ + indexN < 0 )
105 return floatInt.
int_;
111 memcpy(
value_[0], ptr, m * n *
sizeof(
float ) );
117 if( indexM >=
m_ ||
m_ + indexM < 0 || indexN >=
n_ ||
n_ + indexN < 0 )
121 return value_[indexM >= 0 ? indexM :
m_ + indexM][indexN >= 0 ? indexN :
n_ + indexN];
124 Mtx subset(
int minM = 0,
int maxM = -1,
int minN = 0,
int maxN = -1 )
const;
126 static bool CopyValues(
const Mtx& src,
int srcStartM,
int srcStartN,
const Mtx& dst,
int dstStartM,
int dstStartN,
int numM,
int numN );
129 int minM = 0,
int maxM = -1,
int minN = 0,
int maxN = -1,
137 return m_ > 0 &&
n_ > 0;
155 static int Comp0(
const Mtx& lhs,
int lhsJ,
const Mtx& rhs,
int rhsJ );
158 static int Comp1(
const Mtx& lhs,
int lhsJ,
const Mtx& rhs,
int rhsJ );
161 static int Comp2(
const Mtx& lhs,
int lhsJ,
const Mtx& rhs,
int rhsJ );
164 static int Comp01(
const Mtx& lhs,
int lhsJ,
const Mtx& rhs,
int rhsJ );
167 static int Comp02(
const Mtx& lhs,
int lhsJ,
const Mtx& rhs,
int rhsJ );
Client-side interface for injecting log data into the log queue.
Definition: Logger.h:30
Mtx & operator=(const Mtx &rhs)
Definition: Mtx.cpp:112
int n_
Definition: Mtx.h:173
Mtx subset(int minM=0, int maxM=-1, int minN=0, int maxN=-1) const
Definition: Mtx.cpp:192
virtual float ** getPtr2d(void)
Definition: Mtx.h:52
static int Comp02(const Mtx &lhs, int lhsJ, const Mtx &rhs, int rhsJ)
Comparison function for indexM = 0 AND indexM = 2;.
Definition: Mtx.cpp:376
void clear()
Definition: Mtx.cpp:234
Mtx & operator+=(const Mtx &rhs)
Definition: Mtx.cpp:145
virtual ~Mtx()
Definition: Mtx.cpp:85
Mtx & operator*=(const float rhs)
Definition: Mtx.cpp:132
void set(int indexM, int indexN, float value)
Definition: Mtx.h:68
void setFromPtr(const int m, const int n, const void *ptr)
Definition: Mtx.h:108
Mtx & operator-=(const Mtx &rhs)
Definition: Mtx.cpp:175
bool write(const char *filename, Logger &logger, int minM=0, int maxM=-1, int minN=0, int maxN=-1, Syslog::Severity severity=Syslog::FAULT)
Definition: Mtx.cpp:211
bool append(const char *filename, Logger &logger, Syslog::Severity severity=Syslog::FAULT)
Definition: Mtx.cpp:223
float float_
Definition: Mtx.h:180
float * operator[](int index)
Definition: Mtx.h:62
void setInt(int indexM, int indexN, int value)
Definition: Mtx.h:77
int getM() const
Definition: Mtx.h:42
int m_
Definition: Mtx.h:172
bool isUnlimitedN() const
Definition: Mtx.h:140
Contains the Syslog class definition.
Logger & logger_
Definition: Mtx.h:175
static int Comp01(const Mtx &lhs, int lhsJ, const Mtx &rhs, int rhsJ)
Comparison function for indexM = 0 AND indexM = 1;.
Definition: Mtx.cpp:365
Mtx operator*(const Mtx &rhs) const
Definition: Mtx.cpp:267
float operator()(int indexM, int indexN) const
Definition: Mtx.h:115
virtual float * getPtr1d(void)
Definition: Mtx.h:57
float ** value_
Definition: Mtx.h:174
static int Comp2(const Mtx &lhs, int lhsJ, const Mtx &rhs, int rhsJ)
Comparison function for indexM = 2;.
Definition: Mtx.cpp:359
Mtx(Logger &logger, int m=0, int n=0, float initVal=nanf(""), Syslog::Severity severity=Syslog::FAULT)
Definition: Mtx.cpp:12
int getInt(int indexM, int indexN) const
Definition: Mtx.h:97
static bool CopyValues(const Mtx &src, int srcStartM, int srcStartN, const Mtx &dst, int dstStartM, int dstStartN, int numM, int numN)
Definition: Mtx.cpp:326
Contains the Logger class definition.
int32_t int_
Definition: Mtx.h:181
static int Comp1(const Mtx &lhs, int lhsJ, const Mtx &rhs, int rhsJ)
Comparison function for indexM = 1;.
Definition: Mtx.cpp:353
bool unlimitedN_
Definition: Mtx.h:177
static int Comp0(const Mtx &lhs, int lhsJ, const Mtx &rhs, int rhsJ)
Comparison function for indexM = 0;.
Definition: Mtx.cpp:347
bool valid() const
Definition: Mtx.h:135
void prepareValueForModification()
Definition: Mtx.cpp:252
Severity
An attempt to define different levels of syslog severity.
Definition: Syslog.h:28
virtual int getN() const
Definition: Mtx.h:47
Syslog::Severity severity_
Definition: Mtx.h:176
void setUnlimitedN(bool unlimitedN)
Definition: Mtx.h:145
bool shellSort(int(&comp)(const Mtx &, int, const Mtx &, int))
Simple sort routine, invented by Donald Shell 1959.
Definition: Mtx.cpp:298
void setSize(int m, int n)
Definition: Mtx.cpp:90