summaryrefslogtreecommitdiffstats
path: root/floatprops.h
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2013-02-06 14:48:59 -0500
committerErik Schnetter <schnetter@gmail.com>2013-02-06 14:48:59 -0500
commit04d9154123932fab5424e05111d1a80346eda0d3 (patch)
treea62a636c1e97530619bf3b6fe86af313df486707 /floatprops.h
parent928cc7022be80c96d551119bbf814ae93499fd52 (diff)
downloadvecmathlib-04d9154123932fab5424e05111d1a80346eda0d3.zip
vecmathlib-04d9154123932fab5424e05111d1a80346eda0d3.tar.gz
Find out good clang options for using a modern STL
Remove clang-specific work-arounds. Switch to building with clang by default.
Diffstat (limited to 'floatprops.h')
-rw-r--r--floatprops.h65
1 files changed, 1 insertions, 64 deletions
diff --git a/floatprops.h b/floatprops.h
index 86ffb64..e13a203 100644
--- a/floatprops.h
+++ b/floatprops.h
@@ -4,9 +4,7 @@
#define FLOATPROPS_H
#include <cmath>
-#ifndef __clang__
-# include <cstdint>
-#endif
+#include <cstdint>
#include <cstring>
#include <iostream>
#include <limits>
@@ -15,67 +13,6 @@
-#ifdef __clang__
-
-typedef int int32_t;
-typedef unsigned int uint32_t;
-// typedef long int64_t;
-// typedef unsigned long uint64_t;
-
-namespace std {
- float acosh(float a) { return ::acosh(a); }
- float asinh(float a) { return ::asinh(a); }
- float atanh(float a) { return ::atanh(a); }
- float copysign(float a, float b) { return ::copysign(a, b); }
- float exp2(float a) { return ::exp2(a); }
- float expm1(float a) { return ::expm1(a); }
- float fdim(float a, float b) { return ::fdim(a, b); }
- float fma(float a, float b, float c) { return ::fma(a, b, c); }
- float fmax(float a, float b) { return ::fmax(a, b); }
- float fmin(float a, float b) { return ::fmin(a, b); }
- int ilogb(float a) { return ::ilogb(a); }
- bool isfinite(float a) { return true; /*return (isfinite)(a);*/ }
- bool isinf(float a) { return false; /*return (isinf)(a);*/ }
- bool isnan(float a) { return false; /*return (isnan)(a);*/ }
- bool isnormal(float a) { return true; /*return (isnormal)(a);*/ }
- float log1p(float a) { return ::log1p(a); }
- float log2(float a) { return ::log2(a); }
- long lrint(float a) { return ::lrint(a); }
- float remainder(float a, float b) { return ::remainder(a, b); }
- float round(float a) { return ::round(a); }
- float scalbn(float a, int i) { return ::scalbnf(a, i); }
- bool signbit(float a) { return a<0.0f; /*return (signbit)(a);*/ }
-
- double acosh(double a) { return ::acosh(a); }
- double asinh(double a) { return ::asinh(a); }
- double atanh(double a) { return ::atanh(a); }
- double copysign(double a, double b) { return ::copysign(a, b); }
- double exp2(double a) { return ::exp2(a); }
- double expm1(double a) { return ::expm1(a); }
- double fdim(double a, double b) { return ::fdim(a, b); }
- double fma(double a, double b, double c) { return ::fma(a, b, c); }
- double fmax(double a, double b) { return ::fmax(a, b); }
- double fmin(double a, double b) { return ::fmin(a, b); }
- int ilogb(double a) { return ::ilogb(a); }
- bool isfinite(double a) { return true; /*return (isfinite)(a);*/ }
- bool isinf(double a) { return false; /*return (isinf)(a);*/ }
- bool isnan(double a) { return false; /*return (isnan)(a);*/ }
- bool isnormal(double a) { return true; /*return (isnormal)(a);*/ }
- double log1p(double a) { return ::log1p(a); }
- double log2(double a) { return ::log2(a); }
- long lrint(double a) { return ::lrint(a); }
- double remainder(double a, double b) { return ::remainder(a, b); }
- double round(double a) { return ::round(a); }
- double scalbn(double a, int i) { return ::scalbn(a, i); }
- bool signbit(double a) { return a<0.0; /*return (signbit)(a);*/ }
-
- string to_string(int i) { ostringstream buf; buf<<i; return buf.str(); }
-}
-
-#endif
-
-
-
namespace vecmathlib {
// A structure describing various properties of a floating point
OpenPOWER on IntegriCloud