21 #ifndef GNASH_NUMERIC_H    22 #define GNASH_NUMERIC_H    37 #include <type_traits>    44 static const double PI = 3.14159265358979323846;
    49 #if defined(HAVE_FINITE) && !defined(HAVE_ISFINITE)    64     static_assert(std::is_floating_point<T>::value,
    65         "isNaN() is only meaningful for floating point types.");
    80     return std::max<T>(min, std::min<T>(
i, max));
    87     return (b - a) * f + 
a;
    93     return static_cast<int>(f + 0.5f);
   102 template<
size_t Factor>
   113     const double factor = 
static_cast<double>(Factor);
   122     static const double upperUnsignedLimit =
   123                 std::numeric_limits<std::uint32_t>::max() + 1.0;
   124     static const double upperSignedLimit =
   125                 std::numeric_limits<std::int32_t>::max() / factor;
   126     static const double lowerSignedLimit =
   127                 std::numeric_limits<std::int32_t>::min() / factor;
   129     if (a >= lowerSignedLimit && a <= upperSignedLimit) {
   135         static_cast<std::uint32_t
>(
   136                 std::fmod(a * factor, upperUnsignedLimit))
   138         -static_cast<std::uint32_t>(
   139                 std::fmod(-a * factor, upperUnsignedLimit));
   146     return truncateWithFactor<20>(
a);
 std::int32_t truncateWithFactor(double a)
Definition: GnashNumeric.h:104
 
Definition: GnashKey.h:147
 
Definition: GnashKey.h:150
 
bool isNaN(const T &num)
Definition: GnashNumeric.h:62
 
double infinite_to_zero(double x)
Definition: GnashNumeric.h:70
 
double twipsToPixels(int i)
Definition: GnashNumeric.h:97
 
Anonymous namespace for callbacks, local functions, event handlers etc. 
Definition: dbus_ext.cpp:40
 
std::int32_t pixelsToTwips(double a)
Definition: GnashNumeric.h:144
 
Definition: GnashKey.h:152
 
T lerp(T a, T b, T f)
Definition: GnashNumeric.h:85
 
bool isFinite(double d)
Definition: GnashNumeric.h:47
 
std::int32_t x
Definition: BitmapData_as.cpp:434
 
Definition: GnashKey.h:148
 
T clamp(T i, T min, T max)
Definition: GnashNumeric.h:77
 
int frnd(float f)
Definition: GnashNumeric.h:91
 
Definition: GnashKey.h:132
 
Definition: GnashKey.h:155