mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
add sprout/math/comparison.hpp
This commit is contained in:
parent
d51bd06eda
commit
1c65d59971
20 changed files with 379 additions and 109 deletions
|
@ -51,14 +51,11 @@ namespace sprout {
|
|||
unit_type const& v
|
||||
) const
|
||||
{
|
||||
using sprout::sqrt;
|
||||
using sprout::sin;
|
||||
using sprout::cos;
|
||||
return transform_1(
|
||||
c,
|
||||
u * cos(rotate_) - v * sin(rotate_),
|
||||
u * sin(rotate_) + v * cos(rotate_),
|
||||
sqrt(
|
||||
u * sprout::cos(rotate_) - v * sprout::sin(rotate_),
|
||||
u * sprout::sin(rotate_) + v * sprout::cos(rotate_),
|
||||
sprout::sqrt(
|
||||
sprout::darkroom::coords::x(c) * sprout::darkroom::coords::x(c)
|
||||
+ sprout::darkroom::coords::z(c) * sprout::darkroom::coords::z(c)
|
||||
)
|
||||
|
|
|
@ -63,8 +63,7 @@ namespace sprout {
|
|||
template<typename Vector>
|
||||
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<Vector>::type
|
||||
length(Vector const& vec) {
|
||||
using sprout::sqrt;
|
||||
return sqrt(sprout::darkroom::coords::length_sq(vec));
|
||||
return sprout::sqrt(sprout::darkroom::coords::length_sq(vec));
|
||||
}
|
||||
//
|
||||
// add
|
||||
|
|
|
@ -121,8 +121,10 @@ namespace sprout {
|
|||
}
|
||||
template<typename Unit>
|
||||
SPROUT_CONSTEXPR result_type calc_bilinear(Unit const& x, Unit const& y) const {
|
||||
using sprout::floor;
|
||||
return calc_bilinear_1(x, floor(x - 0.5), floor(x + 0.5), y, floor(y - 0.5), floor(y + 0.5));
|
||||
return calc_bilinear_1(
|
||||
x, sprout::floor(x - 0.5), sprout::floor(x + 0.5),
|
||||
y, sprout::floor(y - 0.5), sprout::floor(y + 0.5)
|
||||
);
|
||||
}
|
||||
template<typename Unit>
|
||||
SPROUT_CONSTEXPR result_type calc(Unit const& x, Unit const& y) const {
|
||||
|
|
|
@ -143,8 +143,6 @@ namespace sprout {
|
|||
Vec const& normal
|
||||
) const
|
||||
{
|
||||
using sprout::atan2;
|
||||
using sprout::sqrt;
|
||||
return typename intersection<Ray>::type(
|
||||
sprout::tuples::get<zw::does_intersect>(zwo),
|
||||
sprout::tuples::get<zw::distance>(zwo),
|
||||
|
@ -152,15 +150,15 @@ namespace sprout {
|
|||
sprout::tuples::get<dr::normal>(drei),
|
||||
sprout::darkroom::materials::calc_material( // ! Spherical
|
||||
mat_,
|
||||
atan2(
|
||||
sprout::atan2(
|
||||
sprout::darkroom::coords::z(normal),
|
||||
sprout::darkroom::coords::x(normal)
|
||||
)
|
||||
/ sprout::math::pi<unit_type>()
|
||||
,
|
||||
atan2(
|
||||
sprout::atan2(
|
||||
sprout::darkroom::coords::y(normal),
|
||||
sqrt(
|
||||
sprout::sqrt(
|
||||
sprout::darkroom::coords::x(normal) * sprout::darkroom::coords::x(normal)
|
||||
+ sprout::darkroom::coords::z(normal) * sprout::darkroom::coords::z(normal)
|
||||
)
|
||||
|
@ -206,14 +204,13 @@ namespace sprout {
|
|||
unit_type const& det_sq
|
||||
) const
|
||||
{
|
||||
using sprout::sqrt;
|
||||
return intersect_4(
|
||||
ray,
|
||||
zweitens(
|
||||
ray,
|
||||
det_sq > 0,
|
||||
b,
|
||||
sqrt(det_sq)
|
||||
sprout::sqrt(det_sq)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue