refs #552 Fixed broken SubdivisionConverter2, and added a test to verify.

This commit is contained in:
Mathew Sutcliffe
2015-12-12 04:34:49 +00:00
parent 5d82ed4233
commit 1f36f07bed
2 changed files with 11 additions and 6 deletions

View File

@@ -146,12 +146,11 @@ namespace BlackMisc
{
using BlackMisc::Math::CMathUtils;
double part1 = CMathUtils::trunc(factor / FactorPolicy::factor());
double remaining = std::fmod(factor, FactorPolicy::factor());
double part2 = CMathUtils::trunc(remaining / SubdivPolicy::subfactor());
remaining = std::fmod(remaining, SubdivPolicy::subfactor());
double part3 = CMathUtils::trunc(remaining / SubdivPolicy::subfactor());
remaining = std::fmod(remaining, SubdivPolicy::subfactor());
return part1 + part2 / SubdivPolicy::fraction() + (part3 + remaining) / (SubdivPolicy::fraction() * SubdivPolicy::fraction());
double remaining = std::fmod(factor / FactorPolicy::factor(), 1.0);
double part2 = CMathUtils::trunc(remaining * SubdivPolicy::subfactor());
remaining = std::fmod(remaining * SubdivPolicy::subfactor(), 1.0);
double part3 = remaining * SubdivPolicy::subfactor();
return part1 + part2 / SubdivPolicy::fraction() + part3 / (SubdivPolicy::fraction() * SubdivPolicy::fraction());
}
};