From 8cee2782fd70e4c19196b5fdede00ffe92808b6b Mon Sep 17 00:00:00 2001 From: haller Date: Sun, 1 May 2005 00:34:40 +0000 Subject: Correction de bugs pour vector Ajout d'un programme de test pour vector Ajout du Makefile.defs dans le répertoire geometry Ca compile mais je soupçonne des erreurs --- 2005/i/robert/src/geometry/vector.tcc | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to '2005/i/robert/src/geometry/vector.tcc') diff --git a/2005/i/robert/src/geometry/vector.tcc b/2005/i/robert/src/geometry/vector.tcc index 12120b0..7b6fa86 100644 --- a/2005/i/robert/src/geometry/vector.tcc +++ b/2005/i/robert/src/geometry/vector.tcc @@ -107,9 +107,9 @@ VectorT::operator* (const VectorT &v) const /// Calcule la norme. template T -VectorT::norm (void) +VectorT::norm (void) const { - return sqrt (x * x + y * y); + return static_cast(sqrt (x * x + y * y)); // XXX Il est propre le static_cast?? } /// Normalise. @@ -140,28 +140,29 @@ VectorT & VectorT::rotate (T angle) { T tx = x; - T c, s; - sincos (angle, *s, *c); - x = tx * c - y * s; - y = tx * s + y * c; + double c, s; + sincos (angle, &s, &c); + x = static_cast(tx * c - y * s); // XXX C'est propre ça? + y = static_cast(tx * s + y * c); + return *this; } /// Distance à un autre point. template T -VectorT::distTo (const VectorT &v) const +VectorT::distTo (const VectorT &v) const { - return sqrt (sqDistTo (v)); + return static_cast(sqrt (sqDistTo (v))); // XXX propre?? } /// Distance à un autre point au carré. template T -VectorT::sqDistTo (const VectorT &v) const +VectorT::sqDistTo (const VectorT &v) const { double dx = x - v.x; double dy = y - v.y; - return dx * dx + dy * dy; + return static_cast(dx * dx + dy * dy); } /// Multiplication. -- cgit v1.2.3