FLTK 1.3.9
Loading...
Searching...
No Matches
math.h
1//
2// "$Id$"
3//
4// Math header file for the Fast Light Tool Kit (FLTK).
5//
6// Copyright 1998-2010 by Bill Spitzak and others.
7//
8// This library is free software. Distribution and use rights are outlined in
9// the file "COPYING" which should have been included with this file. If this
10// file is missing or damaged, see the license at:
11//
12// http://www.fltk.org/COPYING.php
13//
14// Please report all bugs and problems on the following page:
15//
16// http://www.fltk.org/str.php
17//
18
19// Xcode on OS X includes files by recursing down into directories.
20// This code catches the cycle and directly includes the required file.
21#ifdef fl_math_h_cyclic_include
22# include "/usr/include/math.h"
23#endif
24
25#ifndef fl_math_h
26# define fl_math_h
27
28# define fl_math_h_cyclic_include
29# include <math.h>
30# undef fl_math_h_cyclic_include
31
32# ifdef __EMX__
33# include <float.h>
34# endif
35
36
37# ifndef M_PI
38# define M_PI 3.14159265358979323846
39# define M_PI_2 1.57079632679489661923
40# define M_PI_4 0.78539816339744830962
41# define M_1_PI 0.31830988618379067154
42# define M_2_PI 0.63661977236758134308
43# endif // !M_PI
44
45# ifndef M_SQRT2
46# define M_SQRT2 1.41421356237309504880
47# define M_SQRT1_2 0.70710678118654752440
48# endif // !M_SQRT2
49
50# if (defined(WIN32) || defined(CRAY)) && !defined(__MINGW32__) && !defined(__MWERKS__)
51
52inline double rint(double v) {return floor(v+.5);}
53inline double copysign(double a, double b) {return b<0 ? -a : a;}
54
55# endif // (WIN32 || CRAY) && !__MINGW32__ && !__MWERKS__
56
57#endif // !fl_math_h
58
59
60//
61// End of "$Id$".
62//