GNU Octave
10.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Loading...
Searching...
No Matches
oct-convn.h
Go to the documentation of this file.
1
////////////////////////////////////////////////////////////////////////
2
//
3
// Copyright (C) 2009-2025 The Octave Project Developers
4
//
5
// See the file COPYRIGHT.md in the top-level directory of this
6
// distribution or <https://octave.org/copyright/>.
7
//
8
// This file is part of Octave.
9
//
10
// Octave is free software: you can redistribute it and/or modify it
11
// under the terms of the GNU General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// Octave is distributed in the hope that it will be useful, but
16
// WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU General Public License for more details.
19
//
20
// You should have received a copy of the GNU General Public License
21
// along with Octave; see the file COPYING. If not, see
22
// <https://www.gnu.org/licenses/>.
23
//
24
////////////////////////////////////////////////////////////////////////
25
26
#if ! defined (octave_oct_convn_h)
27
#define octave_oct_convn_h 1
28
29
#include "octave-config.h"
30
31
#include "
mx-fwd.h
"
32
33
// The remaining includes can be removed when the global enum
34
// declaration, the convert_enum function, and the deprecated functions
35
// at the end of this file are removed.
36
37
#include <cstdlib>
38
#include "
dMatrix.h
"
39
#include "
dNDArray.h
"
40
#include "
CMatrix.h
"
41
#include "
CNDArray.h
"
42
#include "
fMatrix.h
"
43
#include "
fNDArray.h
"
44
#include "
fCMatrix.h
"
45
#include "
fCNDArray.h
"
46
47
// FIXME: Is there any sane way to move a global enum to a namespace and
48
// tag the global one as deprecated when it is used as a parameter in
49
// public functions that also need to be tagged as deprecated?
50
51
enum
convn_type
52
{
53
convn_full
,
54
convn_same
,
55
convn_valid
56
};
57
58
OCTAVE_BEGIN_NAMESPACE
(octave)
59
60
enum
convn_type
61
{
62
convn_full
,
63
convn_same
,
64
convn_valid
65
};
66
67
// double real X double real
68
69
extern
OCTAVE_API
NDArray
70
convn
(
const
NDArray
& a,
const
NDArray
& b,
convn_type
ct);
71
72
extern
OCTAVE_API
Matrix
73
convn
(
const
Matrix
& a,
const
Matrix
& b,
convn_type
ct);
74
75
extern
OCTAVE_API
Matrix
76
convn
(
const
Matrix
& a,
const
ColumnVector
& c,
const
RowVector
& r,
77
convn_type
ct);
78
79
// double complex X double real
80
81
extern
OCTAVE_API
ComplexNDArray
82
convn
(
const
ComplexNDArray
& a,
const
NDArray
& b,
convn_type
ct);
83
84
extern
OCTAVE_API
ComplexMatrix
85
convn
(
const
ComplexMatrix
& a,
const
Matrix
& b,
convn_type
ct);
86
87
extern
OCTAVE_API
ComplexMatrix
88
convn
(
const
ComplexMatrix
& a,
const
ColumnVector
& c,
const
RowVector
& r,
89
convn_type
ct);
90
91
// double complex X double complex
92
93
extern
OCTAVE_API
ComplexNDArray
94
convn
(
const
ComplexNDArray
& a,
const
ComplexNDArray
& b,
convn_type
ct);
95
96
extern
OCTAVE_API
ComplexMatrix
97
convn
(
const
ComplexMatrix
& a,
const
ComplexMatrix
& b,
convn_type
ct);
98
99
extern
OCTAVE_API
ComplexMatrix
100
convn
(
const
ComplexMatrix
& a,
const
ComplexColumnVector
& c,
101
const
ComplexRowVector
& r,
convn_type
ct);
102
103
// float real X float real
104
105
extern
OCTAVE_API
FloatNDArray
106
convn
(
const
FloatNDArray
& a,
const
FloatNDArray
& b,
convn_type
ct);
107
108
extern
OCTAVE_API
FloatMatrix
109
convn
(
const
FloatMatrix
& a,
const
FloatMatrix
& b,
convn_type
ct);
110
111
extern
OCTAVE_API
FloatMatrix
112
convn
(
const
FloatMatrix
& a,
const
FloatColumnVector
& c,
113
const
FloatRowVector
& r,
convn_type
ct);
114
115
// float complex X float real
116
117
extern
OCTAVE_API
FloatComplexNDArray
118
convn
(
const
FloatComplexNDArray
& a,
const
FloatNDArray
& b,
convn_type
ct);
119
120
extern
OCTAVE_API
FloatComplexMatrix
121
convn
(
const
FloatComplexMatrix
& a,
const
FloatMatrix
& b,
convn_type
ct);
122
123
extern
OCTAVE_API
FloatComplexMatrix
124
convn
(
const
FloatComplexMatrix
& a,
const
FloatColumnVector
& c,
125
const
FloatRowVector
& r,
convn_type
ct);
126
127
// float complex X float complex
128
129
extern
OCTAVE_API
FloatComplexNDArray
130
convn
(
const
FloatComplexNDArray
& a,
const
FloatComplexNDArray
& b,
131
convn_type
ct);
132
133
extern
OCTAVE_API
FloatComplexMatrix
134
convn
(
const
FloatComplexMatrix
& a,
const
FloatComplexMatrix
& b,
135
convn_type
ct);
136
137
extern
OCTAVE_API
FloatComplexMatrix
138
convn
(
const
FloatComplexMatrix
& a,
const
FloatComplexColumnVector
& c,
139
const
FloatComplexRowVector
& r,
convn_type
ct);
140
141
convn_type
convert_enum
(
::convn_type
ct)
142
{
143
switch
(ct)
144
{
145
case ::convn_full:
146
return
convn_full
;
147
148
case ::convn_same:
149
return
convn_same
;
150
151
case ::convn_valid:
152
return
convn_valid
;
153
154
default
:
155
abort ();
156
}
157
}
158
159
OCTAVE_END_NAMESPACE(octave)
160
161
#endif
CMatrix.h
CNDArray.h
ColumnVector
Definition
dColVector.h:35
ComplexColumnVector
Definition
CColVector.h:35
ComplexMatrix
Definition
CMatrix.h:41
ComplexNDArray
Definition
CNDArray.h:37
ComplexRowVector
Definition
CRowVector.h:36
FloatColumnVector
Definition
fColVector.h:35
FloatComplexColumnVector
Definition
fCColVector.h:35
FloatComplexMatrix
Definition
fCMatrix.h:41
FloatComplexNDArray
Definition
fCNDArray.h:37
FloatComplexRowVector
Definition
fCRowVector.h:36
FloatMatrix
Definition
fMatrix.h:40
FloatNDArray
Definition
fNDArray.h:38
FloatRowVector
Definition
fRowVector.h:35
Matrix
Definition
dMatrix.h:40
NDArray
Definition
dNDArray.h:38
RowVector
Definition
dRowVector.h:35
dMatrix.h
dNDArray.h
OCTAVE_BEGIN_NAMESPACE
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
fCMatrix.h
fCNDArray.h
fMatrix.h
fNDArray.h
OCTAVE_API
#define OCTAVE_API
Definition
main.in.cc:55
mx-fwd.h
convn_type
convn_type
Definition
oct-convn.h:52
convn_same
@ convn_same
Definition
oct-convn.h:54
convn_valid
@ convn_valid
Definition
oct-convn.h:55
convn_full
@ convn_full
Definition
oct-convn.h:53
convert_enum
convn_type convert_enum(::convn_type ct)
Definition
oct-convn.h:141
convn
NDArray convn(const NDArray &a, const NDArray &b, convn_type ct)
Definition
oct-convn.cc:219
liboctave
numeric
oct-convn.h
Generated on Sat Aug 2 2025 06:52:15 for GNU Octave by
1.9.8