Minor changes in Bullet:
authorErwin Coumans <blender@erwincoumans.com>
Sun, 30 Oct 2005 06:44:42 +0000 (06:44 +0000)
committerErwin Coumans <blender@erwincoumans.com>
Sun, 30 Oct 2005 06:44:42 +0000 (06:44 +0000)
- on Ton's request use double versions of cos,sin,tan, sqrt etc.
just like Solid in MT_Scalar #if defined (__sun) || defined (__sun__) || defined (__sparc) || defined (__APPLE__)
- updated an url in the header of files

110 files changed:
extern/bullet/Bullet/BroadphaseCollision/BroadphaseInterface.h
extern/bullet/Bullet/BroadphaseCollision/BroadphaseProxy.cpp
extern/bullet/Bullet/BroadphaseCollision/BroadphaseProxy.h
extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.cpp
extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.h
extern/bullet/Bullet/BroadphaseCollision/CollisionDispatcher.cpp
extern/bullet/Bullet/BroadphaseCollision/CollisionDispatcher.h
extern/bullet/Bullet/BroadphaseCollision/SimpleBroadphase.cpp
extern/bullet/Bullet/BroadphaseCollision/SimpleBroadphase.h
extern/bullet/Bullet/CollisionShapes/BoxShape.cpp
extern/bullet/Bullet/CollisionShapes/BoxShape.h
extern/bullet/Bullet/CollisionShapes/CollisionShape.cpp
extern/bullet/Bullet/CollisionShapes/CollisionShape.h
extern/bullet/Bullet/CollisionShapes/ConeShape.cpp
extern/bullet/Bullet/CollisionShapes/ConeShape.h
extern/bullet/Bullet/CollisionShapes/ConvexHullShape.cpp
extern/bullet/Bullet/CollisionShapes/ConvexHullShape.h
extern/bullet/Bullet/CollisionShapes/ConvexShape.cpp
extern/bullet/Bullet/CollisionShapes/ConvexShape.h
extern/bullet/Bullet/CollisionShapes/CylinderShape.cpp
extern/bullet/Bullet/CollisionShapes/CylinderShape.h
extern/bullet/Bullet/CollisionShapes/MinkowskiSumShape.cpp
extern/bullet/Bullet/CollisionShapes/MinkowskiSumShape.h
extern/bullet/Bullet/CollisionShapes/MultiSphereShape.cpp
extern/bullet/Bullet/CollisionShapes/MultiSphereShape.h
extern/bullet/Bullet/CollisionShapes/PolyhedralConvexShape.cpp
extern/bullet/Bullet/CollisionShapes/PolyhedralConvexShape.h
extern/bullet/Bullet/CollisionShapes/Simplex1to4Shape.cpp
extern/bullet/Bullet/CollisionShapes/Simplex1to4Shape.h
extern/bullet/Bullet/CollisionShapes/SphereShape.cpp
extern/bullet/Bullet/CollisionShapes/SphereShape.h
extern/bullet/Bullet/CollisionShapes/StridingMeshInterface.cpp
extern/bullet/Bullet/CollisionShapes/StridingMeshInterface.h
extern/bullet/Bullet/CollisionShapes/TriangleCallback.h
extern/bullet/Bullet/CollisionShapes/TriangleMesh.cpp
extern/bullet/Bullet/CollisionShapes/TriangleMesh.h
extern/bullet/Bullet/CollisionShapes/TriangleMeshShape.cpp
extern/bullet/Bullet/CollisionShapes/TriangleMeshShape.h
extern/bullet/Bullet/CollisionShapes/TriangleShape.h
extern/bullet/Bullet/NarrowPhaseCollision/BU_AlgebraicPolynomialSolver.cpp
extern/bullet/Bullet/NarrowPhaseCollision/BU_AlgebraicPolynomialSolver.h
extern/bullet/Bullet/NarrowPhaseCollision/BU_Collidable.cpp
extern/bullet/Bullet/NarrowPhaseCollision/BU_Collidable.h
extern/bullet/Bullet/NarrowPhaseCollision/BU_CollisionPair.cpp
extern/bullet/Bullet/NarrowPhaseCollision/BU_CollisionPair.h
extern/bullet/Bullet/NarrowPhaseCollision/BU_EdgeEdge.cpp
extern/bullet/Bullet/NarrowPhaseCollision/BU_EdgeEdge.h
extern/bullet/Bullet/NarrowPhaseCollision/BU_MotionStateInterface.h
extern/bullet/Bullet/NarrowPhaseCollision/BU_Screwing.cpp
extern/bullet/Bullet/NarrowPhaseCollision/BU_Screwing.h
extern/bullet/Bullet/NarrowPhaseCollision/BU_StaticMotionState.h
extern/bullet/Bullet/NarrowPhaseCollision/BU_VertexPoly.cpp
extern/bullet/Bullet/NarrowPhaseCollision/BU_VertexPoly.h
extern/bullet/Bullet/NarrowPhaseCollision/ContinuousConvexCollision.cpp
extern/bullet/Bullet/NarrowPhaseCollision/ContinuousConvexCollision.h
extern/bullet/Bullet/NarrowPhaseCollision/ConvexCast.h
extern/bullet/Bullet/NarrowPhaseCollision/ConvexPenetrationDepthSolver.h
extern/bullet/Bullet/NarrowPhaseCollision/DiscreteCollisionDetectorInterface.h
extern/bullet/Bullet/NarrowPhaseCollision/GjkConvexCast.cpp
extern/bullet/Bullet/NarrowPhaseCollision/GjkConvexCast.h
extern/bullet/Bullet/NarrowPhaseCollision/GjkPairDetector.cpp
extern/bullet/Bullet/NarrowPhaseCollision/GjkPairDetector.h
extern/bullet/Bullet/NarrowPhaseCollision/PersistentManifold.cpp
extern/bullet/Bullet/NarrowPhaseCollision/PersistentManifold.h
extern/bullet/Bullet/NarrowPhaseCollision/RaycastCallback.cpp
extern/bullet/Bullet/NarrowPhaseCollision/RaycastCallback.h
extern/bullet/Bullet/NarrowPhaseCollision/SimplexSolverInterface.h
extern/bullet/Bullet/NarrowPhaseCollision/SubSimplexConvexCast.cpp
extern/bullet/Bullet/NarrowPhaseCollision/SubSimplexConvexCast.h
extern/bullet/Bullet/NarrowPhaseCollision/VoronoiSimplexSolver.cpp
extern/bullet/Bullet/NarrowPhaseCollision/VoronoiSimplexSolver.h
extern/bullet/BulletDynamics/CollisionDispatch/ConvexConcaveCollisionAlgorithm.cpp
extern/bullet/BulletDynamics/CollisionDispatch/ConvexConcaveCollisionAlgorithm.h
extern/bullet/BulletDynamics/CollisionDispatch/ConvexConvexAlgorithm.cpp
extern/bullet/BulletDynamics/CollisionDispatch/ConvexConvexAlgorithm.h
extern/bullet/BulletDynamics/CollisionDispatch/EmptyCollisionAlgorithm.cpp
extern/bullet/BulletDynamics/CollisionDispatch/EmptyCollisionAlgorithm.h
extern/bullet/BulletDynamics/CollisionDispatch/ManifoldResult.cpp
extern/bullet/BulletDynamics/CollisionDispatch/ManifoldResult.h
extern/bullet/BulletDynamics/ConstraintSolver/ConstraintSolver.h
extern/bullet/BulletDynamics/ConstraintSolver/ContactConstraint.cpp
extern/bullet/BulletDynamics/ConstraintSolver/ContactConstraint.h
extern/bullet/BulletDynamics/ConstraintSolver/ContactSolverInfo.h
extern/bullet/BulletDynamics/ConstraintSolver/JacobianEntry.h
extern/bullet/BulletDynamics/ConstraintSolver/OdeConstraintSolver.cpp
extern/bullet/BulletDynamics/ConstraintSolver/OdeConstraintSolver.h
extern/bullet/BulletDynamics/ConstraintSolver/Point2PointConstraint.cpp
extern/bullet/BulletDynamics/ConstraintSolver/Point2PointConstraint.h
extern/bullet/BulletDynamics/ConstraintSolver/SimpleConstraintSolver.cpp
extern/bullet/BulletDynamics/ConstraintSolver/SimpleConstraintSolver.h
extern/bullet/BulletDynamics/ConstraintSolver/Solve2LinearConstraint.cpp
extern/bullet/BulletDynamics/ConstraintSolver/Solve2LinearConstraint.h
extern/bullet/BulletDynamics/ConstraintSolver/SorLcp.cpp
extern/bullet/BulletDynamics/Dynamics/ContactJoint.cpp
extern/bullet/BulletDynamics/Dynamics/RigidBody.cpp
extern/bullet/BulletLicense.txt
extern/bullet/LinearMath/AabbUtil2.h
extern/bullet/LinearMath/GEN_List.h
extern/bullet/LinearMath/GEN_MinMax.h
extern/bullet/LinearMath/GEN_random.h
extern/bullet/LinearMath/IDebugDraw.h
extern/bullet/LinearMath/SimdMatrix3x3.h
extern/bullet/LinearMath/SimdMinMax.h
extern/bullet/LinearMath/SimdPoint3.h
extern/bullet/LinearMath/SimdQuadWord.h
extern/bullet/LinearMath/SimdQuaternion.h
extern/bullet/LinearMath/SimdScalar.h
extern/bullet/LinearMath/SimdTransform.h
extern/bullet/LinearMath/SimdTransformUtil.h
extern/bullet/LinearMath/SimdVector3.h

index 29c6a64eedcdb42253e61a2b98245dd67ea34261..6f2f76ff812cf4fbf6cde33143c17a1ba55916c3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index b7c6c72c8be7553e49293ab18238d1107c62251c..4be503582563160d2a972dde432097d7d518adf2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 9dfeb370347e9827f696d90010b2de68266c1b81..2f4ed2c16534c17deaef0e062547bb991179e58c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index a4e20359aea9caed4e54120ab95e06fb87e183f4..4f73fe2f6ad5188ed95e62cd7f6ce97bce960441 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 5699f1019dfe18af97d56a07094e9f221d21b019..7981b41acf28cac7f77f4e0ebf16d3925b77f9cf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 65a7b616fb2a79124000735b142fb6ca89ded399..4883bd9f8f9f7ad174df6060906015eecabf671c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 7787ed417c50b2d664d2682de20c581bdc85d1ef..6d39ec7dea18976367fa98a64a5e9df818e45108 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 5d72376825dd66b9068254e3a83c34eafbf7200c..663cae2949a70d5c6b04371d239c87e89fc83153 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 754d004d111b4c7312e93eb13bd9dfe36d7e16ce..df6964d0ad90c42e92c2bc233e521825a694023f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 6cbab4ff03a4127264df4d135e40462449717970..b32744352639c0d6cc0c6c86ac88b65ba9a8cc4b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 451ae2370b6ff8603a7b79b9894ec49c8a909172..1cb0d822b76240629ff2426421e7015050323fbf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 4bd1619cbf3fe4f2e6ec5036b781cb9a6806f903..9efe0b0b68e1fb2fa06bc0e52a84573da02f69c5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index c43ce933a2f314c9a7e0c6bd03b16ed3097cdcb3..615782f814761fe99b46d16233d03fed90a72863 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 40e762125acfc6c2f4b7b309ee7c903c16739d3e..07db8822f7ea6a0c1a2050da4a9eb826ad007639 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -41,7 +41,7 @@ SimdVector3 ConeShape::ConeLocalSupport(const SimdVector3& v) const
        return tmp;
  }
   else {
-    SimdScalar s = sqrtf(v[coneindices[0]] * v[coneindices[0]] + v[coneindices[2]] * v[coneindices[2]]);
+    SimdScalar s = SimdSqrt(v[coneindices[0]] * v[coneindices[0]] + v[coneindices[2]] * v[coneindices[2]]);
     if (s > SIMD_EPSILON) {
       SimdScalar d = m_radius / s;
          SimdVector3 tmp;
index 88117e1bec32c0bc75bd5e2582cb69c3fbb12d0e..5a6b27c904d81585be038a40b54bfcd309c3f1d6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 8e493ba5bc0f4783354830301ec4a3d9d94ec6e8..1cea1d02f083a7d9ace7bb6d3087a4b461cfa77e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -34,7 +34,7 @@ SimdVector3   ConvexHullShape::LocalGetSupportingVertexWithoutMargin(const SimdVec
                vec.setValue(1,0,0);
        } else
        {
-               float rlen = 1.f / sqrtf(lenSqr );
+               float rlen = 1.f / SimdSqrt(lenSqr );
                vec *= rlen;
        }
 
index 5be0b61da6f24d6cae4ef3984f77747de4f33d77..a06bcb1e9dcdbc27b7be815c4f91cf222bc9b60c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index d6bf5dba5b30e36b82f63a50be99d398b4892d07..8be67b9b6c89194140b39617fb4dcf54691f578e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 1ec962c591c33234503a1f8c5093f45d3c4d46dc..b1e6f9e99241e7554db1ecafe4eb1dce17c215d9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 4af83d55a685f00f5e6c74e08e93c5ea04c492c7..c6bce486ac12d31def85919552fccd050db3e0e1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -50,7 +50,7 @@ const int ZZ = 2;
     SimdVector3 tmp;
        SimdScalar d ;
 
-    SimdScalar s = sqrtf(v[XX] * v[XX] + v[ZZ] * v[ZZ]);
+    SimdScalar s = SimdSqrt(v[XX] * v[XX] + v[ZZ] * v[ZZ]);
     if (s != SimdScalar(0.0))
        {
         d = radius / s;  
@@ -91,7 +91,7 @@ const int ZZ = 2;
     SimdVector3 tmp;
        SimdScalar d ;
 
-    SimdScalar s = sqrtf(v[XX] * v[XX] + v[ZZ] * v[ZZ]);
+    SimdScalar s = SimdSqrt(v[XX] * v[XX] + v[ZZ] * v[ZZ]);
     if (s != SimdScalar(0.0))
        {
         d = radius / s;  
@@ -128,7 +128,7 @@ const int ZZ = 1;
     SimdVector3 tmp;
        SimdScalar d ;
 
-    SimdScalar s = sqrtf(v[XX] * v[XX] + v[ZZ] * v[ZZ]);
+    SimdScalar s = SimdSqrt(v[XX] * v[XX] + v[ZZ] * v[ZZ]);
     if (s != SimdScalar(0.0))
        {
         d = radius / s;  
index 4fa40e92f1e6cf91e801c099e8cccd47129aa6d9..8b1cb66685a2636171da91eff66bbcd4e4821187 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index abb1bfd24497832b471c2f48c4c04e4765817163..474064e5a21786b8d71f57cfa736540fb311ff24 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index a286b66252b6ef77163d3124289a1f15f6ca4312..8fa0cee463b49b97384dde83783636a46678dc8f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index d2e7fcc273e5321855cbf0d169ef6339ce4b8386..93787081a3437849acdc30e134ef1a7ccf127d0a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -47,7 +47,7 @@ MultiSphereShape::MultiSphereShape (const SimdVector3& inertiaHalfExtents,const
                vec.setValue(1,0,0);
        } else
        {
-               float rlen = 1.f / sqrtf(lenSqr );
+               float rlen = 1.f / SimdSqrt(lenSqr );
                vec *= rlen;
        }
 
index fd23be65e849e17fbb51b05e7f8f1e7879c8d98c..323831c06cae0a82d0bbb0711e7a95cbfd2596e8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 84b164dd5c64dea081a4258579224aa055f115b0..55f29bab9608bb444d6bf81dd3903fa092cf01cb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -29,7 +29,7 @@ SimdVector3   PolyhedralConvexShape::LocalGetSupportingVertexWithoutMargin(const S
                vec.setValue(1,0,0);
        } else
        {
-               float rlen = 1.f / sqrtf(lenSqr );
+               float rlen = 1.f / SimdSqrt(lenSqr );
                vec *= rlen;
        }
 
index faab0f39523c991adf836efecd78ce405b8b4969..9c3764ae0142132494948ade8524298a383ffa10 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 8a3833c20b160f171b4a1799344f3e1f1f9e0eda..8fae9cc4037e76d94fb1cfea0a235b82f9482311 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 8feb995a26c694d515ea9c4b11ccb928706a8413..a7533efa5cf774aebab3dee6ad81c76a7eaa5100 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 6afb0fe50913e11e0f21b5e94a64248fe780374c..8c28cca172e0354ecf11268d75733a140bb8677b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -25,11 +25,11 @@ SimdVector3 SphereShape::LocalGetSupportingVertexWithoutMargin(const SimdVector3
        float radius = m_radius - GetMargin();
 
        SimdScalar len = vec.length2();
-       if (fabsf(len) < 0.0001f)
+       if (SimdFabs(len) < 0.0001f)
        {
                return SimdVector3(m_localScaling[0] * radius,m_localScaling[1]*radius,m_localScaling[2]*radius);
        } 
-       return vec *  (m_localScaling*(radius / sqrtf(len)));
+       return vec *  (m_localScaling*(radius / SimdSqrt(len)));
 }
 
 SimdVector3    SphereShape::LocalGetSupportingVertex(const SimdVector3& vec)const
index 240d9befce83dcf4c0accedb0550f5a432352c19..82c00ea43ebbcce0bc913c28e6007ad9f12eb934 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index b5194200a379b239eb210be4a3fa16fcf840a590..8fd761f06cba277d5522e9ad670c2eb7acb73835 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index d212c6f890457df4b863216d1ccab803cb3bd890..ba8a925c8dd3d58cc7708f1d151250c4f8430983 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 67d95565891a786b666690d975ded2ef20aebc8b..0e464d09e8beabe2240d501be06708b4bc387911 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index b528a9329ed0437293cd5d3dbaf773514c4b83d0..d02b96009857562f0b5febce7044c1395f327acb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 37e29bf3b08702525a39fb1604298223b4b8f03d..0b0b937bf122e25d940c1c66f027f6cbeb66c697 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 259e673759a783914ee4733a78dfcad67c13bc9c..0c20f78c1dfae69cea2d257f5637106606170924 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 6ca8fef8ef02169e1609a53ae71166304cb706f6..926191bddbbb9617c01f3cd1097f53f6a7785bea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 58f83a82e8cad6d4987f19d1c64cade8812f3a49..60ea95da5d03dcdc11d12b2336a9f6399d396796 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 8253e61f17f329f9d93378ea63833e1ad1c93c8c..592fac5a248bd8a437c7db1ee67eac6cd1ee8929 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -22,7 +22,7 @@ int BU_AlgebraicPolynomialSolver::Solve2Quadratic(SimdScalar p, SimdScalar q)
        basic_h_local       = p * 0.5f; 
    basic_h_local_delta = basic_h_local * basic_h_local - q; 
    if (basic_h_local_delta > 0.0f)  { 
-      basic_h_local_delta = sqrtf(basic_h_local_delta); 
+      basic_h_local_delta = SimdSqrt(basic_h_local_delta); 
       m_roots[0]  = - basic_h_local + basic_h_local_delta; 
       m_roots[1]  = - basic_h_local - basic_h_local_delta; 
       return 2; 
@@ -42,7 +42,7 @@ int BU_AlgebraicPolynomialSolver::Solve2QuadraticFull(SimdScalar a,SimdScalar b,
     SimdScalar radical = b * b - 4.0f * a * c;
     if(radical >= 0.f)
     {
-        SimdScalar sqrtRadical = sqrtf(radical); 
+        SimdScalar sqrtRadical = SimdSqrt(radical); 
         SimdScalar idenom = 1.0f/(2.0f * a);
         m_roots[0]=(-b + sqrtRadical) * idenom;
         m_roots[1]=(-b - sqrtRadical) * idenom;
@@ -53,8 +53,8 @@ int BU_AlgebraicPolynomialSolver::Solve2QuadraticFull(SimdScalar a,SimdScalar b,
 
 
 #define cubic_rt(x) \
- ((x) > 0.0f ? powf((SimdScalar)(x), 0.333333333333333333333333f) : \
-  ((x) < 0.0f ? -powf((SimdScalar)-(x), 0.333333333333333333333333f) : 0.0f))
+ ((x) > 0.0f ? SimdPow((SimdScalar)(x), 0.333333333333333333333333f) : \
+  ((x) < 0.0f ? -SimdPow((SimdScalar)-(x), 0.333333333333333333333333f) : 0.0f))
 
 
 
@@ -146,7 +146,7 @@ int BU_AlgebraicPolynomialSolver::Solve3Cubic(SimdScalar lead, SimdScalar a, Sim
       /*                                                                     */
       /* one real and two complex roots. note that  v = -p / u.              */
       /*                                                                     */
-      u = -q + sqrtf(delta);
+      u = -q + SimdSqrt(delta);
       u = cubic_rt(u);
       m_roots[0] = u - p / u - a;
       return 1;
@@ -155,14 +155,14 @@ int BU_AlgebraicPolynomialSolver::Solve3Cubic(SimdScalar lead, SimdScalar a, Sim
       /*                                                                     */
       /* Casus irreducibilis: we have three real roots                       */
       /*                                                                     */
-      r        = sqrtf(-p);
+      r        = SimdSqrt(-p);
       p       *= -r;
       r       *= 2.0;
-      phi      = acosf(-q / p) / 3.0f;
+      phi      = SimdAcos(-q / p) / 3.0f;
       dummy    = SIMD_2_PI / 3.0f; 
-      m_roots[0] = r * cosf(phi) - a;
-      m_roots[1] = r * cosf(phi + dummy) - a;
-      m_roots[2] = r * cosf(phi - dummy) - a;
+      m_roots[0] = r * SimdCos(phi) - a;
+      m_roots[1] = r * SimdCos(phi + dummy) - a;
+      m_roots[2] = r * SimdCos(phi - dummy) - a;
       return 3;
    }
    else {
@@ -258,23 +258,23 @@ int BU_AlgebraicPolynomialSolver::Solve4Quartic(SimdScalar lead, SimdScalar a, S
          if (m_roots[0] > 0.0f) {
             if (num_roots > 1)  {
                if ((m_roots[1] > 0.0f)  &&  (m_roots[1] != m_roots[0])) {
-                  u        = sqrtf(m_roots[1]);
+                  u        = SimdSqrt(m_roots[1]);
                   m_roots[2] =  u - a;
                   m_roots[3] = -u - a;
-                  u        = sqrtf(m_roots[0]);
+                  u        = SimdSqrt(m_roots[0]);
                   m_roots[0] =  u - a;
                   m_roots[1] = -u - a;
                   return 4;
                }
                else {
-                  u        = sqrtf(m_roots[0]);
+                  u        = SimdSqrt(m_roots[0]);
                   m_roots[0] =  u - a;
                   m_roots[1] = -u - a;
                   return 2;
                }
             }
             else {
-               u        = sqrtf(m_roots[0]);
+               u        = SimdSqrt(m_roots[0]);
                m_roots[0] =  u - a;
                m_roots[1] = -u - a;
                return 2;
@@ -319,14 +319,14 @@ int BU_AlgebraicPolynomialSolver::Solve4Quartic(SimdScalar lead, SimdScalar a, S
       if (SimdEqual(u, SIMD_EPSILON))
          u = 0.0;
       else if (u > 0.0f)
-         u = sqrtf(u);
+         u = SimdSqrt(u);
       else
          return 0;
       
       if (SimdEqual(v, SIMD_EPSILON))
          v = 0.0;
       else if (v > 0.0f)
-         v = sqrtf(v);
+         v = SimdSqrt(v);
       else
          return 0;
 
index 32986eb2e7254c0fefc0db762582c63f051967f0..e2d763e4277f5879a05822d84b6dd1251f906e2e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index fa8091a2e93f7bd3fa5bf8c1a4198f843903ed81..9542889bc26abed1cc76e1a42272553b310c55a5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 79164426fc4e3b0791cb6819fcc45c64f74b663b..939e0972a60a88099ba0010d0698459097b61f49 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 3f60f5dfb86490e5b6862c24258cd0b020e574c7..942c721fadf3a721cd508908b181db1d5638e171 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -148,9 +148,9 @@ bool BU_CollisionPair::calcTimeOfImpact(
                linvel.setValue(0.,0.,0.);
        }
        SimdVector3 angvel;
-       angvel[0] = 2.f * asinf (qrel[0]);
-       angvel[1] = 2.f * asinf (qrel[1]);
-       angvel[2] = 2.f * asinf (qrel[2]);
+       angvel[0] = 2.f * SimdAsin (qrel[0]);
+       angvel[1] = 2.f * SimdAsin (qrel[1]);
+       angvel[2] = 2.f * SimdAsin (qrel[2]);
        
        if (angvel.length() < SCREWEPSILON)
        {
index 6bc09c21cd527906d3e95f0f0a90a1d4fcb263b6..7d38139e65d76122a6968dc88c74a6fc191ddb13 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 26a4fe74fbfb4183cf6b8de8c46894218ed3bde1..130a8ea85b0fd936b78b9bfa8a42011f4978fc5a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -156,7 +156,7 @@ bool BU_EdgeEdge::GetTimeOfImpact(
                                                        //edge doesn't intersect the circle (motion of the vertex)
                                                        return false;
                                                }
-                                               SimdScalar rad = sqrtf(r2);
+                                               SimdScalar rad = SimdSqrt(r2);
                                                
                                                if (SimdFuzzyZero(disc))
                                                {
@@ -192,14 +192,14 @@ bool BU_EdgeEdge::GetTimeOfImpact(
                                                        {
                                                                SimdScalar mu;
                                                                
-                                                               intersectPt.setY((-2.f*aa*bb+2.f*sqrtf(disc))/(2.f*(aa*aa+1.f)));
+                                                               intersectPt.setY((-2.f*aa*bb+2.f*SimdSqrt(disc))/(2.f*(aa*aa+1.f)));
                                                                intersectPt.setX(aa*intersectPt.y()+bb);
                                                                mu = ((intersectPt.getY()-c.getY())/v.getY());
                                                                if (0.f <= mu && mu <= 1.f)
                                                                {
                                                                        hit = Calc2DRotationPointPoint(rotPt,rad,screwAB.GetW(),intersectPt,minTime);
                                                                }
-                                                               intersectPt.setY((-2.f*aa*bb-2.f*sqrtf(disc))/(2.f*(aa*aa+1.f)));
+                                                               intersectPt.setY((-2.f*aa*bb-2.f*SimdSqrt(disc))/(2.f*(aa*aa+1.f)));
                                                                intersectPt.setX(aa*intersectPt.y()+bb);
                                                                mu = ((intersectPt.getY()-c.getY())/v.getY());
                                                                if (0 <= mu && mu <= 1)
@@ -211,14 +211,14 @@ bool BU_EdgeEdge::GetTimeOfImpact(
                                                        {
                                                                SimdScalar mu;
                                                                
-                                                               intersectPt.setX((-2.f*aa*bb+2.f*sqrtf(disc))/(2*(aa*aa+1.f)));
+                                                               intersectPt.setX((-2.f*aa*bb+2.f*SimdSqrt(disc))/(2*(aa*aa+1.f)));
                                                                intersectPt.setY(aa*intersectPt.x()+bb);
                                                                mu = ((intersectPt.getX()-c.getX())/v.getX());
                                                                if (0 <= mu && mu <= 1)
                                                                {
                                                                        hit = Calc2DRotationPointPoint(rotPt,rad,screwAB.GetW(),intersectPt,minTime);
                                                                }
-                                                               intersectPt.setX((-2.f*aa*bb-2.f*sqrtf(disc))/(2.f*(aa*aa+1.f)));
+                                                               intersectPt.setX((-2.f*aa*bb-2.f*SimdSqrt(disc))/(2.f*(aa*aa+1.f)));
                                                                intersectPt.setY(aa*intersectPt.x()+bb);
                                                                mu = ((intersectPt.getX()-c.getX())/v.getX());
                                                                if (0.f <= mu && mu <= 1.f)
@@ -325,7 +325,7 @@ bool BU_EdgeEdge::GetTimeOfImpactGeneralCase(
                t1 = v.y()*s;      t2 = t1*u.x();
                t3 = v.x()*s;
                t4 = t3*u.y();
-               t7 = tanf(w/2.0f);
+               t7 = SimdTan(w/2.0f);
                t8 = 1.0f/t7;
                t10 = 1.0f/v.z();
                aa = (t2-t4)*t8*t10;
@@ -382,7 +382,7 @@ bool BU_EdgeEdge::GetTimeOfImpactGeneralCase(
       t2 = t1*vx;
       t3 = ux*s;
       t4 = t3*vy;
-      t7 = tanf(w/2.0f);
+      t7 = SimdTan(w/2.0f);
       t8 = 1/t7;
       t10 = 1/uz;
       t13 = ux*az;
@@ -438,12 +438,12 @@ bool BU_EdgeEdge::GetTimeOfImpactGeneralCase(
                if (!SimdFuzzyZero(v.z()))
                {
                        SimdScalar A1=(ux-ux*tau*tau-2.f*tau*uy)-((1.f+tau*tau)*vx*uz/vz);
-                       SimdScalar B1=((1.f+tau*tau)*(cx*tanf(1.f/2.f*w)*vz+
-                               vx*az*tanf(1.f/2.f*w)-vx*cz*tanf(1.f/2.f*w)+
-                               vx*s*tau)/tanf(1.f/2.f*w)/vz)-(ax-ax*tau*tau-2.f*tau*ay);
+                       SimdScalar B1=((1.f+tau*tau)*(cx*SimdTan(1.f/2.f*w)*vz+
+                               vx*az*SimdTan(1.f/2.f*w)-vx*cz*SimdTan(1.f/2.f*w)+
+                               vx*s*tau)/SimdTan(1.f/2.f*w)/vz)-(ax-ax*tau*tau-2.f*tau*ay);
                        lambda = B1/A1;
                        
-                       mu = (a.z()-c.z()+lambda*u.z()+(s*tau)/(tanf(w/2.f)))/v.z();
+                       mu = (a.z()-c.z()+lambda*u.z()+(s*tau)/(SimdTan(w/2.f)))/v.z();
                        
                        
                        //double check in original equation
@@ -456,8 +456,8 @@ bool BU_EdgeEdge::GetTimeOfImpactGeneralCase(
                        
                        SimdScalar rhs = c.x()+mu*v.x();
                        
-                       rhs = ((1.f+tau*tau)*(cx*tanf(1.f/2.f*w)*vz+vx*az*tanf(1.f/2.f*w)-
-                               vx*cz*tanf(1.f/2.f*w)+vx*s*tau)/(tanf(1.f/2.f*w)*vz))-
+                       rhs = ((1.f+tau*tau)*(cx*SimdTan(1.f/2.f*w)*vz+vx*az*SimdTan(1.f/2.f*w)-
+                               vx*cz*SimdTan(1.f/2.f*w)+vx*s*tau)/(SimdTan(1.f/2.f*w)*vz))-
                                
                                (ax-ax*tau*tau-2.f*tau*ay);
                        
@@ -479,7 +479,7 @@ bool BU_EdgeEdge::GetTimeOfImpactGeneralCase(
                        
                }
                
-               SimdScalar t = 2.f*atanf(tau)/screwAB.GetW();
+               SimdScalar t = 2.f*SimdAtan(tau)/screwAB.GetW();
                //tau = tan (wt/2) so 2*atan (tau)/w
                if (t>=0.f && t<minTime)
                {
@@ -518,8 +518,8 @@ bool BU_EdgeEdge::Calc2DRotationPointPoint(const SimdPoint3& rotPt, SimdScalar r
        
        // now calculate the planeEquation for the vertex motion,
        // and check if the intersectionpoint is at the positive side
-       SimdPoint3 rotPt1(cosf(rotW)*rotPt.x()-sinf(rotW)*rotPt.y(),
-       sinf(rotW)*rotPt.x()+cosf(rotW)*rotPt.y(),
+       SimdPoint3 rotPt1(SimdCos(rotW)*rotPt.x()-SimdSin(rotW)*rotPt.y(),
+       SimdSin(rotW)*rotPt.x()+SimdCos(rotW)*rotPt.y(),
        0.f);
 
        SimdVector3 rotVec = rotPt1-rotPt;
@@ -542,7 +542,7 @@ bool BU_EdgeEdge::Calc2DRotationPointPoint(const SimdPoint3& rotPt, SimdScalar r
                //hypothenuse = sqrt(r2);
                SimdScalar adjacent = intersectPt.dot(rotPt)/rotRadius;
                SimdScalar hypo = rotRadius;
-               SimdScalar alpha = acosf(adjacent/hypo);
+               SimdScalar alpha = SimdAcos(adjacent/hypo);
                SimdScalar t = alpha / rotW;
                if (t >= 0 && t < minTime)
                {
index 32eed8bc898e1f28c5b4cf9702a13bec95cce135..b653bf44093ea7fa2aaa260cda49a0ffddff0a7b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 637271511e2471bd28bd9f460467d890703c0e80..6f1576a525f70bbce24cb3f82c1d470442e17452 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index f347dc4b49a38abb262d7d8cb94465a077fe98af..e0fc5e02ea2c77b403f04bc93c7d7bc63ca9e1b9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Stephane Redon / Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Stephane Redon / Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -31,14 +31,14 @@ BU_Screwing::BU_Screwing(const SimdVector3& relLinVel,const SimdVector3& relAngV
        // u : vector along the screwing axis (||u||=1)
        // o : point on the screwing axis
        
-       m_w=sqrtf(wx*wx+wy*wy+wz*wz);
+       m_w=SimdSqrt(wx*wx+wy*wy+wz*wz);
        //if (!w) {
        if (fabs(m_w)<SCREWEPSILON ) {
 
                assert(m_w == 0.f);
 
                m_w=0.;
-               m_s=sqrtf(dx*dx+dy*dy+dz*dz);
+               m_s=SimdSqrt(dx*dx+dy*dy+dz*dz);
                if (fabs(m_s)<SCREWEPSILON ) {
                        assert(m_s == 0.);
 
@@ -78,8 +78,8 @@ BU_Screwing::BU_Screwing(const SimdVector3& relLinVel,const SimdVector3& relAngV
                        n1.normalize();
                        SimdVector3 n1orth=m_u.cross(n1);
 
-                       float n2x=cosf(0.5f*m_w);
-                       float n2y=sinf(0.5f*m_w);
+                       float n2x=SimdCos(0.5f*m_w);
+                       float n2y=SimdSin(0.5f*m_w);
                        
                        m_o=0.5f*t.dot(n1)*(n1+n2x/n2y*n1orth);
                }
@@ -104,7 +104,7 @@ void BU_Screwing::LocalMatrix(SimdTransform &t) const {
                if ((m_u[0]>SCREWEPSILON)||(m_u[0]<-SCREWEPSILON)||(m_u[1]>SCREWEPSILON)||(m_u[1]<-SCREWEPSILON)) 
                { 
                        // to avoid numerical problems
-                       float n=sqrtf(m_u[0]*m_u[0]+m_u[1]*m_u[1]);
+                       float n=SimdSqrt(m_u[0]*m_u[0]+m_u[1]*m_u[1]);
                        float invn=1.0f/n;
                        SimdMatrix3x3 mat;
 
@@ -160,8 +160,8 @@ SimdTransform       BU_Screwing::InBetweenTransform(const SimdTransform& tr,SimdScalar
        SimdPoint3 org = tr.getOrigin();
 
        SimdPoint3 neworg (
-       org.x()*cosf(m_w*t)-org.y()*sinf(m_w*t),
-       org.x()*sinf(m_w*t)+org.y()*cosf(m_w*t),
+       org.x()*SimdCos(m_w*t)-org.y()*SimdSin(m_w*t),
+       org.x()*SimdSin(m_w*t)+org.y()*SimdCos(m_w*t),
        org.z()+m_s*CalculateF(t));
                
        SimdTransform newtr;
@@ -190,7 +190,7 @@ SimdScalar BU_Screwing::CalculateF(SimdScalar t) const
                result = t;
        } else
        {
-               result = ( tanf((m_w*t)/2.f) / tanf(m_w/2.f));
+               result = ( SimdTan((m_w*t)/2.f) / SimdTan(m_w/2.f));
        }
        return result;
 }
index 09cf049d2f87d168a4a09d8aa895a405829327c7..8b5a35208afe8dba265853c868060e242ce2de9e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -37,16 +37,16 @@ public:
        inline SimdPoint3       InBetweenPosition(const SimdPoint3& pt,SimdScalar t) const
        {
                return SimdPoint3(
-               pt.x()*cosf(m_w*t)-pt.y()*sinf(m_w*t),
-               pt.x()*sinf(m_w*t)+pt.y()*cosf(m_w*t),
+               pt.x()*SimdCos(m_w*t)-pt.y()*SimdSin(m_w*t),
+               pt.x()*SimdSin(m_w*t)+pt.y()*SimdCos(m_w*t),
                pt.z()+m_s*CalculateF(t));
        }
 
        inline SimdVector3      InBetweenVector(const SimdVector3& vec,SimdScalar t) const
        {
                return SimdVector3(
-               vec.x()*cosf(m_w*t)-vec.y()*sinf(m_w*t),
-               vec.x()*sinf(m_w*t)+vec.y()*cosf(m_w*t),
+               vec.x()*SimdCos(m_w*t)-vec.y()*SimdSin(m_w*t),
+               vec.x()*SimdSin(m_w*t)+vec.y()*SimdCos(m_w*t),
                vec.z());
        }
 
index 553fa6fea781a7527061a2061f4e81afb6a630e9..cbb799c5f7839aba641d7432a4452da32d7fb3b3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 8486df701e7c1b312fa17e10509102473499f701..a67f4b34a3a57ab6168a88769d56040544be2311 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -25,7 +25,7 @@
        #define BU_Polynomial BU_IntervalArithmeticPolynomialSolver
 #endif
 
-inline bool      TestFuzzyZero(SimdScalar x) { return fabsf(x) < 0.0001f; }
+inline bool      TestFuzzyZero(SimdScalar x) { return SimdFabs(x) < 0.0001f; }
 
 
 BU_VertexPoly::BU_VertexPoly()
@@ -119,7 +119,7 @@ bool BU_VertexPoly::GetTimeOfImpact(
                                //ax^3+bx^2+cx+d=0
 
                                //degenerate coefficients mess things up :(
-                               SimdScalar ietsje = (r*s)/tanf(w/2.f);
+                               SimdScalar ietsje = (r*s)/SimdTan(w/2.f);
                                if (ietsje*ietsje < 0.01f)
                                        ietsje = 0.f;
 
@@ -137,7 +137,7 @@ bool BU_VertexPoly::GetTimeOfImpact(
        {
                SimdScalar tau = polynomialSolver.GetRoot(i);
 
-               SimdScalar t = 2.f*atanf(tau)/w;
+               SimdScalar t = 2.f*SimdAtan(tau)/w;
                //tau = tan (wt/2) so 2*atan (tau)/w
                if (swapAB)
                {
index 81c2017542fa504fe4c2eac448a4a88f8fbae684..56a86995f3dfcdb9d9d482a7d0d46ad124423aae 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 2369b02b1b9228baa9c500bc636c6b6ae211da66..4074a2f3fe057f43c0563fcab91aca796b7e211b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 0f9808f2986811c8987b60b645395ae31ad84113..b8b31377aa720346455e5e2b53c464f96dd15ed9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 2e7fa0e8eeaed80b2e07c084e5d09cebd6ddeb83..8d3e79de276a4614f1435fbf78bc88d39eb98ebc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 4eef58e9775275ffcade2dd9f0db882cbfd5761f..8af37e080321c7bc6d345299c144b3adc0b5dc63 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index c51de7388a35377a7cef07b7d94806f3125e265a..393606f5d0ed32b4331c6189871e3579af0e54d4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 10a4cb56dcf8abed20ab66b4ae78dfb966680a59..45d7403586f766d3f5bcfef5d1316c024684569b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index f5c800f85c65814b29db3b0b2b214e3f630310c5..a1bcc615010f99d812ec1878aefd4f1806a3d6b0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index f5db2661c0134fea18476b2d4fa8de6f9d61c582..07502e53d556c1413d627964790aed8c161fb118 100644 (file)
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+* Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
@@ -125,9 +125,9 @@ void GjkPairDetector::GetClosestPoints(const ClosestPointInput& input,Result& ou
                        //valid normal
                        if (lenSqr > SIMD_EPSILON)
                        {
-                               float rlen = 1.f / sqrtf(lenSqr );
+                               float rlen = 1.f / SimdSqrt(lenSqr );
                                normalInB *= rlen; //normalize
-                               SimdScalar s = sqrtf(squaredDistance);
+                               SimdScalar s = SimdSqrt(squaredDistance);
                                ASSERT(s > SimdScalar(0.0));
                                pointOnA -= m_cachedSeparatingAxis * (marginA / s);
                                pointOnB += m_cachedSeparatingAxis * (marginB / s);
@@ -158,7 +158,7 @@ void GjkPairDetector::GetClosestPoints(const ClosestPointInput& input,Result& ou
                                        float lenSqr = normalInB.length2();
                                        if (lenSqr > SIMD_EPSILON)
                                        {
-                                               normalInB /= sqrtf(lenSqr);
+                                               normalInB /= SimdSqrt(lenSqr);
                                                distance = -(pointOnA-pointOnB).length();
                                        } else
                                        {
index 70ff3c6568bf8031502b95730ecee3e6b6c7d104..f6311a9eba5d4e94dd3f52a40b715c6ac9f756bc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index d923d6f51f16dd7b2e18d35efe5dc5a544b57bc0..92b817adee8087d60119d4fe6cfd78c40c6b8624 100644 (file)
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+* Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
index 2d91a08602b78bbb9b6efc206b04056ad41471ac..dc7f3a8fa4dfcc7d76a74a176daa2d13be4276fe 100644 (file)
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+* Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
index 62ca91f768c9dc6f061825475b0eb3aa012652bc..2517aa22c2353a691159a82aa389fecdf6999bfd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 92dac112a36c66ee9ffa0d8dd4d639bb1468bd1f..8fc97bb3b409ef9d7e521b698d0ac5f8b5e935e3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 9fe58385904e38f10708ab0ce90d02e87b6d5dd6..05a5ae5895f31617d5ba171a381d6ef7f1a2450f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 80fea51988702f5ccd5f1b0aeaba206c0b13ebb7..c665b7b0ced222c2c72680613472629ad38a1c83 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 38c958304bc0b4d1ce6c386277b51d4d804af250..088f0b01fe885df4a4812261940cbd621b043f60 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 3c529b62e1438e78057c71f9dd69991760059be8..0c7b63bfe93aaedaa1d48e22eb5e07b721afa623 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 3328b1061e5ea4117628763f58eb6fcab17f4d01..7fd3478ba1ea6bac743ff020720d24f878f17a61 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index d3f40077963ba60af2151637317f80f5b4dc8983..f7e41e61824fcb9f1ca21158d5bfa51fbd21618c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index ad4c96c0ab445f48bc239258785c40e45eacaf16..366bdd02bb8735da746e5a66f52e4511265d8cb2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index c29df9f3807344cb001917a2464ca9c45440cde3..3f356c703d78b022080e60827f0834c5ecf9c84a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index c136e459a3213ee69c73c60313f515a97ee209b0..8b16687f19222ee8fe848b9758822cb721a0b660 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 4fd6000c7aa593da6eed933ab878df6b15a3a89a..632dc911770a5406f806d89a28bde3af0bd0d991 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 85a64df5b40620a24f064b057bffc9eca429d36f..371941193e49e2162077ad0af7b8ceddcdf404b5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 2fd712221ac82ee0676a422d944104787d9d35cf..a5b13b1eccdb6b270a6e8c97b05b993de716519e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index a06497e315c8fab068469702fa4dad96caa16bbb..8462469164e878521b52fc7816b447bf1ef24e59 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 84015929586f0e72470e321f2423745345edfc63..b4fd8ae26b97d79b51a2330d5b2b127256d67aaa 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 8345e23517f2e470ff1b3727f1c562417734d3fd..01c2dbf031d8ec02295623bb71c5fe05342d7492 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 1a1e4b3f15028117b6a1afb4ca345a266653cb7e..77e4964490509c0a7a2f8586db7ef5bbdeb8556c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index e262b1a599b14800c19d778ecbf09e8b03bfbb05..e7b7dfeb20c928a242eb530c2244ec317898acf0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index c1f3a521f2de74db4deeb173e31d601729014bc7..ebf58c344851075db13236decc2edfc2934da6c8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index b834eb9a417f3428b323116f7cbfb8d347405e01..aa0beab778603a1e4d6638dc238fc321a885c1cc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 101f24867c5ab9bc9d774cf484e687f72d85bff8..f5a5a9b7052647e6f2318f4ddba4b79e84278697 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 0c46b8fc47dc5766260c64b7865a42bb1cbac13d..9471c1faf7c35473d412267586ff56477cd29cb3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 85e13cde21ef49a8d47d4721add097e87c1de6fd..82b4dcc83dbc5074b5b5868879f2f81764ebb04e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 43b5dc32281f9d419d5fab7ab3429bebddb0db3d..d8dcbab4db2d852312bf39a670fd3ad22b2e6dc2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index a85683b041ac070f3c465bc7711fbad7669806b6..36a29dff7df7e84e5005500ae77454b6ca52b8ed 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 28773d5faa8709ba24fef039e368e52a68041cb3..4111de679d03fcbc0c49e27f4861e81070fe4c7a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 710f9589c18835a0024904da330e31b51c98ccfe..a422b56ae7170fe9a32eac04981ce07687a17394 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index aecf137a9047ff29d739eb391458384a3b1d7326..ea9240c2bcfd26a7d93d02b17b41fe0f982ede80 100644 (file)
@@ -519,7 +519,7 @@ static void SOR_LCP (int m, int nb, dRealMutablePtr J, int *jb, RigidBody * cons
                        // the constraints are ordered so that all lambda[] values needed have
                        // already been computed.
                        if (findex[index] >= 0) {
-                               hi[index] = fabsf (hicopy[index] * lambda[findex[index]]);
+                               hi[index] = SimdFabs (hicopy[index] * lambda[findex[index]]);
                                lo[index] = -hi[index];
                        }
 
index 07ad818888f46f4acb1d82df81b937418abc93b9..b60b4eefe3468c88f3dd60c774b6de294d124808 100644 (file)
@@ -34,13 +34,13 @@ void ContactJoint::GetInfo1(Info1 *info)
 
 #define M_SQRT12 SimdScalar(0.7071067811865475244008443621048490)
 
-#define dRecipSqrt(x) ((float)(1.0f/sqrtf(float(x))))          /* reciprocal square root */
+#define dRecipSqrt(x) ((float)(1.0f/SimdSqrt(float(x))))               /* reciprocal square root */
 
 
 
 void dPlaneSpace1 (const dVector3 n, dVector3 p, dVector3 q)
 {
-  if (fabsf(n[2]) > M_SQRT12) {
+  if (SimdFabs(n[2]) > M_SQRT12) {
     // choose p in y-z plane
     SimdScalar a = n[1]*n[1] + n[2]*n[2];
     SimdScalar k = dRecipSqrt (a);
index 8c82397988d002c8d90d47aaae725fdabdac019e..a6c0fda96f3676a089ef224a61ac0b2e471fa4b6 100644 (file)
@@ -22,7 +22,6 @@ RigidBody::RigidBody( const MassProps& massProps,SimdScalar linearDamping,SimdSc
        m_angularVelocity(0.f,0.f,0.f),
        m_restitution(restitution),
        m_friction(friction)
-
 {
        m_debugBodyId = uniqueId++;
        
index 8405bef82e4e58a3983f851d47c7e5f87c7e3655..5f70c4fcb555ba5a2730f103e39a8d4d934ba268 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
index 5b00f3bb25bf5efa66eaadfd14e91fe47f8dbc64..27172f93139a7f1420af3c515bd306c7919d8b16 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
index bbcf987b462c85f591220622d27efb8e460e6b25..abd09d9e7cccbc5e81df19284a19ea80fda0dba4 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
index c3ab24390f7944cb6c67a70027aa75ef8acf2ab1..24dd70d12948c96c30a9e21b168b9955b5fbefe2 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
index 22c77d827a2e3d43da5c4c02684697fdd2dc0170..0be74f702279116faed59ff3d9d66321960815ac 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
index 2f0b33a612932821bfcfe6cb757393f0e5866831..be2e421a77ee3c74f99f995d65048d7c7c55d996 100644 (file)
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
index 850e2f37deae2b99a919d76de398da0f28117157..55670a4e6fa4d36d4c15fd193f3cf4d41a3ca9eb 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
@@ -130,12 +130,12 @@ class SimdMatrix3x3 {
                void setEulerYPR(const SimdScalar& yaw, const SimdScalar& pitch, const SimdScalar& roll) 
                {
 
-                       SimdScalar cy(cosf(yaw)); 
-                       SimdScalar  sy(sinf(yaw)); 
-                       SimdScalar  cp(cosf(pitch)); 
-                       SimdScalar  sp(sinf(pitch)); 
-                       SimdScalar  cr(cosf(roll));
-                       SimdScalar  sr(sinf(roll));
+                       SimdScalar cy(SimdCos(yaw)); 
+                       SimdScalar  sy(SimdSin(yaw)); 
+                       SimdScalar  cp(SimdCos(pitch)); 
+                       SimdScalar  sp(SimdSin(pitch)); 
+                       SimdScalar  cr(SimdCos(roll));
+                       SimdScalar  sr(SimdSin(roll));
                        SimdScalar  cc = cy * cr; 
                        SimdScalar  cs = cy * sr; 
                        SimdScalar  sc = sy * cr; 
@@ -155,12 +155,12 @@ class SimdMatrix3x3 {
         **/
        
        void setEulerZYX(SimdScalar eulerX,SimdScalar eulerY,SimdScalar eulerZ) {
-               SimdScalar ci ( cosf(eulerX)); 
-               SimdScalar cj ( cosf(eulerY)); 
-               SimdScalar ch ( cosf(eulerZ)); 
-               SimdScalar si ( sinf(eulerX)); 
-               SimdScalar sj ( sinf(eulerY)); 
-               SimdScalar sh ( sinf(eulerZ)); 
+               SimdScalar ci ( SimdCos(eulerX)); 
+               SimdScalar cj ( SimdCos(eulerY)); 
+               SimdScalar ch ( SimdCos(eulerZ)); 
+               SimdScalar si ( SimdSin(eulerX)); 
+               SimdScalar sj ( SimdSin(eulerY)); 
+               SimdScalar sh ( SimdSin(eulerZ)); 
                SimdScalar cc = ci * ch; 
                SimdScalar cs = ci * sh; 
                SimdScalar sc = si * ch; 
@@ -200,7 +200,7 @@ class SimdMatrix3x3 {
                        
                        if (trace > SimdScalar(0.0)) 
                        {
-                               SimdScalar s = sqrtf(trace + SimdScalar(1.0));
+                               SimdScalar s = SimdSqrt(trace + SimdScalar(1.0));
                                q[3] = s * SimdScalar(0.5);
                                s = SimdScalar(0.5) / s;
                                
@@ -216,7 +216,7 @@ class SimdMatrix3x3 {
                                int j = (i + 1) % 3;  
                                int k = (i + 2) % 3;
                                
-                               SimdScalar s = sqrtf(m_el[i][i] - m_el[j][j] - m_el[k][k] + SimdScalar(1.0));
+                               SimdScalar s = SimdSqrt(m_el[i][i] - m_el[j][j] - m_el[k][k] + SimdScalar(1.0));
                                q[i] = s * SimdScalar(0.5);
                                s = SimdScalar(0.5) / s;
                                
@@ -230,23 +230,23 @@ class SimdMatrix3x3 {
                
                void getEuler(SimdScalar& yaw, SimdScalar& pitch, SimdScalar& roll) const
                {
-                       pitch = SimdScalar(asinf(-m_el[2][0]));
+                       pitch = SimdScalar(SimdAsin(-m_el[2][0]));
                        if (pitch < SIMD_2_PI)
                        {
                                if (pitch > SIMD_2_PI)
                                {
-                                       yaw = SimdScalar(atan2f(m_el[1][0], m_el[0][0]));
-                                       roll = SimdScalar(atan2f(m_el[2][1], m_el[2][2]));
+                                       yaw = SimdScalar(SimdAtan2(m_el[1][0], m_el[0][0]));
+                                       roll = SimdScalar(SimdAtan2(m_el[2][1], m_el[2][2]));
                                }
                                else 
                                {
-                                       yaw = SimdScalar(-atan2f(-m_el[0][1], m_el[0][2]));
+                                       yaw = SimdScalar(-SimdAtan2(-m_el[0][1], m_el[0][2]));
                                        roll = SimdScalar(0.0);
                                }
                        }
                        else
                        {
-                               yaw = SimdScalar(atan2f(-m_el[0][1], m_el[0][2]));
+                               yaw = SimdScalar(SimdAtan2(-m_el[0][1], m_el[0][2]));
                                roll = SimdScalar(0.0);
                        }
                }
@@ -309,9 +309,9 @@ class SimdMatrix3x3 {
        SimdMatrix3x3::absolute() const
        {
                return SimdMatrix3x3(
-                       fabsf(m_el[0][0]), fabsf(m_el[0][1]), fabsf(m_el[0][2]),
-                       fabsf(m_el[1][0]), fabsf(m_el[1][1]), fabsf(m_el[1][2]),
-                       fabsf(m_el[2][0]), fabsf(m_el[2][1]), fabsf(m_el[2][2]));
+                       SimdFabs(m_el[0][0]), SimdFabs(m_el[0][1]), SimdFabs(m_el[0][2]),
+                       SimdFabs(m_el[1][0]), SimdFabs(m_el[1][1]), SimdFabs(m_el[1][2]),
+                       SimdFabs(m_el[2][0]), SimdFabs(m_el[2][1]), SimdFabs(m_el[2][2]));
        }
 
        SIMD_FORCE_INLINE SimdMatrix3x3 
index 999cfb0c919980674d63d9c34a3f08406428f12d..1ec8ebc3f2c4d3fe36cf79627a04bad4f69c194d 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
index 711ac5c76ccc89162e40c6d04feeddc6c16c80fe..0e09b2e120d62a3b74a137b3893b54fd0f05c8ba 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
index 67bcf9076934ec0ebc154053c06ce439e16992af..492981fb303262b88d3791db367ee872d1c57241 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
index 6a8513ae0d9058c3080b1e99de9fb99077da6c96..86da693bab8d79ec17a7f71c2eb106c38676cd85 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
@@ -56,9 +56,9 @@ public:
        {
                SimdScalar d = axis.length();
                assert(d != SimdScalar(0.0));
-               SimdScalar s = sinf(angle * SimdScalar(0.5)) / d;
+               SimdScalar s = SimdSin(angle * SimdScalar(0.5)) / d;
                setValue(axis.x() * s, axis.y() * s, axis.z() * s, 
-                       cosf(angle * SimdScalar(0.5)));
+                       SimdCos(angle * SimdScalar(0.5)));
        }
 
        void setEuler(const SimdScalar& yaw, const SimdScalar& pitch, const SimdScalar& roll)
@@ -66,12 +66,12 @@ public:
                SimdScalar halfYaw = SimdScalar(yaw) * SimdScalar(0.5);  
                SimdScalar halfPitch = SimdScalar(pitch) * SimdScalar(0.5);  
                SimdScalar halfRoll = SimdScalar(roll) * SimdScalar(0.5);  
-               SimdScalar cosYaw = cosf(halfYaw);
-               SimdScalar sinYaw = sinf(halfYaw);
-               SimdScalar cosPitch = cosf(halfPitch);
-               SimdScalar sinPitch = sinf(halfPitch);
-               SimdScalar cosRoll = cosf(halfRoll);
-               SimdScalar sinRoll = sinf(halfRoll);
+               SimdScalar cosYaw = SimdCos(halfYaw);
+               SimdScalar sinYaw = SimdSin(halfYaw);
+               SimdScalar cosPitch = SimdCos(halfPitch);
+               SimdScalar sinPitch = SimdSin(halfPitch);
+               SimdScalar cosRoll = SimdCos(halfRoll);
+               SimdScalar sinRoll = SimdSin(halfRoll);
                setValue(cosRoll * sinPitch * cosYaw + sinRoll * cosPitch * sinYaw,
                        cosRoll * cosPitch * sinYaw - sinRoll * sinPitch * cosYaw,
                        sinRoll * cosPitch * cosYaw - cosRoll * sinPitch * sinYaw,
@@ -118,7 +118,7 @@ public:
 
        SimdScalar length() const
        {
-               return sqrtf(length2());
+               return SimdSqrt(length2());
        }
 
        SimdQuaternion& normalize() 
@@ -155,14 +155,14 @@ public:
 
        SimdScalar angle(const SimdQuaternion& q) const 
        {
-               SimdScalar s = sqrtf(length2() * q.length2());
+               SimdScalar s = SimdSqrt(length2() * q.length2());
                assert(s != SimdScalar(0.0));
-               return acosf(dot(q) / s);
+               return SimdAcos(dot(q) / s);
        }
 
        SimdScalar getAngle() const 
        {
-               SimdScalar s = 2.f * acosf(m_unusedW);
+               SimdScalar s = 2.f * SimdAcos(m_unusedW);
                return s;
        }
 
@@ -208,9 +208,9 @@ public:
                SimdScalar theta = angle(q);
                if (theta != SimdScalar(0.0))
                {
-                       SimdScalar d = SimdScalar(1.0) / sinf(theta);
-                       SimdScalar s0 = sinf((SimdScalar(1.0) - t) * theta);
-                       SimdScalar s1 = sinf(t * theta);   
+                       SimdScalar d = SimdScalar(1.0) / SimdSin(theta);
+                       SimdScalar s0 = SimdSin((SimdScalar(1.0) - t) * theta);
+                       SimdScalar s1 = SimdSin(t * theta);   
                        return SimdQuaternion((m_x * s0 + q.x() * s1) * d,
                                (m_y * s0 + q.y() * s1) * d,
                                (m_z * s0 + q.z() * s1) * d,
index b1e1905666a3a9d282ecc4a0166f799573970a49..4ea359db1b65366da8c7a003b56d9b10f5e53915 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
@@ -59,6 +59,8 @@ DEALINGS IN THE SOFTWARE.
 #endif
 
 
+
+
 #define ASSERT assert
 
 #endif
@@ -67,6 +69,40 @@ DEALINGS IN THE SOFTWARE.
 
 typedef float    SimdScalar;
 
+#if defined (__sun) || defined (__sun__) || defined (__sparc) || defined (__APPLE__)
+//use double float precision operation on those platforms for Blender
+               
+SIMD_FORCE_INLINE SimdScalar SimdSqrt(SimdScalar x) { return sqrt(x); }
+SIMD_FORCE_INLINE SimdScalar SimdFabs(SimdScalar x) { return fabs(x); }
+SIMD_FORCE_INLINE SimdScalar SimdCos(SimdScalar x) { return cos(x); }
+SIMD_FORCE_INLINE SimdScalar SimdSin(SimdScalar x) { return sin(x); }
+SIMD_FORCE_INLINE SimdScalar SimdTan(SimdScalar x) { return tan(x); }
+SIMD_FORCE_INLINE SimdScalar SimdAcos(SimdScalar x) { return acos(x); }
+SIMD_FORCE_INLINE SimdScalar SimdAsin(SimdScalar x) { return asin(x); }
+SIMD_FORCE_INLINE SimdScalar SimdAtan(SimdScalar x) { return atan(x); }
+SIMD_FORCE_INLINE SimdScalar SimdAtan2(SimdScalar x, SimdScalar y) { return atan2(x, y); }
+SIMD_FORCE_INLINE SimdScalar SimdExp(SimdScalar x) { return exp(x); }
+SIMD_FORCE_INLINE SimdScalar SimdLog(SimdScalar x) { return log(x); }
+SIMD_FORCE_INLINE SimdScalar SimdPow(SimdScalar x,SimdScalar y) { return pow(x,y); }
+
+#else
+               
+SIMD_FORCE_INLINE SimdScalar SimdSqrt(SimdScalar x) { return sqrtf(x); }
+SIMD_FORCE_INLINE SimdScalar SimdFabs(SimdScalar x) { return fabsf(x); }
+SIMD_FORCE_INLINE SimdScalar SimdCos(SimdScalar x) { return cosf(x); }
+SIMD_FORCE_INLINE SimdScalar SimdSin(SimdScalar x) { return sinf(x); }
+SIMD_FORCE_INLINE SimdScalar SimdTan(SimdScalar x) { return tanf(x); }
+SIMD_FORCE_INLINE SimdScalar SimdAcos(SimdScalar x) { return acosf(x); }
+SIMD_FORCE_INLINE SimdScalar SimdAsin(SimdScalar x) { return asinf(x); }
+SIMD_FORCE_INLINE SimdScalar SimdAtan(SimdScalar x) { return atanf(x); }
+SIMD_FORCE_INLINE SimdScalar SimdAtan2(SimdScalar x, SimdScalar y) { return atan2f(x, y); }
+SIMD_FORCE_INLINE SimdScalar SimdExp(SimdScalar x) { return expf(x); }
+SIMD_FORCE_INLINE SimdScalar SimdLog(SimdScalar x) { return logf(x); }
+SIMD_FORCE_INLINE SimdScalar SimdPow(SimdScalar x,SimdScalar y) { return powf(x,y); }
+       
+#endif
+
+
 const SimdScalar  SIMD_2_PI         = 6.283185307179586232f;
 const SimdScalar  SIMD_PI           = SIMD_2_PI * SimdScalar(0.5f);
 const SimdScalar  SIMD_HALF_PI          = SIMD_2_PI * SimdScalar(0.25f);
@@ -75,7 +111,7 @@ const SimdScalar  SIMD_DEGS_PER_RAD = SimdScalar(360.0f) / SIMD_2_PI;
 const SimdScalar  SIMD_EPSILON      = FLT_EPSILON;
 const SimdScalar  SIMD_INFINITY     = FLT_MAX;
 
-SIMD_FORCE_INLINE bool      SimdFuzzyZero(SimdScalar x) { return fabsf(x) < SIMD_EPSILON; }
+SIMD_FORCE_INLINE bool      SimdFuzzyZero(SimdScalar x) { return SimdFabs(x) < SIMD_EPSILON; }
 
 SIMD_FORCE_INLINE bool SimdEqual(SimdScalar a, SimdScalar eps) {
        return (((a) <= eps) && !((a) < -eps));
@@ -83,19 +119,13 @@ SIMD_FORCE_INLINE bool     SimdEqual(SimdScalar a, SimdScalar eps) {
 SIMD_FORCE_INLINE bool SimdGreaterEqual (SimdScalar a, SimdScalar eps) {
        return (!((a) <= eps));
 }
-
-SIMD_FORCE_INLINE SimdScalar SimdCos(SimdScalar x) { return cosf(x); }
-SIMD_FORCE_INLINE SimdScalar SimdSin(SimdScalar x) { return sinf(x); }
-SIMD_FORCE_INLINE SimdScalar SimdTan(SimdScalar x) { return tanf(x); }
 SIMD_FORCE_INLINE int       SimdSign(SimdScalar x) {
     return x < 0.0f ? -1 : x > 0.0f ? 1 : 0;
 }
-SIMD_FORCE_INLINE SimdScalar SimdAcos(SimdScalar x) { return acosf(x); }
-SIMD_FORCE_INLINE SimdScalar SimdAsin(SimdScalar x) { return asinf(x); }
-SIMD_FORCE_INLINE SimdScalar SimdAtan(SimdScalar x) { return atanf(x); }
-SIMD_FORCE_INLINE SimdScalar SimdAtan2(SimdScalar x, SimdScalar y) { return atan2f(x, y); }
 
 SIMD_FORCE_INLINE SimdScalar SimdRadians(SimdScalar x) { return x * SIMD_RADS_PER_DEG; }
 SIMD_FORCE_INLINE SimdScalar SimdDegrees(SimdScalar x) { return x * SIMD_DEGS_PER_RAD; }
 
-#endif
+
+
+#endif //SIMD___SCALAR_H
index cbf9a95a41fbf76e0025eb1a9039a2b4f06d9704..625703699b50019c5a07891bd435e73711cef8b4 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
index f3ee76de77bc45c6b41f189d67913c0d5138f31a..179e2f51daa24cdefd14c98dad271a46da79f695 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com
+ * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
  *
  * Permission to use, copy, modify, distribute and sell this software
  * and its documentation for any purpose is hereby granted without fee,
@@ -47,9 +47,9 @@ public:
                else
                {
                        // sync(fAngle) = sin(c*fAngle)/t
-                       axis   = angvel*( sinf(0.5f*fAngle*timeStep)/fAngle );
+                       axis   = angvel*( SimdSin(0.5f*fAngle*timeStep)/fAngle );
                }
-               SimdQuaternion dorn (axis.x(),axis.y(),axis.z(),cosf( fAngle*timeStep*0.5f ));
+               SimdQuaternion dorn (axis.x(),axis.y(),axis.z(),SimdCos( fAngle*timeStep*0.5f ));
                SimdQuaternion orn0 = curTrans.getRotation();
 
                SimdQuaternion predictedOrn = dorn * orn0;
@@ -81,7 +81,7 @@ public:
                if (len < 0.001f)
                        axis = SimdVector3(1.f,0.f,0.f);
                else
-                       axis /= sqrtf(len);
+                       axis /= SimdSqrt(len);
 
                
                angVel = axis * angle / timeStep;
index b7077d828b9275ab9b22af775f89ebe8b461f020..3a9f40ac764aade6479e39d289ef010801bc60f6 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright (c) 2005 Gino van den Bergen / Erwin Coumans <www.erwincoumans.com>
+Copyright (c) 2005 Gino van den Bergen / Erwin Coumans http://continuousphysics.com
 
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
@@ -92,7 +92,7 @@ public:
 
        SIMD_FORCE_INLINE SimdScalar length() const
        {
-               return sqrtf(length2());
+               return SimdSqrt(length2());
        }
 
        SIMD_FORCE_INLINE SimdScalar distance2(const SimdVector3& v) const;
@@ -108,17 +108,17 @@ public:
 
        SIMD_FORCE_INLINE SimdScalar angle(const SimdVector3& v) const 
        {
-               SimdScalar s = sqrtf(length2() * v.length2());
+               SimdScalar s = SimdSqrt(length2() * v.length2());
                assert(s != SimdScalar(0.0));
-               return acosf(dot(v) / s);
+               return SimdAcos(dot(v) / s);
        }
 
        SIMD_FORCE_INLINE SimdVector3 absolute() const 
        {
                return SimdVector3(
-                       fabsf(m_x), 
-                       fabsf(m_y), 
-                       fabsf(m_z));
+                       SimdFabs(m_x), 
+                       SimdFabs(m_y), 
+                       SimdFabs(m_z));
        }
 
        SIMD_FORCE_INLINE SimdVector3 cross(const SimdVector3& v) const
@@ -310,10 +310,10 @@ public:
        SIMD_FORCE_INLINE SimdVector4 absolute4() const 
        {
                return SimdVector4(
-                       fabsf(m_x), 
-                       fabsf(m_y), 
-                       fabsf(m_z),
-                       fabsf(m_unusedW));
+                       SimdFabs(m_x), 
+                       SimdFabs(m_y), 
+                       SimdFabs(m_z),
+                       SimdFabs(m_unusedW));
        }