Classes | Macros | Functions
vnl_matrix_fixed.h File Reference

fixed size matrix More...

#include <cstring>
#include <iosfwd>
#include <cassert>
#include <vcl_compiler.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>
#include "vnl/vnl_export.h"

Go to the source code of this file.

Classes

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

Macros

#define VNL_MATRIX_FIXED_INSTANTIATE(T, M, N)   extern "please include vnl/vnl_matrix_fixed.hxx 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). More...
 
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). More...
 
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). More...
 
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>
std::ostream & operator<< (std::ostream &os, vnl_matrix_fixed< T, m, n > const &mat)
 
template<class T , unsigned m, unsigned n>
std::istream & operator>> (std::istream &is, vnl_matrix_fixed< T, m, n > &mat)
 
template<class T , unsigned m, unsigned n>
VNL_EXPORT 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.

Macro Definition Documentation

◆ VNL_MATRIX_FIXED_INSTANTIATE

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

Definition at line 1023 of file vnl_matrix_fixed.h.

Function Documentation

◆ element_product()

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 839 of file vnl_matrix_fixed.h.

◆ element_quotient()

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 850 of file vnl_matrix_fixed.h.

◆ operator *() [1/9]

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 810 of file vnl_matrix_fixed.h.

◆ operator *() [2/9]

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 819 of file vnl_matrix_fixed.h.

◆ operator *() [3/9]

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 922 of file vnl_matrix_fixed.h.

◆ operator *() [4/9]

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 932 of file vnl_matrix_fixed.h.

◆ operator *() [5/9]

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 941 of file vnl_matrix_fixed.h.

◆ operator *() [6/9]

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 976 of file vnl_matrix_fixed.h.

◆ operator *() [7/9]

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 982 of file vnl_matrix_fixed.h.

◆ operator *() [8/9]

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 988 of file vnl_matrix_fixed.h.

◆ operator *() [9/9]

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 994 of file vnl_matrix_fixed.h.

◆ operator+() [1/5]

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 754 of file vnl_matrix_fixed.h.

◆ operator+() [2/5]

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 763 of file vnl_matrix_fixed.h.

◆ operator+() [3/5]

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 772 of file vnl_matrix_fixed.h.

◆ operator+() [4/5]

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 952 of file vnl_matrix_fixed.h.

◆ operator+() [5/5]

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 958 of file vnl_matrix_fixed.h.

◆ operator-() [1/5]

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 782 of file vnl_matrix_fixed.h.

◆ operator-() [2/5]

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 791 of file vnl_matrix_fixed.h.

◆ operator-() [3/5]

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 800 of file vnl_matrix_fixed.h.

◆ operator-() [4/5]

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 964 of file vnl_matrix_fixed.h.

◆ operator-() [5/5]

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 970 of file vnl_matrix_fixed.h.

◆ operator/()

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 829 of file vnl_matrix_fixed.h.

◆ operator<<()

template<class T , unsigned m, unsigned n>
std::ostream& operator<< ( std::ostream &  os,
vnl_matrix_fixed< T, m, n > const &  mat 
)
inline

Definition at line 1004 of file vnl_matrix_fixed.h.

◆ operator>>()

template<class T , unsigned m, unsigned n>
std::istream& operator>> ( std::istream &  is,
vnl_matrix_fixed< T, m, n > &  mat 
)
inline

Definition at line 1012 of file vnl_matrix_fixed.h.

◆ outer_product()

template<class T , unsigned m, unsigned n>
VNL_EXPORT 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 903 of file vnl_matrix_fixed.hxx.

◆ vnl_matrix_fixed_mat_mat_mult()

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 900 of file vnl_matrix_fixed.h.

◆ vnl_matrix_fixed_mat_vec_mult()

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 865 of file vnl_matrix_fixed.h.

◆ vnl_matrix_fixed_vec_mat_mult()

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 882 of file vnl_matrix_fixed.h.