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 }

References Len().

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 }

## ◆ 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 }

## ◆ ~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(), Vector(), 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 }

References 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 }

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 }

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(), and Swap().

## ◆ mN

 unsigned Vector::mN { 0 }
private

Definition at line 53 of file Matrix.h.

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

The documentation for this class was generated from the following files:
Vector::Swap
void Swap(Vector &that)
Definition: Matrix.cpp:66
Vector::Len
unsigned Len() const
Definition: Matrix.h:48
anonymous_namespace{NoteTrack.cpp}::swap
void swap(std::unique_ptr< Alg_seq > &a, std::unique_ptr< Alg_seq > &b)
Definition: NoteTrack.cpp:753
Vector::mN
unsigned mN
Definition: Matrix.h:53
Vector::mData
Doubles mData
Definition: Matrix.h:54
Vector
Holds a matrix of doubles and supports arithmetic operations, including Vector-Matrix operations....
Definition: Matrix.h:34