]> git.tdb.fi Git - libs/math.git/commitdiff
Always explicitly construct values of type T
authorMikko Rasa <tdb@tdb.fi>
Sat, 22 Nov 2014 09:35:31 +0000 (11:35 +0200)
committerMikko Rasa <tdb@tdb.fi>
Sat, 22 Nov 2014 10:37:56 +0000 (12:37 +0200)
source/geometry/extrudedshape.h
source/geometry/halfspace.h
source/geometry/hypersphere.h
source/geometry/ray.h

index 400c52b8122cdee3d45627b87822aa0bd4cea19f..bacea7c3e54e208f6ef246bfa4dd719aa2aeb8ac 100644 (file)
@@ -41,7 +41,7 @@ template<typename T, unsigned D>
 inline ExtrudedShape<T, D>::ExtrudedShape(const Shape<T, D-1> &b, T l):
        length(l)
 {
-       if(l<=0)
+       if(l<=T(0))
                throw std::invalid_argument("ExtrudedShape::ExtrudedShape");
 
        base = b.clone();
index 5fdea34c885eaf2dbf17296b07d4677984589fef..f671629e56194b0a93a00220c5ef17ef0c6ad0f7 100644 (file)
@@ -33,7 +33,7 @@ public:
 template<typename T, unsigned D>
 inline HalfSpace<T, D>::HalfSpace()
 {
-       normal[0] = 1;
+       normal[0] = T(1);
 }
 
 template<typename T, unsigned D>
@@ -57,7 +57,7 @@ inline BoundingBox<T, D> HalfSpace<T, D>::get_axis_aligned_bounding_box() const
 template<typename T, unsigned D>
 inline bool HalfSpace<T, D>::contains(const LinAl::Vector<T, D> &point) const
 {
-       return inner_product(point, normal)<=0;
+       return inner_product(point, normal)<=T(0);
 }
 
 template<typename T, unsigned D>
index e2e3102014a1f73a9cfb9411d9b90638c937f851..4df03fed0eb433abb38d6df8e9375fc42f78befe 100644 (file)
@@ -70,7 +70,7 @@ inline unsigned HyperSphere<T, D>::get_intersections(const Ray<T, D> &ray, Surfa
        T mid = -inner_product(ray.get_direction(), ray.get_start());
        LinAl::Vector<T, D> nearest = ray.get_start()+ray.get_direction()*mid;
        T offset_sq = radius*radius-inner_product(nearest, nearest);
-       if(offset_sq<0)
+       if(offset_sq<T(0))
                return 0;
        T offset = sqrt(offset_sq);
 
index 99f447bcd62edc2a640039d1ad7ad1eea54bb8c2..6c9a65bf4785c38ae07ab6fc78e4a4337575200b 100644 (file)
@@ -30,7 +30,7 @@ template<typename T, unsigned D>
 inline Ray<T, D>::Ray():
        limit(0)
 {
-       direction[0] = 1;
+       direction[0] = T(1);
 }
 
 template<typename T, unsigned D>
@@ -46,14 +46,14 @@ inline Ray<T, D>::Ray(const LinAl::Vector<T, D> &s, const LinAl::Vector<T, D> &d
        direction(normalize(d)),
        limit(l)
 {
-       if(l<0)
+       if(l<T(0))
                throw std::invalid_argument("Ray::Ray");
 }
 
 template<typename T, unsigned D>
 inline bool Ray<T, D>::check_limits(T x) const
 {
-       return x>=0 && (!limit || x<=limit);
+       return x>=T(0) && (!limit || x<=limit);
 }
 
 } // namespace Geometry