From cc0762c5fdc29b65aac3e2f4d07f07949098255e Mon Sep 17 00:00:00 2001 From: Mooxmirror Date: Sun, 27 Dec 2015 17:40:42 +0100 Subject: [PATCH] Fix truncation error and force naming conventions --- include/tmath.hpp | 9 ++++++--- src/tmath.cpp | 29 +++++++++++++++++++---------- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/include/tmath.hpp b/include/tmath.hpp index 6d65e18..0ac43a2 100644 --- a/include/tmath.hpp +++ b/include/tmath.hpp @@ -1,4 +1,5 @@ -#pragma once +#ifndef _TMATH_HPP +#define _TMATH_HPP namespace TMath { typedef long long LONG; @@ -27,11 +28,11 @@ namespace TMath { DOUBLE coth(DOUBLE x); // hyperbolic cotangent DOUBLE sec(DOUBLE x); // secant - DOUBLE arcsec(DOUBLE x); // arcsecant + DOUBLE asec(DOUBLE x); // arcsecant DOUBLE sech(DOUBLE x); // hyperbolic secant DOUBLE cosec(DOUBLE x); // cosecant - DOUBLE arccsc(DOUBLE x); // arccosecant + DOUBLE acsc(DOUBLE x); // arccosecant DOUBLE csch(DOUBLE x); // hyperbolic cosecant DOUBLE rad(DOUBLE deg); // degrees to radians @@ -51,3 +52,5 @@ namespace TMath { LONG fac(LONG n); } + +#endif diff --git a/src/tmath.cpp b/src/tmath.cpp index 02995ca..5e7bf27 100644 --- a/src/tmath.cpp +++ b/src/tmath.cpp @@ -78,7 +78,7 @@ TMath::DOUBLE TMath::sec(DOUBLE x) { return 1 / cos(x); } -TMath::DOUBLE TMath::arcsec(DOUBLE x) +TMath::DOUBLE TMath::asec(DOUBLE x) { return acos(1 / x); } @@ -91,7 +91,7 @@ TMath::DOUBLE TMath::cosec(DOUBLE x) { return 1 / sin(x); } -TMath::DOUBLE TMath::arccsc(DOUBLE x) +TMath::DOUBLE TMath::acsc(DOUBLE x) { return asin(1 / x); } @@ -102,17 +102,26 @@ TMath::DOUBLE TMath::csch(DOUBLE x) /* ================================= FLOOR, CEIL AND MODULO ======================================== */ TMath::LONG TMath::floor(DOUBLE x) { - if (x < 0) - return LONG(x) - 1; - else - return LONG(x); + LONG truncated = LONG(x); + if (x < 0) { + if (truncated > x) { + return truncated - 1; + } else { + return truncated; + } + } + else { + return truncated; + } } TMath::LONG TMath::ceil(DOUBLE x) { - if (x < 0) - return LONG(x); - else - return LONG(x) + 1; + LONG truncated = LONG(x); + if (x < 0) { + return truncated; + } else { + return truncated + 1; + } } TMath::DOUBLE TMath::mod(DOUBLE x, DOUBLE y) {