diff options
Diffstat (limited to 'thirdparty/bullet/LinearMath/btReducedVector.cpp')
-rw-r--r-- | thirdparty/bullet/LinearMath/btReducedVector.cpp | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/thirdparty/bullet/LinearMath/btReducedVector.cpp b/thirdparty/bullet/LinearMath/btReducedVector.cpp deleted file mode 100644 index 1539584e7e..0000000000 --- a/thirdparty/bullet/LinearMath/btReducedVector.cpp +++ /dev/null @@ -1,170 +0,0 @@ -// -// btReducedVector.cpp -// LinearMath -// -// Created by Xuchen Han on 4/4/20. -// -#include <stdio.h> -#include "btReducedVector.h" -#include <cmath> - -// returns the projection of this onto other -btReducedVector btReducedVector::proj(const btReducedVector& other) const -{ - btReducedVector ret(m_sz); - btScalar other_length2 = other.length2(); - if (other_length2 < SIMD_EPSILON) - { - return ret; - } - return other*(this->dot(other))/other_length2; -} - -void btReducedVector::normalize() -{ - if (this->length2() < SIMD_EPSILON) - { - m_indices.clear(); - m_vecs.clear(); - return; - } - *this /= std::sqrt(this->length2()); -} - -bool btReducedVector::testAdd() const -{ - int sz = 5; - btAlignedObjectArray<int> id1; - id1.push_back(1); - id1.push_back(3); - btAlignedObjectArray<btVector3> v1; - v1.push_back(btVector3(1,0,1)); - v1.push_back(btVector3(3,1,5)); - btAlignedObjectArray<int> id2; - id2.push_back(2); - id2.push_back(3); - id2.push_back(5); - btAlignedObjectArray<btVector3> v2; - v2.push_back(btVector3(2,3,1)); - v2.push_back(btVector3(3,4,9)); - v2.push_back(btVector3(0,4,0)); - btAlignedObjectArray<int> id3; - id3.push_back(1); - id3.push_back(2); - id3.push_back(3); - id3.push_back(5); - btAlignedObjectArray<btVector3> v3; - v3.push_back(btVector3(1,0,1)); - v3.push_back(btVector3(2,3,1)); - v3.push_back(btVector3(6,5,14)); - v3.push_back(btVector3(0,4,0)); - btReducedVector rv1(sz, id1, v1); - btReducedVector rv2(sz, id2, v2); - btReducedVector ans(sz, id3, v3); - bool ret = ((ans == rv1+rv2) && (ans == rv2+rv1)); - if (!ret) - printf("btReducedVector testAdd failed\n"); - return ret; -} - -bool btReducedVector::testMinus() const -{ - int sz = 5; - btAlignedObjectArray<int> id1; - id1.push_back(1); - id1.push_back(3); - btAlignedObjectArray<btVector3> v1; - v1.push_back(btVector3(1,0,1)); - v1.push_back(btVector3(3,1,5)); - btAlignedObjectArray<int> id2; - id2.push_back(2); - id2.push_back(3); - id2.push_back(5); - btAlignedObjectArray<btVector3> v2; - v2.push_back(btVector3(2,3,1)); - v2.push_back(btVector3(3,4,9)); - v2.push_back(btVector3(0,4,0)); - btAlignedObjectArray<int> id3; - id3.push_back(1); - id3.push_back(2); - id3.push_back(3); - id3.push_back(5); - btAlignedObjectArray<btVector3> v3; - v3.push_back(btVector3(-1,-0,-1)); - v3.push_back(btVector3(2,3,1)); - v3.push_back(btVector3(0,3,4)); - v3.push_back(btVector3(0,4,0)); - btReducedVector rv1(sz, id1, v1); - btReducedVector rv2(sz, id2, v2); - btReducedVector ans(sz, id3, v3); - bool ret = (ans == rv2-rv1); - if (!ret) - printf("btReducedVector testMinus failed\n"); - return ret; -} - -bool btReducedVector::testDot() const -{ - int sz = 5; - btAlignedObjectArray<int> id1; - id1.push_back(1); - id1.push_back(3); - btAlignedObjectArray<btVector3> v1; - v1.push_back(btVector3(1,0,1)); - v1.push_back(btVector3(3,1,5)); - btAlignedObjectArray<int> id2; - id2.push_back(2); - id2.push_back(3); - id2.push_back(5); - btAlignedObjectArray<btVector3> v2; - v2.push_back(btVector3(2,3,1)); - v2.push_back(btVector3(3,4,9)); - v2.push_back(btVector3(0,4,0)); - btReducedVector rv1(sz, id1, v1); - btReducedVector rv2(sz, id2, v2); - btScalar ans = 58; - bool ret = (ans == rv2.dot(rv1) && ans == rv1.dot(rv2)); - ans = 14+16+9+16+81; - ret &= (ans==rv2.dot(rv2)); - - if (!ret) - printf("btReducedVector testDot failed\n"); - return ret; -} - -bool btReducedVector::testMultiply() const -{ - int sz = 5; - btAlignedObjectArray<int> id1; - id1.push_back(1); - id1.push_back(3); - btAlignedObjectArray<btVector3> v1; - v1.push_back(btVector3(1,0,1)); - v1.push_back(btVector3(3,1,5)); - btScalar s = 2; - btReducedVector rv1(sz, id1, v1); - btAlignedObjectArray<int> id2; - id2.push_back(1); - id2.push_back(3); - btAlignedObjectArray<btVector3> v2; - v2.push_back(btVector3(2,0,2)); - v2.push_back(btVector3(6,2,10)); - btReducedVector ans(sz, id2, v2); - bool ret = (ans == rv1*s); - if (!ret) - printf("btReducedVector testMultiply failed\n"); - return ret; -} - -void btReducedVector::test() const -{ - bool ans = testAdd() && testMinus() && testDot() && testMultiply(); - if (ans) - { - printf("All tests passed\n"); - } - else - { - printf("Tests failed\n"); - } -} |