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