This is vector.h in view mode; [Download] [Up]
#ifndef VECTORH
#define VECTORH
#include "complex.h"
class vector {
double* v;
int n;
public:
vector(){ n=0; v=0; }
vector(const double x) { v = new double[n=1]; v[0]=x; }
vector(double x0, double x1) {
v = new double[n=2];
v[0]=x0;
v[1]=x1;
}
~vector(){ delete[] v; }
vector( const vector& );
vector& operator=( const vector& );
int size() const { return n; }
void set_size(int);
void initialize();
void change_size(int);
double& operator[](int i) const { return v[i]; }
void set_small_to_zero( double tol );
};
ostream& operator<<( ostream&, const vector& );
istream& operator>>( istream&, vector& );
class cxVector {
complex* v;
int n;
public:
cxVector(){ n=0; v=0; }
cxVector(const complex x) { v = new complex[n=1]; v[0]=x; }
cxVector(complex x0, complex x1) {
v = new complex[n=2];
v[0]=x0;
v[1]=x1;
}
// cxVector( complex, complex, ... ) // WOULD BE NICE
// friend cxVector operator,( cxVector& ); // WOULD BE NICE TOO
cxVector( cxVector&, cxVector& );
// cxVector( cxVector&, cxVector&, ... ); // WOULD BE NICE TOO
~cxVector(){ delete[] v; }
cxVector( const cxVector&);
cxVector& operator=( const cxVector& );
int size() const { return n; }
void set_size(int);
void change_size(int);
void reverse();
complex& operator[](int i) const { return v[i]; }
void set_small_to_zero( double tol );
};
ostream& operator<<( ostream&, const cxVector& );
istream& operator>>( istream&, cxVector& );
#endif
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.