OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
NegatedMatrix Class Reference

#include <newmat.h>

Inheritance diagram for NegatedMatrix:
BaseMatrix ColedMatrix DiagedMatrix GetSubMatrix InvertedMatrix MatedMatrix ReversedMatrix RowedMatrix TransposedMatrix

Public Member Functions

 ~NegatedMatrix ()
 
GeneralMatrixEvaluate (MatrixType mt=MatrixTypeUnSp)
 
MatrixBandWidth BandWidth () const
 
- Public Member Functions inherited from BaseMatrix
AddedMatrix operator+ (const BaseMatrix &) const
 
MultipliedMatrix operator* (const BaseMatrix &) const
 
SubtractedMatrix operator- (const BaseMatrix &) const
 
ConcatenatedMatrix operator| (const BaseMatrix &) const
 
StackedMatrix operator & (const BaseMatrix &) const
 
ShiftedMatrix operator+ (Real) const
 
ScaledMatrix operator* (Real) const
 
ScaledMatrix operator/ (Real) const
 
ShiftedMatrix operator- (Real) const
 
TransposedMatrix t () const
 
NegatedMatrix operator- () const
 
ReversedMatrix Reverse () const
 
InvertedMatrix i () const
 
RowedMatrix AsRow () const
 
ColedMatrix AsColumn () const
 
DiagedMatrix AsDiagonal () const
 
MatedMatrix AsMatrix (int, int) const
 
GetSubMatrix SubMatrix (int, int, int, int) const
 
GetSubMatrix SymSubMatrix (int, int) const
 
GetSubMatrix Row (int) const
 
GetSubMatrix Rows (int, int) const
 
GetSubMatrix Column (int) const
 
GetSubMatrix Columns (int, int) const
 
Real AsScalar () const
 
virtual LogAndSign LogDeterminant () const
 
Real Determinant () const
 
virtual Real SumSquare () const
 
Real NormFrobenius () const
 
virtual Real SumAbsoluteValue () const
 
virtual Real Sum () const
 
virtual Real MaximumAbsoluteValue () const
 
virtual Real MaximumAbsoluteValue1 (int &i) const
 
virtual Real MaximumAbsoluteValue2 (int &i, int &j) const
 
virtual Real MinimumAbsoluteValue () const
 
virtual Real MinimumAbsoluteValue1 (int &i) const
 
virtual Real MinimumAbsoluteValue2 (int &i, int &j) const
 
virtual Real Maximum () const
 
virtual Real Maximum1 (int &i) const
 
virtual Real Maximum2 (int &i, int &j) const
 
virtual Real Minimum () const
 
virtual Real Minimum1 (int &i) const
 
virtual Real Minimum2 (int &i, int &j) const
 
virtual Real Trace () const
 
Real Norm1 () const
 
Real NormInfinity () const
 
virtual void CleanUp ()
 
void IEQND () const
 

Protected Member Functions

 NegatedMatrix (const BaseMatrix *bmx)
 
int search (const BaseMatrix *) const
 

Protected Attributes

union {
   const BaseMatrix *   bm
 
   GeneralMatrix *   gm
 
}; 
 

Friends

class BaseMatrix
 

Detailed Description

Definition at line 1390 of file newmat.h.

Constructor & Destructor Documentation

◆ NegatedMatrix()

NegatedMatrix::NegatedMatrix ( const BaseMatrix bmx)
inlineprotected

Definition at line 1394 of file newmat.h.

1394 : bm(bmx) {}
const BaseMatrix * bm
Definition: newmat.h:1393

◆ ~NegatedMatrix()

NegatedMatrix::~NegatedMatrix ( )
inline

Definition at line 1399 of file newmat.h.

1399 {}

Member Function Documentation

◆ BandWidth()

MatrixBandWidth NegatedMatrix::BandWidth ( ) const
virtual

Reimplemented from BaseMatrix.

Reimplemented in GetSubMatrix, MatedMatrix, DiagedMatrix, ColedMatrix, RowedMatrix, InvertedMatrix, and TransposedMatrix.

Definition at line 497 of file newmat4.cpp.

References BaseMatrix::BandWidth(), gm, and REPORT.

498  { REPORT return gm->BandWidth(); }
virtual MatrixBandWidth BandWidth() const
Definition: newmat4.cpp:431
GeneralMatrix * gm
Definition: newmat.h:1393
#define REPORT
Definition: newmat4.cpp:19

◆ Evaluate()

GeneralMatrix * NegatedMatrix::Evaluate ( MatrixType  mt = MatrixTypeUnSp)
virtual

Implements BaseMatrix.

Reimplemented in GetSubMatrix, MatedMatrix, DiagedMatrix, ColedMatrix, RowedMatrix, InvertedMatrix, ReversedMatrix, and TransposedMatrix.

Definition at line 180 of file newmat5.cpp.

References Compare(), DirectPart, GeneralMatrix::Evaluate(), LoadOnEntry, MatrixRowCol::Negate(), MatrixType::New(), MatrixRow::Next(), GeneralMatrix::Nrows(), GeneralMatrix::ReleaseAndDelete(), REPORT, StoreOnExit, and GeneralMatrix::Type().

181 {
182  gm=((BaseMatrix*&)bm)->Evaluate();
183  int nr=gm->Nrows(); int nc=gm->Ncols();
184  if (Compare(gm->Type(),mt))
185  {
186  if (gm->reuse())
187  {
188  REPORT gm->Negate();
189  return gm;
190  }
191  else
192  {
193  REPORT
194  GeneralMatrix* gmx = gm->Type().New(nr,nc,this);
195  gmx->ReleaseAndDelete(); gmx->Negate(gm);
196  return gmx;
197  }
198  }
199  else
200  {
201  REPORT
202  GeneralMatrix* gmx = mt.New(nr,nc,this);
203  MatrixRow mr(gm, LoadOnEntry);
204  MatrixRow mrx(gmx, StoreOnExit+DirectPart);
205  while (nr--) { mrx.Negate(mr); mrx.Next(); mr.Next(); }
206  gmx->ReleaseAndDelete(); gm->tDelete();
207  return gmx;
208  }
209 }
const BaseMatrix * bm
Definition: newmat.h:1393
void tDelete()
Definition: newmat4.cpp:535
int Ncols() const
Definition: newmat.h:431
GeneralMatrix * Evaluate(MatrixType mt=MatrixTypeUnSp)
Definition: newmat5.cpp:79
GeneralMatrix * New() const
bool Compare(const MatrixType &source, MatrixType &destination)
Definition: newmat4.cpp:729
GeneralMatrix * gm
Definition: newmat.h:1393
void ReleaseAndDelete()
Definition: newmat.h:442
bool reuse()
Definition: newmat4.cpp:568
#define REPORT
Definition: newmat5.cpp:20
void Negate(GeneralMatrix *)
Definition: newmat5.cpp:349
virtual MatrixType Type() const =0
int Nrows() const
Definition: newmat.h:430

◆ search()

int NegatedMatrix::search ( const BaseMatrix s) const
protectedvirtual

Implements BaseMatrix.

Definition at line 407 of file newmat4.cpp.

References bm, REPORT, and BaseMatrix::search().

408 { REPORT return bm->search(s); }
const BaseMatrix * bm
Definition: newmat.h:1393
virtual int search(const BaseMatrix *) const =0
#define REPORT
Definition: newmat4.cpp:19

Friends And Related Function Documentation

◆ BaseMatrix

friend class BaseMatrix
friend

Definition at line 1397 of file newmat.h.

Member Data Documentation

◆ @42

union { ... }

◆ bm

const BaseMatrix* NegatedMatrix::bm

Definition at line 1393 of file newmat.h.

Referenced by search().

◆ gm

GeneralMatrix* NegatedMatrix::gm

The documentation for this class was generated from the following files: