Audacity  3.2.0
Public Member Functions | Private Attributes | List of all members
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.

Constructor & Destructor Documentation

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

Member Function Documentation

◆ 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:

Member Data Documentation

◆ 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