Merging r46096 through r46110 from trunk into soc-2011-tomato
[blender-staging.git] / source / blender / blenpluginapi / floatpatch.h
1 /** \file blender/blenpluginapi/floatpatch.h
2  *  \ingroup blpluginapi
3  */
4 /* Copyright (c) 1999, Not a Number / NeoGeo b.v. 
5  * 
6  * All rights reserved.
7  * 
8  * Contact:      info@blender.org   
9  * Information:  http://www.blender.org
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  *    notice, this list of conditions and the following disclaimer.
16  * 2. Redistributions in binary form must reproduce the above copyright
17  *    notice, this list of conditions and the following disclaimer in the
18  *    documentation and/or other materials provided with the distribution.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
21  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
24  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30  * SUCH DAMAGE.
31  */
32
33 #ifndef __FLOATPATCH_H__
34 #define __FLOATPATCH_H__
35
36 /* floating point libs differ at systems... with these defines it comilies at all! */
37
38 #ifdef MIPS1
39 #else
40
41 #define fabsf(a)        fabs((double)(a))
42
43 #define facos           acosf
44 #define acosf(a)        acos((double)(a))
45
46 #define fasin           asinf
47 #define asinf(a)        asin((double)(a))
48
49 #define fatan           atanf
50 #define atanf(a)        atan((double)(a))
51
52 #define fatan2                  atan2f
53 #define atan2f(a, b)    atan2((double)(a), (double)(b))
54
55 #define fmodf(a, b)             fmod((double)(a), (double)(b))
56
57 #define fcos            cosf
58 #define cosf(a)         cos((double)(a))
59
60 #define fsin            sinf
61 #define sinf(a)         sin((double)(a))
62
63 #define ftan            tanf
64 #define tanf(a)         tan((double)(a))
65
66 #define fexp            expf
67 #define expf(a)         exp((double)(a))
68
69 #define flog            logf
70 #define logf(a)         log((double)(a))
71
72 #define flog10          log10f
73 #define log10f(a)       log10((double)(a))
74
75 #define fsqrt           sqrtf
76 #define sqrtf(a)        sqrt((double)(a))
77
78 #define fceil           ceilf
79 #define ceilf(a)        ceil((double)(a))
80
81 #define ffloor          floorf
82 #define floorf(a)       floor((double)(a))
83
84 #define fpow            powf
85 #define powf(a, b)      pow((double)(a), (double)(b))
86
87 /* #endif  */
88
89 #endif
90
91 #endif /* __FLOATPATCH_H__ */
92