Classes | Defines | Functions
core/vnl/vnl_matrix_fixed.h File Reference

fixed size matrix More...

#include <vcl_cstring.h>
#include <vcl_cassert.h>
#include <vcl_iosfwd.h>
#include "vnl_matrix.h"
#include "vnl_matrix_ref.h"
#include <vnl/vnl_vector.h>
#include <vnl/vnl_vector_fixed.h>
#include <vnl/vnl_c_vector.h>
#include <vnl/vnl_config.h>

Go to the source code of this file.

Classes

class  VNL_MATRIX_FIXED_VCL60_WORKAROUND< T, num_rows, num_cols >
 Fixed size, stack-stored, space-efficient matrix. More...

Defines

#define VNL_MATRIX_FIXED_VCL60_WORKAROUND
#define VNL_MATRIX_FIXED_INSTANTIATE(T, M, N)   extern "please include vnl/vnl_matrix_fixed.txx instead"

Functions

template<class T , unsigned M, unsigned N>
vnl_vector_fixed< T, M > vnl_matrix_fixed_mat_vec_mult (const vnl_matrix_fixed< T, M, N > &a, const vnl_vector_fixed< T, N > &b)
template<class T , unsigned M, unsigned N, unsigned O>
vnl_matrix_fixed< T, M, O > vnl_matrix_fixed_mat_mat_mult (const vnl_matrix_fixed< T, M, N > &a, const vnl_matrix_fixed< T, N, O > &b)
template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > operator+ (const vnl_matrix_fixed< T, m, n > &mat1, const vnl_matrix_fixed< T, m, n > &mat2)
template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > operator+ (const vnl_matrix_fixed< T, m, n > &mat, T s)
template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > operator+ (const T &s, const vnl_matrix_fixed< T, m, n > &mat)
template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > operator- (const vnl_matrix_fixed< T, m, n > &mat1, const vnl_matrix_fixed< T, m, n > &mat2)
template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > operator- (const vnl_matrix_fixed< T, m, n > &mat, T s)
template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > operator- (const T &s, const vnl_matrix_fixed< T, m, n > &mat)
template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > operator* (const vnl_matrix_fixed< T, m, n > &mat, T s)
template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > operator* (const T &s, const vnl_matrix_fixed< T, m, n > &mat)
template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > operator/ (const vnl_matrix_fixed< T, m, n > &mat, T s)
template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > element_product (const vnl_matrix_fixed< T, m, n > &mat1, const vnl_matrix_fixed< T, m, n > &mat2)
template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > element_quotient (const vnl_matrix_fixed< T, m, n > &mat1, const vnl_matrix_fixed< T, m, n > &mat2)
template<class T , unsigned M, unsigned N>
vnl_vector_fixed< T, N > vnl_matrix_fixed_vec_mat_mult (const vnl_vector_fixed< T, M > &a, const vnl_matrix_fixed< T, M, N > &b)
template<class T , unsigned M, unsigned N>
vnl_vector_fixed< T, M > operator* (const vnl_matrix_fixed< T, M, N > &a, const vnl_vector_fixed< T, N > &b)
 Multiply conformant vnl_matrix_fixed (M x N) and vector_fixed (N).
template<class T , unsigned M, unsigned N>
vnl_vector_fixed< T, N > operator* (const vnl_vector_fixed< T, M > &a, const vnl_matrix_fixed< T, M, N > &b)
 Multiply conformant vector_fixed (M) and vnl_matrix_fixed (M x N).
template<class T , unsigned M, unsigned N, unsigned O>
vnl_matrix_fixed< T, M, O > operator* (const vnl_matrix_fixed< T, M, N > &a, const vnl_matrix_fixed< T, N, O > &b)
 Multiply two conformant vnl_matrix_fixed (M x N) times (N x O).
template<class T , unsigned m, unsigned n>
vnl_matrix< T > operator+ (const vnl_matrix_fixed< T, m, n > &a, const vnl_matrix< T > &b)
template<class T , unsigned m, unsigned n>
vnl_matrix< T > operator+ (const vnl_matrix< T > &a, const vnl_matrix_fixed< T, m, n > &b)
template<class T , unsigned m, unsigned n>
vnl_matrix< T > operator- (const vnl_matrix_fixed< T, m, n > &a, const vnl_matrix< T > &b)
template<class T , unsigned m, unsigned n>
vnl_matrix< T > operator- (const vnl_matrix< T > &a, const vnl_matrix_fixed< T, m, n > &b)
template<class T , unsigned m, unsigned n>
vnl_matrix< T > operator* (const vnl_matrix_fixed< T, m, n > &a, const vnl_matrix< T > &b)
template<class T , unsigned m, unsigned n>
vnl_matrix< T > operator* (const vnl_matrix< T > &a, const vnl_matrix_fixed< T, m, n > &b)
template<class T , unsigned m, unsigned n>
vnl_vector< T > operator* (const vnl_matrix_fixed< T, m, n > &a, const vnl_vector< T > &b)
template<class T , unsigned n>
vnl_vector< T > operator* (const vnl_matrix< T > &a, const vnl_vector_fixed< T, n > &b)
template<class T , unsigned m, unsigned n>
vcl_ostream & operator<< (vcl_ostream &os, vnl_matrix_fixed< T, m, n > const &mat)
template<class T , unsigned m, unsigned n>
vcl_istream & operator>> (vcl_istream &is, vnl_matrix_fixed< T, m, n > &mat)
template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > outer_product (vnl_vector_fixed< T, m > const &a, vnl_vector_fixed< T, n > const &b)

Detailed Description

fixed size matrix

Author:
Andrew W. Fitzgibbon, Oxford RRG
Date:
04 Aug 96
    Modifications
     Peter Vanroose, 23 Nov 1996:  added explicit copy constructor
     LSB (Manchester) 15/03/2001:  added Binary I/O and tidied up the documentation
     Feb.2002 - Peter Vanroose - brief doxygen comment placed on single line
     Oct.2002 - Amitha Perera  - separated vnl_matrix and vnl_matrix_fixed,
                                 removed necessity for vnl_matrix_fixed_ref
     Oct.2002 - Peter Vanroose - added inplace_transpose() method
     Jul.2003 - Paul Smyth     - fixed end() bug, made op*=() more general
     Mar.2009 - Peter Vanroose - added arg_min() and arg_max()
     Oct.2010 - Peter Vanroose - mutators and filling methods now return *this
     Jan.2011 - Peter Vanroose - added methods set_diagonal() & get_diagonal()
   

Definition in file vnl_matrix_fixed.h.


Define Documentation

#define VNL_MATRIX_FIXED_INSTANTIATE (   T,
  M,
 
)    extern "please include vnl/vnl_matrix_fixed.txx instead"

Definition at line 1070 of file vnl_matrix_fixed.h.

Definition at line 99 of file vnl_matrix_fixed.h.


Function Documentation

template<class T , unsigned m, unsigned n>
vnl_matrix_fixed<T,m,n> element_product ( const vnl_matrix_fixed< T, m, n > &  mat1,
const vnl_matrix_fixed< T, m, n > &  mat2 
) [inline]

Definition at line 850 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix_fixed<T,m,n> element_quotient ( const vnl_matrix_fixed< T, m, n > &  mat1,
const vnl_matrix_fixed< T, m, n > &  mat2 
) [inline]

Definition at line 861 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix_fixed<T,m,n> operator* ( const vnl_matrix_fixed< T, m, n > &  mat,
s 
) [inline]

Definition at line 821 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix_fixed<T,m,n> operator* ( const T &  s,
const vnl_matrix_fixed< T, m, n > &  mat 
) [inline]

Definition at line 830 of file vnl_matrix_fixed.h.

template<class T , unsigned M, unsigned N>
vnl_vector_fixed< T, M > operator* ( const vnl_matrix_fixed< T, M, N > &  a,
const vnl_vector_fixed< T, N > &  b 
) [inline]

Multiply conformant vnl_matrix_fixed (M x N) and vector_fixed (N).

Definition at line 934 of file vnl_matrix_fixed.h.

template<class T , unsigned M, unsigned N>
vnl_vector_fixed< T, N > operator* ( const vnl_vector_fixed< T, M > &  a,
const vnl_matrix_fixed< T, M, N > &  b 
) [inline]

Multiply conformant vector_fixed (M) and vnl_matrix_fixed (M x N).

Definition at line 944 of file vnl_matrix_fixed.h.

template<class T , unsigned M, unsigned N, unsigned O>
vnl_matrix_fixed< T, M, O > operator* ( const vnl_matrix_fixed< T, M, N > &  a,
const vnl_matrix_fixed< T, N, O > &  b 
) [inline]

Multiply two conformant vnl_matrix_fixed (M x N) times (N x O).

Definition at line 953 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix<T> operator* ( const vnl_matrix_fixed< T, m, n > &  a,
const vnl_matrix< T > &  b 
) [inline]

Definition at line 989 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix<T> operator* ( const vnl_matrix< T > &  a,
const vnl_matrix_fixed< T, m, n > &  b 
) [inline]

Definition at line 995 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_vector<T> operator* ( const vnl_matrix_fixed< T, m, n > &  a,
const vnl_vector< T > &  b 
) [inline]

Definition at line 1001 of file vnl_matrix_fixed.h.

template<class T , unsigned n>
vnl_vector<T> operator* ( const vnl_matrix< T > &  a,
const vnl_vector_fixed< T, n > &  b 
) [inline]

Definition at line 1007 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix_fixed<T,m,n> operator+ ( const vnl_matrix_fixed< T, m, n > &  mat1,
const vnl_matrix_fixed< T, m, n > &  mat2 
) [inline]

Definition at line 765 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix_fixed<T,m,n> operator+ ( const vnl_matrix_fixed< T, m, n > &  mat,
s 
) [inline]

Definition at line 774 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix_fixed<T,m,n> operator+ ( const T &  s,
const vnl_matrix_fixed< T, m, n > &  mat 
) [inline]

Definition at line 783 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix<T> operator+ ( const vnl_matrix_fixed< T, m, n > &  a,
const vnl_matrix< T > &  b 
) [inline]

Definition at line 965 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix<T> operator+ ( const vnl_matrix< T > &  a,
const vnl_matrix_fixed< T, m, n > &  b 
) [inline]

Definition at line 971 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix_fixed<T,m,n> operator- ( const vnl_matrix_fixed< T, m, n > &  mat1,
const vnl_matrix_fixed< T, m, n > &  mat2 
) [inline]

Definition at line 793 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix_fixed<T,m,n> operator- ( const vnl_matrix_fixed< T, m, n > &  mat,
s 
) [inline]

Definition at line 802 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix_fixed<T,m,n> operator- ( const T &  s,
const vnl_matrix_fixed< T, m, n > &  mat 
) [inline]

Definition at line 811 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix<T> operator- ( const vnl_matrix_fixed< T, m, n > &  a,
const vnl_matrix< T > &  b 
) [inline]

Definition at line 977 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix<T> operator- ( const vnl_matrix< T > &  a,
const vnl_matrix_fixed< T, m, n > &  b 
) [inline]

Definition at line 983 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix_fixed<T,m,n> operator/ ( const vnl_matrix_fixed< T, m, n > &  mat,
s 
) [inline]

Definition at line 840 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vcl_ostream& operator<< ( vcl_ostream &  os,
vnl_matrix_fixed< T, m, n > const &  mat 
) [inline]

Definition at line 1017 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vcl_istream& operator>> ( vcl_istream &  is,
vnl_matrix_fixed< T, m, n > &  mat 
) [inline]

Definition at line 1025 of file vnl_matrix_fixed.h.

template<class T , unsigned m, unsigned n>
vnl_matrix_fixed< T, m, n > outer_product ( vnl_vector_fixed< T, m > const &  a,
vnl_vector_fixed< T, n > const &  b 
)

Definition at line 780 of file vnl_matrix_fixed.txx.

template<class T , unsigned M, unsigned N, unsigned O>
vnl_matrix_fixed< T, M, O > vnl_matrix_fixed_mat_mat_mult ( const vnl_matrix_fixed< T, M, N > &  a,
const vnl_matrix_fixed< T, N, O > &  b 
) [inline]

Definition at line 911 of file vnl_matrix_fixed.h.

template<class T , unsigned M, unsigned N>
vnl_vector_fixed< T, M > vnl_matrix_fixed_mat_vec_mult ( const vnl_matrix_fixed< T, M, N > &  a,
const vnl_vector_fixed< T, N > &  b 
) [inline]

Definition at line 876 of file vnl_matrix_fixed.h.

template<class T , unsigned M, unsigned N>
vnl_vector_fixed<T, N> vnl_matrix_fixed_vec_mat_mult ( const vnl_vector_fixed< T, M > &  a,
const vnl_matrix_fixed< T, M, N > &  b 
) [inline]

Definition at line 893 of file vnl_matrix_fixed.h.