ftp.nice.ch/pub/next/science/physics/delta-sigma.s.tar.gz#/delta-sigma.src/include/vector.h

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.