Skip to content
This repository was archived by the owner on Sep 27, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions include/tmath.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#pragma once
#ifndef _TMATH_HPP
#define _TMATH_HPP

namespace TMath {
typedef long long LONG;
Expand Down Expand Up @@ -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
Expand All @@ -51,3 +52,5 @@ namespace TMath {

LONG fac(LONG n);
}

#endif
29 changes: 19 additions & 10 deletions src/tmath.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand All @@ -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);
}
Expand All @@ -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)
{
Expand Down