Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
H
hpp-fcl
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Guilhem Saurel
hpp-fcl
Commits
3e394ac8
Commit
3e394ac8
authored
9 years ago
by
Steven Peters
Browse files
Options
Downloads
Patches
Plain Diff
Fix warning about abs() with float's
abs() only works for integers, replace with std::abs() for floaing point
parent
d166d216
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
test/test_fcl_math.cpp
+162
-162
162 additions, 162 deletions
test/test_fcl_math.cpp
test/test_fcl_simple.cpp
+1
-1
1 addition, 1 deletion
test/test_fcl_simple.cpp
with
163 additions
and
163 deletions
test/test_fcl_math.cpp
+
162
−
162
View file @
3e394ac8
...
...
@@ -94,11 +94,11 @@ BOOST_AUTO_TEST_CASE(vec_test_basic_vec32)
v1
=
Vec3f32
(
1.0
f
,
2.0
f
,
3.0
f
);
v2
=
Vec3f32
(
3.0
f
,
4.0
f
,
5.0
f
);
BOOST_CHECK
((
v1
.
cross
(
v2
)).
equal
(
Vec3f32
(
-
2.0
f
,
4.0
f
,
-
2.0
f
)));
BOOST_CHECK
(
abs
(
v1
.
dot
(
v2
)
-
26
)
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
dot
(
v2
)
-
26
)
<
1e-5
);
v1
=
Vec3f32
(
3.0
f
,
4.0
f
,
5.0
f
);
BOOST_CHECK
(
abs
(
v1
.
sqrLength
()
-
50.0
)
<
1e-5
);
BOOST_CHECK
(
abs
(
v1
.
length
()
-
sqrt
(
50.0
))
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
sqrLength
()
-
50.0
)
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
length
()
-
sqrt
(
50.0
))
<
1e-5
);
BOOST_CHECK
(
normalize
(
v1
).
equal
(
v1
/
v1
.
length
()));
}
...
...
@@ -149,11 +149,11 @@ BOOST_AUTO_TEST_CASE(vec_test_basic_vec64)
v1
=
Vec3f64
(
1.0
,
2.0
,
3.0
);
v2
=
Vec3f64
(
3.0
,
4.0
,
5.0
);
BOOST_CHECK
((
v1
.
cross
(
v2
)).
equal
(
Vec3f64
(
-
2.0
,
4.0
,
-
2.0
)));
BOOST_CHECK
(
abs
(
v1
.
dot
(
v2
)
-
26
)
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
dot
(
v2
)
-
26
)
<
1e-5
);
v1
=
Vec3f64
(
3.0
,
4.0
,
5.0
);
BOOST_CHECK
(
abs
(
v1
.
sqrLength
()
-
50.0
)
<
1e-5
);
BOOST_CHECK
(
abs
(
v1
.
length
()
-
sqrt
(
50.0
))
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
sqrLength
()
-
50.0
)
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
length
()
-
sqrt
(
50.0
))
<
1e-5
);
BOOST_CHECK
(
normalize
(
v1
).
equal
(
v1
/
v1
.
length
()));
...
...
@@ -212,11 +212,11 @@ BOOST_AUTO_TEST_CASE(vec_test_sse_vec32)
v1
=
Vec3f32
(
1.0
f
,
2.0
f
,
3.0
f
);
v2
=
Vec3f32
(
3.0
f
,
4.0
f
,
5.0
f
);
BOOST_CHECK
((
v1
.
cross
(
v2
)).
equal
(
Vec3f32
(
-
2.0
f
,
4.0
f
,
-
2.0
f
)));
BOOST_CHECK
(
abs
(
v1
.
dot
(
v2
)
-
26
)
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
dot
(
v2
)
-
26
)
<
1e-5
);
v1
=
Vec3f32
(
3.0
f
,
4.0
f
,
5.0
f
);
BOOST_CHECK
(
abs
(
v1
.
sqrLength
()
-
50
)
<
1e-5
);
BOOST_CHECK
(
abs
(
v1
.
length
()
-
sqrt
(
50
))
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
sqrLength
()
-
50
)
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
length
()
-
sqrt
(
50
))
<
1e-5
);
BOOST_CHECK
(
normalize
(
v1
).
equal
(
v1
/
v1
.
length
()));
}
...
...
@@ -267,11 +267,11 @@ BOOST_AUTO_TEST_CASE(vec_test_sse_vec64)
v1
=
Vec3f64
(
1.0
,
2.0
,
3.0
);
v2
=
Vec3f64
(
3.0
,
4.0
,
5.0
);
BOOST_CHECK
((
v1
.
cross
(
v2
)).
equal
(
Vec3f64
(
-
2.0
,
4.0
,
-
2.0
)));
BOOST_CHECK
(
abs
(
v1
.
dot
(
v2
)
-
26
)
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
dot
(
v2
)
-
26
)
<
1e-5
);
v1
=
Vec3f64
(
3.0
,
4.0
,
5.0
);
BOOST_CHECK
(
abs
(
v1
.
sqrLength
()
-
50
)
<
1e-5
);
BOOST_CHECK
(
abs
(
v1
.
length
()
-
sqrt
(
50
))
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
sqrLength
()
-
50
)
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
length
()
-
sqrt
(
50
))
<
1e-5
);
BOOST_CHECK
(
normalize
(
v1
).
equal
(
v1
/
v1
.
length
()));
...
...
@@ -337,143 +337,143 @@ BOOST_AUTO_TEST_CASE(vec_test_sse_vec32_consistent)
Vec3f32SSE
v3
(
3.4
f
,
4.2
f
,
10.5
f
),
v4
(
3.1
f
,
0.1
f
,
-
50.4
f
);
Vec3f32
v12
=
v1
+
v2
;
Vec3f32SSE
v34
=
v3
+
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
-
v2
;
v34
=
v3
-
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
*
v2
;
v34
=
v3
*
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
/
v2
;
v34
=
v3
/
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
float
t
=
1234.433
f
;
v12
=
v1
+
t
;
v34
=
v3
+
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
-
t
;
v34
=
v3
-
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
*
t
;
v34
=
v3
*
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
/
t
;
v34
=
v3
/
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
+=
v2
;
v34
=
v3
;
v34
+=
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
-=
v2
;
v34
=
v3
;
v34
-=
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
*=
v2
;
v34
=
v3
;
v34
*=
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
/=
v2
;
v34
=
v3
;
v34
/=
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
+=
t
;
v34
=
v3
;
v34
+=
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
-=
t
;
v34
=
v3
;
v34
-=
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
*=
t
;
v34
=
v3
;
v34
*=
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
/=
t
;
v34
=
v3
;
v34
/=
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
-
v1
;
v34
=
-
v3
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
.
cross
(
v2
);
v34
=
v3
.
cross
(
v4
);
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v1
.
dot
(
v2
)
-
v3
.
dot
(
v4
))
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
dot
(
v2
)
-
v3
.
dot
(
v4
))
<
1e-5
);
v12
=
min
(
v1
,
v2
);
v34
=
min
(
v3
,
v4
);
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
max
(
v1
,
v2
);
v34
=
max
(
v3
,
v4
);
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
abs
(
v2
);
v34
=
abs
(
v4
);
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
Vec3f32
delta1
(
1e-9
f
,
1e-9
f
,
1e-9
f
);
Vec3f32SSE
delta2
(
1e-9
f
,
1e-9
f
,
1e-9
f
);
BOOST_CHECK
((
v1
+
delta1
).
equal
(
v1
));
BOOST_CHECK
((
v3
+
delta2
).
equal
(
v3
));
BOOST_CHECK
(
abs
(
v1
.
length
()
-
v3
.
length
())
<
1e-5
);
BOOST_CHECK
(
abs
(
v1
.
sqrLength
()
-
v3
.
sqrLength
())
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
length
()
-
v3
.
length
())
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
sqrLength
()
-
v3
.
sqrLength
())
<
1e-5
);
v12
=
v1
;
v12
.
negate
();
v34
=
v3
;
v34
.
negate
();
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
.
normalize
();
v34
=
v3
;
v34
.
normalize
();
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
normalize
(
v1
);
v34
=
normalize
(
v3
);
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
}
BOOST_AUTO_TEST_CASE
(
vec_test_sse_vec64_consistent
)
...
...
@@ -485,143 +485,143 @@ BOOST_AUTO_TEST_CASE(vec_test_sse_vec64_consistent)
Vec3f64SSE
v3
(
3.4
,
4.2
,
10.5
),
v4
(
3.1
,
0.1
,
-
50.4
);
Vec3f64
v12
=
v1
+
v2
;
Vec3f64SSE
v34
=
v3
+
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
-
v2
;
v34
=
v3
-
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
*
v2
;
v34
=
v3
*
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
/
v2
;
v34
=
v3
/
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
double
t
=
1234.433
;
v12
=
v1
+
t
;
v34
=
v3
+
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
-
t
;
v34
=
v3
-
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
*
t
;
v34
=
v3
*
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
/
t
;
v34
=
v3
/
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
+=
v2
;
v34
=
v3
;
v34
+=
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
-=
v2
;
v34
=
v3
;
v34
-=
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
*=
v2
;
v34
=
v3
;
v34
*=
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
/=
v2
;
v34
=
v3
;
v34
/=
v4
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
+=
t
;
v34
=
v3
;
v34
+=
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
-=
t
;
v34
=
v3
;
v34
-=
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
*=
t
;
v34
=
v3
;
v34
*=
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
/=
t
;
v34
=
v3
;
v34
/=
t
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
-
v1
;
v34
=
-
v3
;
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
.
cross
(
v2
);
v34
=
v3
.
cross
(
v4
);
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v1
.
dot
(
v2
)
-
v3
.
dot
(
v4
))
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
dot
(
v2
)
-
v3
.
dot
(
v4
))
<
1e-5
);
v12
=
min
(
v1
,
v2
);
v34
=
min
(
v3
,
v4
);
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
max
(
v1
,
v2
);
v34
=
max
(
v3
,
v4
);
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
abs
(
v2
);
v34
=
abs
(
v4
);
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
Vec3f64
delta1
(
1e-15
,
1e-15
,
1e-15
);
Vec3f64SSE
delta2
(
1e-15
,
1e-15
,
1e-15
);
BOOST_CHECK
((
v1
+
delta1
).
equal
(
v1
));
BOOST_CHECK
((
v3
+
delta2
).
equal
(
v3
));
BOOST_CHECK
(
abs
(
v1
.
length
()
-
v3
.
length
())
<
1e-5
);
BOOST_CHECK
(
abs
(
v1
.
sqrLength
()
-
v3
.
sqrLength
())
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
length
()
-
v3
.
length
())
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v1
.
sqrLength
()
-
v3
.
sqrLength
())
<
1e-5
);
v12
=
v1
;
v12
.
negate
();
v34
=
v3
;
v34
.
negate
();
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
v1
;
v12
.
normalize
();
v34
=
v3
;
v34
.
normalize
();
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
v12
=
normalize
(
v1
);
v34
=
normalize
(
v3
);
BOOST_CHECK
(
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
0
]
-
v34
[
0
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
1
]
-
v34
[
1
])
<
1e-5
);
BOOST_CHECK
(
std
::
abs
(
v12
[
2
]
-
v34
[
2
])
<
1e-5
);
}
#endif
...
...
This diff is collapsed.
Click to expand it.
test/test_fcl_simple.cpp
+
1
−
1
View file @
3e394ac8
...
...
@@ -19,7 +19,7 @@ static FCL_REAL epsilon = 1e-6;
static
bool
approx
(
FCL_REAL
x
,
FCL_REAL
y
)
{
return
abs
(
x
-
y
)
<
epsilon
;
return
std
::
abs
(
x
-
y
)
<
epsilon
;
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment