From a02afd1452bcb863bebd25c712067e51f8db81d1 Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Sun, 2 Mar 2003 23:42:57 +0000
Subject: [PATCH] added wx/math.h (patch 686009)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/changes.txt           |  1 +
 docs/latex/wx/function.tex | 24 ++++++++++++++++++++
 include/wx/math.h          | 46 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 71 insertions(+)
 create mode 100644 include/wx/math.h

diff --git a/docs/changes.txt b/docs/changes.txt
index 37a9230254..131303b5aa 100644
--- a/docs/changes.txt
+++ b/docs/changes.txt
@@ -22,6 +22,7 @@ All:
 - wxFile, wxFFile, wxTextFile and wxTempFile now all use UTF-8 encoding
   by default in Unicode mode
 - bug in wxDateTime with timezones on systems with tm_gmtoff in struct tm fixed
+- added wx/math.h (John Labenski)
 
 wxBase:
 
diff --git a/docs/latex/wx/function.tex b/docs/latex/wx/function.tex
index 4581acf487..f682056732 100644
--- a/docs/latex/wx/function.tex
+++ b/docs/latex/wx/function.tex
@@ -84,6 +84,7 @@ the corresponding topic.
 \helpref{wxFindWindowAtPoint}{wxfindwindowatpoint}\\
 \helpref{wxFindWindowByLabel}{wxfindwindowbylabel}\\
 \helpref{wxFindWindowByName}{wxfindwindowbyname}\\
+\helpref{wxFinite}{wxfinite}\\
 \helpref{wxGetActiveWindow}{wxgetactivewindow}\\
 \helpref{wxGetApp}{wxgetapp}\\
 \helpref{wxGetClipboardData}{wxgetclipboarddata}\\
@@ -144,6 +145,7 @@ the corresponding topic.
 \helpref{wxIsBusy}{wxisbusy}\\
 \helpref{wxIsClipboardFormatAvailable}{wxisclipboardformatavailable}\\
 \helpref{wxIsEmpty}{wxisempty}\\
+\helpref{wxIsNaN}{wxisnan}\\
 \helpref{wxIsWild}{wxiswild}\\
 \helpref{wxKill}{wxkill}\\
 \helpref{wxLoadUserResource}{wxloaduserresource}\\
@@ -1893,6 +1895,28 @@ checkbox which is shown in the tips dialog.}
 
 <wx/tipdlg.h>
 
+
+\section{Math functions}
+
+\wxheading{Include files}
+
+<wx/math.h>
+
+\membersection{wxFinite}\label{wxfinite}
+
+\func{int}{wxFinite}{\param{double }{x}}
+
+Returns a non-zero value if {\it x} is neither infinite or NaN (not a number), 
+returns 0 otherwise.
+
+\membersection{wxIsNaN}\label{wxisnan}
+
+\func{bool}{wxIsNaN}{\param{double }{x}}
+
+Returns a non-zero value if {\it x} is NaN (not a number), returns 0
+otherwise.
+
+
 \section{GDI functions}\label{gdifunctions}
 
 The following are relevant to the GDI (Graphics Device Interface).
diff --git a/include/wx/math.h b/include/wx/math.h
new file mode 100644
index 0000000000..c83b67642a
--- /dev/null
+++ b/include/wx/math.h
@@ -0,0 +1,46 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        math.h
+// Purpose:     Declarations/definitions of common math functions
+// Author:      John Labenski and others
+// Modified by:
+// Created:     02/02/03
+// RCS-ID:      
+// Copyright:   (c)
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MATH_H_
+#define _WX_MATH_H_
+
+#if defined(__GNUG__) && !defined(__APPLE__)
+#pragma interface "math.h"
+#endif
+
+#include "wx/defs.h"
+
+// unknown __VISAGECC__, __SYMANTECCC__
+
+#if defined(__VISUALC__) || defined(__BORLANDC__) || defined(__WATCOMC__)
+    #include <float.h>
+    #define wxFinite(x) _finite(x)
+#elif defined(__GNUG__)||defined(__GNUWIN32__)||defined(__DJGPP__)|| \
+      defined(__SGI_CC__)||defined(__SUNCC__)||defined(__XLC__)|| \
+	  defined(__HPUX__)||defined(__MWERKS__)
+    #define wxFinite(x) finite(x)
+#else
+    #define wxFinite(x) ((x) == (x))
+#endif
+
+
+#if defined(__VISUALC__)||defined(__BORLAND__)
+    #define wxIsNaN(x) _isnan(x)
+#elif defined(__GNUG__)||defined(__GNUWIN32__)||defined(__DJGPP__)|| \
+      defined(__SGI_CC__)||defined(__SUNCC__)||defined(__XLC__)|| \
+	  defined(__HPUX__)||defined(__MWERKS__)
+	#define wxIsNaN(x) isnan(x)
+#else
+    #define wxIsNaN(x) ((x) != (x))
+#endif
+
+
+#endif // _WX_MATH_H_
-- 
2.50.0

