diff options
-rw-r--r-- | src/vhc/Makefile | 33 | ||||
-rw-r--r-- | src/vhc/Particle.cc | 17 | ||||
-rw-r--r-- | src/vhc/Particle.h | 38 | ||||
-rw-r--r-- | src/vhc/Vector3D.cc | 29 | ||||
-rw-r--r-- | src/vhc/Vector3D.h | 125 | ||||
-rw-r--r-- | src/vhc/namespace.ccbak | 2 | ||||
-rw-r--r-- | src/vhctest/Makefile | 37 | ||||
-rw-r--r-- | src/vhctest/Vector3DTest.cc | 61 |
8 files changed, 0 insertions, 342 deletions
diff --git a/src/vhc/Makefile b/src/vhc/Makefile deleted file mode 100644 index b423444..0000000 --- a/src/vhc/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -######################################################################### -# Makefile recursif # -#=======================================================================# -# Les variables suivantes sont definis dans un makefile plus haut. # -# BASEDIR repertoire de base du projet # -# SRCDIR repertoire contenant le code source # -# BINDIR repertoire ou sont places toutes objets compiles # -######################################################################### - -# Nom du repertoire contenant ce makefile -LOCALDIR = vhc - -# ==> Ajouter ici les objets a compiler -# Si un objet necessite une compilation non-standard (i.e. pas de regle du style Foo.o : Foo.cc Foo.h), rajouter -# cette regle. -OBJS = Vector3D.o Particle.o - -all: checkdirs lib - -# Verifie l'existance du repertoire de sortie -checkdirs: $(BINDIR)/$(LOCALDIR) - -# Cree le repertoire de sortie -$(BINDIR)/$(LOCALDIR): - @mkdir -p $@ - -# Cree une librairie statique des fichiers objets -lib: $(OBJS) - ar rcs $(BINDIR)/$(LOCALDIR)/libvhc.a $(addprefix $(BINDIR)/$(LOCALDIR)/,$(OBJS)) - -# Regle implicite qui modifie le repertoire de destination des fichiers .o -%.o: %.cc - $(CXX) $(CXXFLAGS) -c $< -o $(BINDIR)/$(LOCALDIR)/$@
\ No newline at end of file diff --git a/src/vhc/Particle.cc b/src/vhc/Particle.cc deleted file mode 100644 index 2917449..0000000 --- a/src/vhc/Particle.cc +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Particle.cc - * - * Created on: Mar 9, 2011 - * Author: jakob - */ - -#include "Particle.h" - -namespace vhc { - - -Particle::~Particle() { - // TODO Auto-generated destructor stub -} - -} diff --git a/src/vhc/Particle.h b/src/vhc/Particle.h deleted file mode 100644 index 128dbb1..0000000 --- a/src/vhc/Particle.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Particle.h - * - * Created on: Mar 9, 2011 - * Author: jakob - */ - -#ifndef PARTICLE_H_ -#define PARTICLE_H_ - -#include "Vector3D.h" - -namespace vhc { - -class Particle { - -private: - Vector3D position; - -public: -/* - Vector3D getPosition(); - - Vector3D getVelocity(); - - Vector3D getEnergy(); - - Vector3D getGamma(); - - Vector3D getMomentum(); -*/ - Particle(): position(0, 0, 0) {}; - virtual ~Particle(); -}; - -} - -#endif /* PARTICLE_H_ */ diff --git a/src/vhc/Vector3D.cc b/src/vhc/Vector3D.cc deleted file mode 100644 index 258922f..0000000 --- a/src/vhc/Vector3D.cc +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Vector3D.cc - * - * Created on: Mar 1, 2011 - * Author: Jakob Odersky - */ - -#include <iostream> -#include "Vector3D.h" - -using namespace std; - -namespace vhc { - -Vector3D const Vector3D::Null = Vector3D(0.0, 0.0, 0.0); -Vector3D const Vector3D::i = Vector3D(1.0, 0.0, 0.0); -Vector3D const Vector3D::j = Vector3D(0.0, 1.0, 0.0); -Vector3D const Vector3D::k = Vector3D(0.0, 0.0, 1.0); - -ostream& operator<< (ostream& output, const Vector3D& v) { - output << v.toString(); - return output; -} - -Vector3D operator* (double n, const Vector3D& v) { - return v * n; -} - -} diff --git a/src/vhc/Vector3D.h b/src/vhc/Vector3D.h deleted file mode 100644 index 042463d..0000000 --- a/src/vhc/Vector3D.h +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Vector3D.h - * - * Created on: Mar 1, 2011 - * Author: Jakob Odersky - */ - -#ifndef VECTOR3D_H_ -#define VECTOR3D_H_ - -#include <iostream> -#include <sstream> -#include <math.h> -#include <stdexcept> - -namespace vhc { - -/** Un vecteur de dimension trois. Les instances de cette classes sont completement - * invariables, c'est-a-dire un vecteur une fois initialise, ses composantes ne - * peuvent plus etres modifies. - * Le fait qu'un vecteur ne possede pas d'etat, facilite le raisonement et parait - * surtout naturelle. - * Ainsi, chaque operation sur un vecteur retourne une nouvelle instance. La - * performance perdue ainsi est minimale pour une classe ne contenant que trois - * champs. - */ -class Vector3D { - -private: - /** Composante x. */ - double x; - - /** Composante y. */ - double y; - - /** Composante z. */ - double z; - -public: - - /** Cree une nouvelle instance de <code>Vector3D</code>. - * @param x 1e composante - * @param y 2e composante - * @param z 3e composante - */ - Vector3D(double _x, double _y, double _z) : x(_x), y(_y), z(_z) {}; - - /** Retourne la composante x de ce vecteur. */ - double getX() const {return x;}; - - /** Retourne la composante y de ce vecteur. */ - double getY() const {return y;}; - - /** Retourne la composante z de ce vecteur. */ - double getZ() const {return z;}; - - /** Verifie si ce vecteur et le vecteur <code>v</code> sont eqaux, i.e. qu'ils ont les memes composantes. */ - bool operator== (const Vector3D& v) const {return x == v.x && y == v.y && z == v.z;}; - - /** Verifie si ce vecteur et le vecteur <code>v</code> sont differents, i.e. qu'ils ont des composantes differentes. */ - bool operator!= (const Vector3D& v) const {return !((*this) == (v));}; - - /** Addition de vecteurs. Retourne un nouveau vecteur resultant de l'addition de ce vecteur avec <code>v</code>. */ - Vector3D operator+ (const Vector3D& v) const {return Vector3D(x + v.x, y + v.y, z + v.z);}; - - /** Multiplication scalaire. Retourne un nouveau vecteur resultant de la multiplication de ce vecteur par <code>n</code>. */ - Vector3D operator* (double n) const {return Vector3D(x * n, y * n, z * n);}; - - /** Retourne l'oppose de ce vecteur. */ - Vector3D operator-() const {return (*this) * (-1.0);}; - - /** Soustraction de vecteurs. Retourne un nouveau vecteur resultant de la soustraction de ce vecteur avec <code>v</code>. */ - Vector3D operator- (const Vector3D& v) const {return (*this) + -v;}; - - /** Division scalaire. Retourne un nouveau vecteur resultant de la division de ce vecteur par <code>n</code>. */ - Vector3D operator/ (double n) const {return (*this) * (1.0 / n) ;}; - - /** Produit scalaire. Retourne le produit scalaire de ce vecteur avec le vecteur <code>v</code>. */ - double dot(const Vector3D& v) const {return x * v.x + y * v.y + z * v.z;}; - - /** Produit vectoriel. Retourne le produit vectoriel directe (main droite) de ce vecteur avec le vecteur <code>v</code>. - * Nous avons decide de ne pas utiliser l'operateur `^' pour representer le produit vectoriel car sa precedence est plus - * basse que toutes autres operations binaires sur les vecteurs. - */ - Vector3D cross(const Vector3D& v) const {return Vector3D(y * v.z - v.y * z, v.x * z - x * v.z, x * v.y - v.x * y);}; - - /** Vecteur unitaire de ce vecteur. */ - Vector3D operator~() const { - if (getNorm() != 0.0) return (*this) / getNorm(); - else throw std::domain_error("Unit vector."); - }; - - Vector3D getUnit() const {return ~(*this);} - - /** Retourne la norme du vecteur. */ - double getNorm() const {return sqrt(dot(*this));}; - - /** Retourne une representation en chaine de ce vecteur. */ - std::string toString() const { - std::stringstream s; - s << "Vector3D(" << x << ", " << y << ", " << z << ")"; - return s.str(); - }; - - /** Vecteur nulle. (0,0,0) */ - static const Vector3D Null; - - /** Vecteur unitaire, d'axe x. (1, 0, 0) */ - static const Vector3D i; - - /** Vecteur unitaire, d'axe y. (0, 1, 0) */ - static const Vector3D j; - - /** Vecteur unitaire, d'axe z. (0, 0, 1) */ - static const Vector3D k; - -}; - -std::ostream& operator<< (std::ostream& output, const Vector3D& v); - -Vector3D operator* (double n, const Vector3D& v); - -} // namespace - -#endif /* VECTOR3D_H_ */ diff --git a/src/vhc/namespace.ccbak b/src/vhc/namespace.ccbak deleted file mode 100644 index 52d293c..0000000 --- a/src/vhc/namespace.ccbak +++ /dev/null @@ -1,2 +0,0 @@ -/** Espace de nom contenant tout code relatif au projet `Virtual Hadron Collider'. */ -namespace vhc {}; diff --git a/src/vhctest/Makefile b/src/vhctest/Makefile deleted file mode 100644 index df809a9..0000000 --- a/src/vhctest/Makefile +++ /dev/null @@ -1,37 +0,0 @@ -######################################################################### -# Makefile recursif # -#=======================================================================# -# Les variables suivantes sont definis dans un makefile plus haut. # -# BASEDIR repertoire de base du projet # -# SRCDIR repertoire contenant le code source # -# BINDIR repertoire ou sont places toutes objets compiles # -#=======================================================================# -# ==> indique des champs modifiables aisement # -#=======================================================================# -# Comme tous les tests dependent du projet principal, les references au # -# dossier `vhc' sont autorisees. # -######################################################################### - -# Nom du repertoire contenant ce makefile -LOCALDIR = vhctest - -# ==> Rajouter ici les tests a compiler, i.e. les noms des fichiers tests _sans_ extension -# Si un objet X necessite une compilation non-standard (i.e. pas de regle du style X: X.cc X.h), rajouter cet objet -# en fin de BINS ne suffit pas. Il faut de plus creer une nouvelle regle. -BINS = Vector3DTest - -# Inclure les headers de vhc (source principale) -CXXFLAGS += -I $(SRCDIR)/vhc/ - -all: checkdirs $(BINS) - -# Verifie l'existance du repertoire de sortie -checkdirs: $(BINDIR)/$(LOCALDIR) - -# Cree le repertoire de sortie -$(BINDIR)/$(LOCALDIR): - @mkdir -p $@ - -# Regle implicite pour les fichiers sans extension (i.e. pour les executables) -%: %.cc - $(CXX) $(CXXFLAGS) $< -static -L$(BINDIR)/vhc -lvhc -o $(BINDIR)/$(LOCALDIR)/$@ diff --git a/src/vhctest/Vector3DTest.cc b/src/vhctest/Vector3DTest.cc deleted file mode 100644 index bf4203a..0000000 --- a/src/vhctest/Vector3DTest.cc +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Vector3DTest.cc - * - * Created on: Mar 1, 2011 - * Author: Jakob Odersky - */ - - -#include <iostream> -#include <assert.h> -#include <iomanip> -#include <limits> -//TODO change relative include -#include "Vector3D.h" - -using namespace std; -using namespace vhc; - - -bool printTest(); - -int main() { - //equality test - assert(Vector3D(1, 2, 3) == Vector3D(1, 2, 3)); - assert(Vector3D(1, 2.4, 3) != Vector3D(1, 2, 3)); - - //addition test - assert(Vector3D(1, -0.9, 57683) + Vector3D(-1, 0.9, -57683) == Vector3D::Null); - - //addition, mutliplication test - assert(Vector3D(4, 0, 16) / 4 == -Vector3D(0.25, 0, 1) * -4); - - //length test - assert(Vector3D(0,3,4).getNorm() == 5); - - bool caught = false; - try { - ~Vector3D::Null; - } catch (domain_error& ex) { - caught = true; - }; - assert(caught == true); - - cout << "Vector3D: tests completed successfully" << endl; - - return 0; -} - -bool printTest() { - cout << "PRINT TEST" << endl; - cout << Vector3D(1,2,3) << endl; - char answer; - do { - cout << "Was 'Vector3D(1,2,3)' displayed? (y/n)" << endl; - cin >> answer; - } while (answer != 'y' && answer != 'n'); - cout << "END PRINT TEST" << endl; - - if (answer == 'y') return true; - else return false; -} |