Page MenuHomec4science

Vector.hpp
No OneTemporary

File Metadata

Created
Sat, Jun 8, 13:26

Vector.hpp

#ifndef VECTORHEADERDEF
#define VECTORHEADERDEF
#include <string>
class Vector
{
private:
double * mData; // data stored in vector
int mSize; // size of vector
public:
Vector(const Vector& otherVector);
Vector(int size);
Vector();
~Vector();
int GetSize() const;
double& operator[](int i); // zero-based indexing
// read-only zero-based indexing
double Read(int i) const;
int CheckIndex(int i) const ;
double& operator()(int i); // one-based indexing
// assignment
Vector& operator=(const Vector& otherVector);
Vector operator+() const; // unary +
Vector operator-() const; // unary -
Vector operator+(const Vector& v1) const; // binary +
Vector operator-(const Vector& v1) const; // binary -
Vector operator*(const Vector& v1) const; // binary *
Vector operator/(const Vector& v1) const; // binary /
friend std::ostream& operator<<(std::ostream& output, const Vector& v);
// scalar multiplication
Vector operator *(double a) const;
// p-norm method
double CalculateNorm(int p=2) const;
// declare length function as a friend
friend int length(const Vector& v);
};
// Prototype signature of length() friend function
int length(const Vector& v);
// Prototype signature of TerminalPrint() friend function
void TerminalPrint(Vector v,std::string msg) ;
#endif

Event Timeline