From a00adaf9fbd77fcf277ef356237fe45b266cba68 Mon Sep 17 00:00:00 2001
From: David Anderson <dvander@alliedmods.net>
Date: Wed, 3 Sep 2014 22:05:10 -0700
Subject: [PATCH] Sync with AMTL one last time.

---
 core/sm_stringutil.cpp   |  1 +
 public/amtl/am-float.h   | 50 ++++++++++++++++++++++++++++++++++++++++
 public/amtl/am-utility.h | 12 ----------
 3 files changed, 51 insertions(+), 12 deletions(-)
 create mode 100644 public/amtl/am-float.h

diff --git a/core/sm_stringutil.cpp b/core/sm_stringutil.cpp
index 86ada852..6babf358 100644
--- a/core/sm_stringutil.cpp
+++ b/core/sm_stringutil.cpp
@@ -39,6 +39,7 @@
 #include "logic_bridge.h"
 #include "sourcemod.h"
 #include <am-utility.h>
+#include <am-float.h>
 
 #define LADJUST			0x00000004		/* left adjustment */
 #define ZEROPAD			0x00000080		/* zero (as opposed to blank) pad */
diff --git a/public/amtl/am-float.h b/public/amtl/am-float.h
new file mode 100644
index 00000000..e53f25a0
--- /dev/null
+++ b/public/amtl/am-float.h
@@ -0,0 +1,50 @@
+// vim: set sts=8 ts=2 sw=2 tw=99 et:
+//
+// Copyright (C) 2013, David Anderson and AlliedModders LLC
+// All rights reserved.
+// 
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+// 
+//  * Redistributions of source code must retain the above copyright notice, this
+//    list of conditions and the following disclaimer.
+//  * Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation
+//    and/or other materials provided with the distribution.
+//  * Neither the name of AlliedModders LLC nor the names of its contributors
+//    may be used to endorse or promote products derived from this software
+//    without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef _include_amtl_float_h_
+#define _include_amtl_float_h_
+
+#include <math.h>
+#include <float.h>
+
+namespace ke {
+
+static inline bool
+IsNaN(double v)
+{
+#ifdef _MSC_VER
+  return !!_isnan(v);
+#else
+  return isnan(v);
+#endif
+}
+
+} // namespace ke
+
+#endif // _include_amtl_float_h_
diff --git a/public/amtl/am-utility.h b/public/amtl/am-utility.h
index 579d932c..1e31e067 100644
--- a/public/amtl/am-utility.h
+++ b/public/amtl/am-utility.h
@@ -34,8 +34,6 @@
 #include <stddef.h>
 #include <stdlib.h>
 #include <stdint.h>
-#include <math.h>
-#include <float.h>
 #if defined(_MSC_VER)
 # include <intrin.h>
 #endif
@@ -220,16 +218,6 @@ FindRightmostBit(size_t number)
 #endif
 }
 
-static inline bool
-IsNaN(double v)
-{
-#ifdef _MSC_VER
-  return !!_isnan(v);
-#else
-  return isnan(v);
-#endif
-}
-
 static inline bool
 IsPowerOfTwo(size_t value)
 {