39template <
typename ElementType>
45 Matrix (
size_t numRows,
size_t numColumns)
55 Matrix (
size_t numRows,
size_t numColumns,
const ElementType* dataPointer)
107 Matrix& swapRows (
size_t rowOne,
size_t rowTwo)
noexcept;
110 Matrix& swapColumns (
size_t columnOne,
size_t columnTwo)
noexcept;
114 inline ElementType operator() (
size_t row,
size_t column)
const noexcept
121 inline ElementType& operator() (
size_t row,
size_t column)
noexcept
139 inline Matrix& operator+= (
const Matrix& other)
noexcept {
return apply (other, [] (ElementType
a, ElementType
b) {
return a +
b; } ); }
142 inline Matrix& operator-= (
const Matrix& other)
noexcept {
return apply (other, [] (ElementType
a, ElementType
b) {
return a -
b; } ); }
145 inline Matrix& operator*= (ElementType scalar)
noexcept
147 std::for_each (
begin(),
end(), [scalar] (ElementType&
x) {
x *= scalar; });
202 bool solve (
Matrix&
b)
const noexcept;
223 for (
size_t i = 0;
i <
rows; ++
i)
227 template <
typename BinaryOperation>
234 for (
auto src : other)
236 *dst = binaryOp (*dst, src);
#define noexcept
Definition DistrhoDefines.h:72
uint8_t a
Definition Spc_Cpu.h:141
Definition juce_Array.h:56
Definition juce_String.h:53
Definition juce_Matrix.h:41
Matrix & hadarmard(const Matrix &other) noexcept
Definition juce_Matrix.h:164
size_t getNumRows() const noexcept
Definition juce_Matrix.h:92
Matrix(Matrix &&) noexcept=default
static Matrix hadarmard(const Matrix &a, const Matrix &b)
Definition juce_Matrix.h:167
static bool compare(const Matrix &a, const Matrix &b, ElementType tolerance=0) noexcept
Definition juce_Matrix.cpp:148
ElementType * begin() noexcept
Definition juce_Matrix.h:209
Matrix(const Matrix &)=default
void resize()
Definition juce_Matrix.h:218
bool isOneColumnVector() const noexcept
Definition juce_Matrix.h:184
bool isVector() const noexcept
Definition juce_Matrix.h:181
bool isNullMatrix() const noexcept
Definition juce_Matrix.h:190
Array< size_t > getSize() const noexcept
Definition juce_Matrix.h:100
Matrix(size_t numRows, size_t numColumns)
Definition juce_Matrix.h:45
static Matrix hankel(const Matrix &vector, size_t size, size_t offset=0)
Definition juce_Matrix.cpp:61
Matrix & apply(const Matrix &other, BinaryOperation binaryOp)
Definition juce_Matrix.h:228
size_t columns
Definition juce_Matrix.h:247
ElementType * end() noexcept
Definition juce_Matrix.h:210
Array< size_t > dataAcceleration
Definition juce_Matrix.h:245
const ElementType * getRawDataPointer() const noexcept
Definition juce_Matrix.h:135
const ElementType * begin() const noexcept
Definition juce_Matrix.h:212
static Matrix identity(size_t size)
Definition juce_Matrix.cpp:32
static Matrix toeplitz(const Matrix &vector, size_t size)
Definition juce_Matrix.cpp:43
Matrix(size_t numRows, size_t numColumns, const ElementType *dataPointer)
Definition juce_Matrix.h:55
ElementType * getRawDataPointer() noexcept
Definition juce_Matrix.h:130
size_t getNumColumns() const noexcept
Definition juce_Matrix.h:95
bool isSquare() const noexcept
Definition juce_Matrix.h:178
const ElementType * end() const noexcept
Definition juce_Matrix.h:213
bool isOneRowVector() const noexcept
Definition juce_Matrix.h:187
size_t rows
Definition juce_Matrix.h:247
void clear() noexcept
Definition juce_Matrix.h:103
Array< ElementType > data
Definition juce_Matrix.h:244
register unsigned i
Definition inflate.c:1575
unsigned x[BMAX+1]
Definition inflate.c:1586
#define JUCE_LEAK_DETECTOR(OwnerClass)
Definition juce_LeakedObjectDetector.h:138
Definition juce_AudioBlock.h:29
Definition carla_juce.cpp:31
juce::String toString(const Steinberg::char8 *string) noexcept
Definition juce_VST3Common.h:159
@ column
Definition juce_AccessibilityRole.h:52
@ row
Definition juce_AccessibilityRole.h:53
void zeromem(void *memory, size_t numBytes) noexcept
Definition juce_Memory.h:28
static int compare(const var &v1, const var &v2)
Definition juce_Variant.cpp:654
memcpy(hh, h, RAND_HEAD_LEN)
int result
Definition process.c:1455
#define const
Definition zconf.h:137