Audacity 3.2.0
Vector Class Reference

Holds a matrix of doubles and supports arithmetic operations, including Vector-Matrix operations. Used by InterpolateAudio. More...

`#include <Matrix.h>`

Collaboration diagram for Vector:
[legend]

## Public Member Functions

Vector ()

Vector (const Vector &copyFrom)

Vector (unsigned len, double *data=NULL)

Vector (unsigned len, float *data)

Vectoroperator= (const Vector &other)

~Vector ()

void Reinit (unsigned len)

void Swap (Vector &that)

double & operator[] (unsigned i)

double operator[] (unsigned i) const

unsigned Len () const

double Sum () const

## Private Attributes

unsigned mN { 0 }

Doubles mData

## Detailed Description

Holds a matrix of doubles and supports arithmetic operations, including Vector-Matrix operations. Used by InterpolateAudio.

Definition at line 33 of file Matrix.h.

## ◆ Vector() [1/4]

 Vector::Vector ( )

Definition at line 18 of file Matrix.cpp.

19{
20}

## ◆ Vector() [2/4]

 Vector::Vector ( const Vector & copyFrom )

Definition at line 49 of file Matrix.cpp.

50 : mN{ other.Len() }
51 , mData{ mN }
52{
53 std::copy(other.mData.get(), other.mData.get() + mN, mData.get());
54}
Doubles mData
Definition: Matrix.h:54
unsigned mN
Definition: Matrix.h:53
void copy(const T *src, T *dst, int32_t n)
Definition: VectorOps.h:40

Here is the call graph for this function:

## ◆ Vector() [3/4]

 Vector::Vector ( unsigned len, double * data = `NULL` )

Definition at line 22 of file Matrix.cpp.

23 : mN{ len }
24 , mData(len)
25{
26 if (data)
27 std::copy(data, data + len, mData.get());
28 else
29 std::fill(mData.get(), mData.get() + len, 0.0);
30}

Here is the call graph for this function:

## ◆ Vector() [4/4]

 Vector::Vector ( unsigned len, float * data )

Definition at line 32 of file Matrix.cpp.

33 : mN{ len }
34 , mData{ len }
35{
36 if (data)
37 std::copy(data, data + len, mData.get());
38 else
39 std::fill(mData.get(), mData.get() + len, 0.0);
40}

Here is the call graph for this function:

## ◆ ~Vector()

 Vector::~Vector ( )

Definition at line 56 of file Matrix.cpp.

57{
58}

## ◆ Len()

 unsigned Vector::Len ( ) const
inline

Definition at line 48 of file Matrix.h.

48{ return mN; }

References mN.

Referenced by operator*(), operator+(), operator-(), operator=(), Sum(), and VectorConcatenate().

Here is the caller graph for this function:

## ◆ operator=()

 Vector & Vector::operator= ( const Vector & other )

Definition at line 42 of file Matrix.cpp.

43{
44 wxASSERT(Len() == other.Len());
45 std::copy(other.mData.get(), other.mData.get() + mN, mData.get());
46 return *this;
47}
unsigned Len() const
Definition: Matrix.h:48

References staffpad::vo::copy(), Len(), mData, and mN.

Here is the call graph for this function:

## ◆ operator[]() [1/2]

 double & Vector::operator[] ( unsigned i )
inline

Definition at line 46 of file Matrix.h.

46{ return mData[i]; }

References mData.

## ◆ operator[]() [2/2]

 double Vector::operator[] ( unsigned i ) const
inline

Definition at line 47 of file Matrix.h.

47{ return mData[i]; }

References mData.

## ◆ Reinit()

 void Vector::Reinit ( unsigned len )

Definition at line 60 of file Matrix.cpp.

61{
62 Vector temp(len);
63 Swap(temp);
64}
Holds a matrix of doubles and supports arithmetic operations, including Vector-Matrix operations....
Definition: Matrix.h:34
void Swap(Vector &that)
Definition: Matrix.cpp:66

References Swap().

Here is the call graph for this function:

## ◆ Sum()

 double Vector::Sum ( ) const

Definition at line 72 of file Matrix.cpp.

73{
74 double sum = 0.0;
75 for(unsigned i = 0; i < Len(); i++)
76 sum += mData[i];
77 return sum;
78}

References Len(), and mData.

Here is the call graph for this function:

## ◆ Swap()

 void Vector::Swap ( Vector & that )

Definition at line 66 of file Matrix.cpp.

67{
68 std::swap(mN, that.mN);
69 mData.swap(that.mData);
70}
void swap(std::unique_ptr< Alg_seq > &a, std::unique_ptr< Alg_seq > &b)
Definition: NoteTrack.cpp:628

References mData, mN, and anonymous_namespace{NoteTrack.cpp}::swap().

Referenced by Reinit().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ mData

 Doubles Vector::mData
private

Definition at line 54 of file Matrix.h.

Referenced by operator=(), operator[](), Sum(), Swap(), and Vector().

## ◆ mN

 unsigned Vector::mN { 0 }
private

Definition at line 53 of file Matrix.h.

Referenced by Len(), operator=(), Swap(), and Vector().

The documentation for this class was generated from the following files: