Files
core_math/tjp/core/math/Real.h
Timothy Prepscius 0807c0286a flatten 20260225
2026-02-25 12:36:47 -05:00

84 lines
1.3 KiB
C++
Executable File

//
// Math.hpp
// amoeba
//
// Created by Timothy Prepscius on 12/30/16.
// Copyright © 2016 Timothy Prepscius. All rights reserved.
//
#pragma once
#include <tjp/core/types/Types.h>
#include <tjp/core/types/Types+IO.h>
namespace tjp {
namespace core {
namespace math {
typedef r64 Real;
template<typename Real>
Real abs(const Real &);
template<typename Real>
Real sqrt(const Real &);
template<typename Real>
Real sin(const Real &);
template<typename Real>
Real cos(const Real &);
template<typename Real>
Real ceil(const Real &);
template<typename Real>
Real floor(const Real &);
template<typename Real>
Real acos(const Real &);
template<typename Real>
Real atan(const Real &);
template<typename Real>
Real atan2(const Real &, const Real &);
template<typename Real>
Real hypot(const Real &, const Real &);
template<typename Real>
Real pow2(const Real &);
template<typename Real>
Real length(const Real &);
template<typename Real>
Real min_value(const Real &lhs, const Real &rhs);
template<typename Real>
Real max_value(const Real &lhs, const Real &rhs);
template<typename T>
math::Real toReal (const T &v)
{
return (math::Real)v;
}
template<>
u128 abs(const u128 &v);
template<>
s128 abs(const s128 &v);
template<>
u128 sqrt(const u128 &v);
template<>
s128 sqrt(const s128 &v);
} // namespace
} // namespace
} // namespace