Matrix.h File Reference

These template classes provide a typesafe matrix representation. More...

#include "standard.h"
#include <numeric>
#include <xutility>
#include <malloc.h>
#include <assert.h>

Include dependency graph for Matrix.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Compounds

class  ColVector
class  DataBlock
 Superclass for our matrix classes. More...

class  Matrix
class  Position
class  SymmetricMatrix
 This class holds a symmetric matrix. More...


Defines

#define COMPILETIME_ASSERT(assertion)   do { if (0) { char ch[(assertion)] = { 'a' }; ch;} } while (false)
 this is like the standard ASSERT() macro, but it allows compiletime assertions.

#define TRIANGULAR(i)   ( ((i + 1)*i) / 2)
 the triangular of a matrix is the number of items that require storage if the matrix is symmetrical.


Functions

template<typename A, typename B, typename T, int rows1, int cols2> Matrix< cols2, rows1, T > multMatrix (A m1, B m2)
template<typename T> void printMatrix (const T &mtx, const char *str)


Detailed Description

These template classes provide a typesafe matrix representation.

They include a template for symmetrical matrices, and one for asymmetrical matrices; note that operations between like matrices (symmetrical or not) are handled properly.

Operations are checked at compile-time for type-safety; this includes not only per-element operations (like addition), but also matrix-matrix multiplication.

Author: Matt Loper

Revision:
1.14
Date:
2002/05/12 00:48:52

Definition in file Matrix.h.


Generated on Tue May 21 03:34:55 2002 for Archimedes by doxygen1.2.15