GNU Octave 7.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
oct-convn.cc File Reference
#include <algorithm>
#include "Array.h"
#include "CColVector.h"
#include "CMatrix.h"
#include "CNDArray.h"
#include "CRowVector.h"
#include "MArray.h"
#include "dColVector.h"
#include "dMatrix.h"
#include "dNDArray.h"
#include "dRowVector.h"
#include "f77-fcn.h"
#include "fCColVector.h"
#include "fCMatrix.h"
#include "fCNDArray.h"
#include "fCRowVector.h"
#include "fColVector.h"
#include "fMatrix.h"
#include "fNDArray.h"
#include "fRowVector.h"
#include "oct-convn.h"
Include dependency graph for oct-convn.cc:

Go to the source code of this file.

Namespaces

namespace  octave
 

Macros

#define CONV_DEFS(TPREF, RPREF)
 
#define FORWARD_IMPL(T_CXX, R_CXX, T, R, T_CAST, T_CONST_CAST, R_CONST_CAST, f, F)
 

Functions

ComplexMatrix octave::convn (const ComplexMatrix &a, const ColumnVector &c, const RowVector &r, convn_type ct)
 
ComplexMatrix octave::convn (const ComplexMatrix &a, const ComplexColumnVector &c, const ComplexRowVector &r, convn_type ct)
 
ComplexMatrix octave::convn (const ComplexMatrix &a, const ComplexMatrix &b, convn_type ct)
 
ComplexMatrix octave::convn (const ComplexMatrix &a, const Matrix &b, convn_type ct)
 
ComplexNDArray octave::convn (const ComplexNDArray &a, const ComplexNDArray &b, convn_type ct)
 
ComplexNDArray octave::convn (const ComplexNDArray &a, const NDArray &b, convn_type ct)
 
FloatComplexMatrix octave::convn (const FloatComplexMatrix &a, const FloatColumnVector &c, const FloatRowVector &r, convn_type ct)
 
FloatComplexMatrix octave::convn (const FloatComplexMatrix &a, const FloatComplexColumnVector &c, const FloatComplexRowVector &r, convn_type ct)
 
FloatComplexMatrix octave::convn (const FloatComplexMatrix &a, const FloatComplexMatrix &b, convn_type ct)
 
FloatComplexMatrix octave::convn (const FloatComplexMatrix &a, const FloatMatrix &b, convn_type ct)
 
FloatComplexNDArray octave::convn (const FloatComplexNDArray &a, const FloatComplexNDArray &b, convn_type ct)
 
FloatComplexNDArray octave::convn (const FloatComplexNDArray &a, const FloatNDArray &b, convn_type ct)
 
FloatMatrix octave::convn (const FloatMatrix &a, const FloatColumnVector &c, const FloatRowVector &r, convn_type ct)
 
FloatMatrix octave::convn (const FloatMatrix &a, const FloatMatrix &b, convn_type ct)
 
FloatNDArray octave::convn (const FloatNDArray &a, const FloatNDArray &b, convn_type ct)
 
Matrix octave::convn (const Matrix &a, const ColumnVector &c, const RowVector &r, convn_type ct)
 
Matrix octave::convn (const Matrix &a, const Matrix &b, convn_type ct)
 
NDArray octave::convn (const NDArray &a, const NDArray &b, convn_type ct)
 
template<typename T , typename R >
static MArray< T > octave::convolve (const MArray< T > &a, const MArray< R > &b, convn_type ct)
 
template<typename T , typename R >
static void octave::convolve_2d (const T *a, F77_INT ma, F77_INT na, const R *b, F77_INT mb, F77_INT nb, T *c, bool inner)
 
template<>
F77_RET_T const F77_INT const F77_DBLE const F77_INT const F77_INT const F77_DBLE F77_DBLE *C F77_RET_T const F77_INT const F77_DBLE const F77_INT const F77_INT const F77_DBLE F77_DBLE *void octave::convolve_2d< double, double > (const double *a, F77_INT ma, F77_INT na, const double *b, F77_INT mb, F77_INT nb, double *c, bool inner)
 
template<>
F77_RET_T const F77_INT const F77_REAL const F77_INT const F77_INT const F77_REAL F77_REAL *C F77_RET_T const F77_INT const F77_REAL const F77_INT const F77_INT const F77_REAL F77_REAL *void octave::convolve_2d< float, float > (const float *a, F77_INT ma, F77_INT na, const float *b, F77_INT mb, F77_INT nb, float *c, bool inner)
 
template<>
F77_RET_T const F77_INT const F77_DBLE_CMPLX const F77_INT const F77_INT const F77_DBLE F77_DBLE_CMPLX *C F77_RET_T const F77_INT const F77_DBLE_CMPLX const F77_INT const F77_INT const F77_DBLE F77_DBLE_CMPLX *void octave::convolve_2d< std::complex< double >, double > (const std::complex< double > *a, F77_INT ma, F77_INT na, const double *b, F77_INT mb, F77_INT nb, std::complex< double > *c, bool inner)
 
template<>
F77_RET_T const F77_INT const F77_CMPLX const F77_INT const F77_INT const F77_REAL F77_CMPLX *C F77_RET_T const F77_INT const F77_CMPLX const F77_INT const F77_INT const F77_REAL F77_CMPLX *void octave::convolve_2d< std::complex< float >, float > (const std::complex< float > *a, F77_INT ma, F77_INT na, const float *b, F77_INT mb, F77_INT nb, std::complex< float > *c, bool inner)
 
template<typename T , typename R >
void octave::convolve_nd (const T *a, const dim_vector &ad, const dim_vector &acd, const R *b, const dim_vector &bd, const dim_vector &bcd, T *c, const dim_vector &ccd, int nd, bool inner)
 
F77_RET_T const F77_INT const F77_CMPLX const F77_INT const F77_INT const F77_CMPLX F77_CMPLX *C F77_RET_T octave::F77_FUNC (cconv2i, CCONV2I)(const F77_INT &
 
F77_RET_T octave::F77_FUNC (cconv2o, CCONV2O)(const F77_INT &
 
F77_RET_T const F77_INT const F77_CMPLX const F77_INT const F77_INT const F77_REAL F77_CMPLX *C F77_RET_T octave::F77_FUNC (csconv2i, CSCONV2I)(const F77_INT &
 
F77_RET_T octave::F77_FUNC (csconv2o, CSCONV2O)(const F77_INT &
 
F77_RET_T const F77_INT const F77_DBLE const F77_INT const F77_INT const F77_DBLE F77_DBLE *C F77_RET_T octave::F77_FUNC (dconv2i, DCONV2I)(const F77_INT &
 
F77_RET_T octave::F77_FUNC (dconv2o, DCONV2O)(const F77_INT &
 
F77_RET_T const F77_INT const F77_REAL const F77_INT const F77_INT const F77_REAL F77_REAL *C F77_RET_T octave::F77_FUNC (sconv2i, SCONV2I)(const F77_INT &
 
F77_RET_T octave::F77_FUNC (sconv2o, SCONV2O)(const F77_INT &
 
F77_RET_T const F77_INT const F77_DBLE_CMPLX const F77_INT const F77_INT const F77_DBLE_CMPLX F77_DBLE_CMPLX *C F77_RET_T octave::F77_FUNC (zconv2i, ZCONV2I)(const F77_INT &
 
F77_RET_T octave::F77_FUNC (zconv2o, ZCONV2O)(const F77_INT &
 
F77_RET_T const F77_INT const F77_DBLE_CMPLX const F77_INT const F77_INT const F77_DBLE F77_DBLE_CMPLX *C F77_RET_T octave::F77_FUNC (zdconv2i, ZDCONV2I)(const F77_INT &
 
F77_RET_T octave::F77_FUNC (zdconv2o, ZDCONV2O)(const F77_INT &
 

Macro Definition Documentation

◆ CONV_DEFS

#define CONV_DEFS (   TPREF,
  RPREF 
)
Value:
TPREF ## NDArray \
convn (const TPREF ## NDArray& a, const RPREF ## NDArray& b, \
convn_type ct) \
{ \
return convolve (a, b, ct); \
} \
TPREF ## Matrix \
convn (const TPREF ## Matrix& a, const RPREF ## Matrix& b, \
convn_type ct) \
{ \
return convolve (a, b, ct); \
} \
TPREF ## Matrix \
convn (const TPREF ## Matrix& a, const RPREF ## ColumnVector& c, \
const RPREF ## RowVector& r, convn_type ct) \
{ \
return convolve (a, c * r, ct); \
}
Definition: dMatrix.h:42
static MArray< T > convolve(const MArray< T > &a, const MArray< R > &b, convn_type ct)
Definition: oct-convn.cc:147
FloatComplexMatrix convn(const FloatComplexMatrix &a, const FloatComplexColumnVector &c, const FloatComplexRowVector &r, convn_type ct)
Definition: oct-convn.cc:218
convn_type
Definition: oct-convn.h:52

Definition at line 193 of file oct-convn.cc.

◆ FORWARD_IMPL

#define FORWARD_IMPL (   T_CXX,
  R_CXX,
  T,
  R,
  T_CAST,
  T_CONST_CAST,
  R_CONST_CAST,
  f,
  F 
)
Value:
extern "C" \
F77_FUNC (f##conv2o, F##CONV2O) (const F77_INT&, const F77_INT&, \
const T*, const F77_INT&, \
const F77_INT&, const R*, T *); \
\
extern "C" \
F77_FUNC (f##conv2i, F##CONV2I) (const F77_INT&, const F77_INT&, \
const T*, const F77_INT&, \
const F77_INT&, const R*, T *); \
\
template <> void \
convolve_2d<T_CXX, R_CXX> (const T_CXX *a, F77_INT ma, F77_INT na, \
const R_CXX *b, F77_INT mb, F77_INT nb, \
T_CXX *c, bool inner) \
{ \
if (inner) \
F77_XFCN (f##conv2i, F##CONV2I, (ma, na, T_CONST_CAST (a), \
mb, nb, R_CONST_CAST (b), \
T_CAST (c))); \
F77_XFCN (f##conv2o, F##CONV2O, (ma, na, T_CONST_CAST (a), \
mb, nb, R_CONST_CAST (b), \
T_CAST (c))); \
}
#define F77_XFCN(f, F, args)
Definition: f77-fcn.h:45
octave_f77_int_type F77_INT
Definition: f77-fcn.h:306
F77_RET_T const F77_DBLE const F77_DBLE * f
void F(const TSRC *v, TRES *r, octave_idx_type m, octave_idx_type n)
Definition: mx-inlines.cc:757
F77_RET_T const F77_INT const F77_CMPLX const F77_INT const F77_INT const F77_REAL F77_CMPLX *C F77_RET_T F77_FUNC(csconv2i, CSCONV2I)(const F77_INT &

Definition at line 63 of file oct-convn.cc.