1
0
Fork 0
mirror of https://github.com/bolero-MURAKAMI/Sprout synced 2025-08-03 12:49:50 +00:00

add math fmod

fix math cos
This commit is contained in:
bolero-MURAKAMI 2012-12-02 17:06:37 +09:00
parent d57b6e2b18
commit 18b479e3ac
15 changed files with 123 additions and 89 deletions

View file

@ -4,6 +4,7 @@
#include <cstdint>
#include <sprout/config.hpp>
#include <sprout/tuple/tuple.hpp>
#include <sprout/math/fmod.hpp>
namespace sprout {
namespace darkroom {
@ -16,11 +17,6 @@ namespace sprout {
public:
typedef Element result_type;
typedef Scale unit_type;
private:
static SPROUT_CONSTEXPR unit_type
fmod(unit_type const& n, unit_type const& d) {
return n - std::intmax_t(n / d) * d;
}
private:
result_type elem1_;
result_type elem2_;
@ -42,14 +38,14 @@ namespace sprout {
operator()(Unit const& u, Unit const& v) const {
return calc_1(
(u < 0
? scale_ + fmod(u, scale_)
: fmod(u, scale_)
? scale_ + sprout::fmod(u, scale_)
: sprout::fmod(u, scale_)
)
- scale_ / 2
,
(v < 0
? scale_ + fmod(v, scale_)
: fmod(v, scale_)
? scale_ + sprout::fmod(v, scale_)
: sprout::fmod(v, scale_)
)
- scale_ / 2
);