Update Spanish translation
[gnumeric.git] / src / numbers.h
blob97b94cce5509115c9dd42572677a769be5697e0d
1 #ifndef _GNM_NUMBERS_H_
2 # define _GNM_NUMBERS_H_
4 #include <gnumeric-features.h>
5 #include <goffice/goffice.h>
7 G_BEGIN_DECLS
9 /*
10 * WARNING: Any preprocessor conditionals in here must also be placed
11 * in gnumeric-features.h.in
14 #ifdef GNM_SUPPLIES_LGAMMA
15 GO_VAR_DECL int signgam;
16 double lgamma (double x);
17 #endif
19 #ifdef GNM_SUPPLIES_LGAMMA_R
20 double lgamma_r (double x, int *signp);
21 #endif
23 #ifdef GNM_WITH_LONG_DOUBLE
25 #ifdef GNM_SUPPLIES_ERFL
26 long double erfl (long double x);
27 #endif
29 #ifdef GNM_SUPPLIES_ERFCL
30 long double erfl (long double x);
31 #endif
33 typedef long double gnm_float;
35 #define gnm_abs fabsl
36 #define gnm_acos acosl
37 #define gnm_acosh acoshl
38 #define gnm_add_epsilon go_add_epsilonl
39 #define gnm_asin asinl
40 #define gnm_asinh asinhl
41 #define gnm_atan atanl
42 #define gnm_atan2 atan2l
43 #define gnm_atanpi go_atanpil
44 #define gnm_atan2pi go_atan2pil
45 #define gnm_atanh atanhl
46 #define gnm_ceil ceill
47 #define gnm_cosh coshl
48 #define gnm_cospi go_cospil
49 #define gnm_cotpi go_cotpil
50 #define gnm_erf erfl
51 #define gnm_erfc erfcl
52 #define gnm_exp expl
53 #define gnm_expm1 expm1l
54 #define gnm_fake_ceil go_fake_ceill
55 #define gnm_fake_floor go_fake_floorl
56 #define gnm_fake_round go_fake_roundl
57 #define gnm_fake_trunc go_fake_truncl
58 #define gnm_finite finitel
59 #define gnm_floor floorl
60 #define gnm_fmod fmodl
61 #define gnm_format_value go_format_valuel
62 #define gnm_format_value_gstring go_format_value_gstringl
63 #define gnm_frexp frexpl
64 #define gnm_hypot hypotl
65 #define gnm_isnan isnanl
66 #define gnm_jn jnl
67 #define gnm_ldexp ldexpl
68 #define gnm_lgamma lgammal
69 #define gnm_lgamma_r lgammal_r
70 #define gnm_log logl
71 #define gnm_log10 log10l
72 #define gnm_log1p log1pl
73 #define gnm_log2 log2l
74 #define gnm_modf modfl
75 #define gnm_nan go_nanl
76 #define gnm_ninf go_ninfl
77 #define gnm_pinf go_pinfl
78 #define gnm_pow powl
79 #define gnm_pow10 go_pow10l
80 #define gnm_pow2 go_pow2l
81 #define gnm_render_general go_render_generall
82 #define gnm_sinh sinhl
83 #define gnm_sinpi go_sinpil
84 #define gnm_sqrt sqrtl
85 #define gnm_strto go_strtold
86 #define gnm_sub_epsilon go_sub_epsilonl
87 #define gnm_tanh tanhl
88 #define gnm_tanpi go_tanpil
89 #ifndef GNM_REDUCES_TRIG_RANGE
90 #define gnm_sin sinl
91 #define gnm_cos cosl
92 #define gnm_tan tanl
93 #endif
94 #define gnm_yn ynl
96 #define GNM_FORMAT_e "Le"
97 #define GNM_FORMAT_E "LE"
98 #define GNM_FORMAT_f "Lf"
99 #define GNM_FORMAT_g "Lg"
100 #define GNM_FORMAT_G "LG"
101 #define GNM_SCANF_g "Lg"
102 #define GNM_DIG LDBL_DIG
103 #define GNM_MANT_DIG LDBL_MANT_DIG
104 #define GNM_MIN_EXP LDBL_MIN_EXP
105 #define GNM_MAX_EXP LDBL_MAX_EXP
106 #define GNM_MIN LDBL_MIN
107 #define GNM_MAX LDBL_MAX
108 #define GNM_EPSILON LDBL_EPSILON
109 #define GNM_const(_c) _c ## L
111 #define GnmQuad GOQuadl
112 #define gnm_quad_acos go_quad_acosl
113 #define gnm_quad_add go_quad_addl
114 #define gnm_quad_asin go_quad_asinl
115 #define gnm_quad_cos go_quad_cosl
116 #define gnm_quad_cospi go_quad_cospil
117 #define gnm_quad_div go_quad_divl
118 #define gnm_quad_e go_quad_el
119 #define gnm_quad_end go_quad_endl
120 #define gnm_quad_exp go_quad_expl
121 #define gnm_quad_expm1 go_quad_expm1l
122 #define gnm_quad_floor go_quad_floorl
123 #define gnm_quad_init go_quad_initl
124 #define gnm_quad_ln2 go_quad_ln2l
125 #define gnm_quad_log go_quad_logl
126 #define gnm_quad_mul go_quad_mull
127 #define gnm_quad_mul12 go_quad_mul12l
128 #define gnm_quad_one go_quad_onel
129 #define gnm_quad_pi go_quad_pil
130 #define gnm_quad_2pi go_quad_2pil
131 #define gnm_quad_pow go_quad_powl
132 #define gnm_quad_sin go_quad_sinl
133 #define gnm_quad_sinpi go_quad_sinpil
134 #define gnm_quad_sqrt go_quad_sqrtl
135 #define gnm_quad_sqrt2 go_quad_sqrt2l
136 #define gnm_quad_start go_quad_startl
137 #define gnm_quad_sub go_quad_subl
138 #define gnm_quad_value go_quad_valuel
139 #define gnm_quad_zero go_quad_zerol
140 #define GnmAccumulator GOAccumulatorl
141 #define gnm_accumulator_start go_accumulator_startl
142 #define gnm_accumulator_end go_accumulator_endl
143 #define gnm_accumulator_new go_accumulator_newl
144 #define gnm_accumulator_free go_accumulator_freel
145 #define gnm_accumulator_add go_accumulator_addl
146 #define gnm_accumulator_add_quad go_accumulator_add_quadl
147 #define gnm_accumulator_value go_accumulator_valuel
149 #else /* !GNM_WITH_LONG_DOUBLE */
151 typedef double gnm_float;
153 #define gnm_abs fabs
154 #define gnm_acos acos
155 #define gnm_acosh acosh
156 #define gnm_add_epsilon go_add_epsilon
157 #define gnm_asin asin
158 #define gnm_asinh asinh
159 #define gnm_atan atan
160 #define gnm_atan2 atan2
161 #define gnm_atanpi go_atanpi
162 #define gnm_atan2pi go_atan2pi
163 #define gnm_atanh atanh
164 #define gnm_ceil ceil
165 #define gnm_cosh cosh
166 #define gnm_cospi go_cospi
167 #define gnm_cotpi go_cotpi
168 #define gnm_erf erf
169 #define gnm_erfc erfc
170 #define gnm_exp exp
171 #define gnm_expm1 expm1
172 #define gnm_fake_ceil go_fake_ceil
173 #define gnm_fake_floor go_fake_floor
174 #define gnm_fake_round go_fake_round
175 #define gnm_fake_trunc go_fake_trunc
176 #define gnm_finite go_finite
177 #define gnm_floor floor
178 #define gnm_fmod fmod
179 #define gnm_format_value go_format_value
180 #define gnm_format_value_gstring go_format_value_gstring
181 #define gnm_frexp frexp
182 #define gnm_hypot hypot
183 #define gnm_isnan isnan
184 #define gnm_jn jn
185 #define gnm_ldexp ldexp
186 #define gnm_lgamma lgamma
187 #define gnm_lgamma_r lgamma_r
188 #define gnm_log log
189 #define gnm_log10 log10
190 #define gnm_log1p log1p
191 #define gnm_log2 log2
192 #define gnm_modf modf
193 #define gnm_nan go_nan
194 #define gnm_ninf go_ninf
195 #define gnm_pinf go_pinf
196 #define gnm_pow pow
197 #define gnm_pow10 go_pow10
198 #define gnm_pow2 go_pow2
199 #define gnm_render_general go_render_general
200 #define gnm_sinh sinh
201 #define gnm_sinpi go_sinpi
202 #define gnm_sqrt sqrt
203 #define gnm_strto go_strtod
204 #define gnm_sub_epsilon go_sub_epsilon
205 #define gnm_tanh tanh
206 #define gnm_tanpi go_tanpi
207 #ifndef GNM_REDUCES_TRIG_RANGE
208 #define gnm_sin sin
209 #define gnm_cos cos
210 #define gnm_tan tan
211 #endif
212 #define gnm_yn yn
214 #define GNM_FORMAT_e "e"
215 #define GNM_FORMAT_E "E"
216 #define GNM_FORMAT_f "f"
217 #define GNM_FORMAT_g "g"
218 #define GNM_FORMAT_G "G"
219 #define GNM_SCANF_g "lg"
220 #define GNM_DIG DBL_DIG
221 #define GNM_MANT_DIG DBL_MANT_DIG
222 #define GNM_MIN_EXP DBL_MIN_EXP
223 #define GNM_MAX_EXP DBL_MAX_EXP
224 #define GNM_MIN DBL_MIN
225 #define GNM_MAX DBL_MAX
226 #define GNM_EPSILON DBL_EPSILON
227 #define GNM_const(_c) _c
229 #define GnmQuad GOQuad
230 #define gnm_quad_acos go_quad_acos
231 #define gnm_quad_add go_quad_add
232 #define gnm_quad_asin go_quad_asin
233 #define gnm_quad_cos go_quad_cos
234 #define gnm_quad_cospi go_quad_cospi
235 #define gnm_quad_div go_quad_div
236 #define gnm_quad_e go_quad_e
237 #define gnm_quad_end go_quad_end
238 #define gnm_quad_exp go_quad_exp
239 #define gnm_quad_expm1 go_quad_expm1
240 #define gnm_quad_floor go_quad_floor
241 #define gnm_quad_init go_quad_init
242 #define gnm_quad_ln2 go_quad_ln2
243 #define gnm_quad_log go_quad_log
244 #define gnm_quad_mul go_quad_mul
245 #define gnm_quad_mul12 go_quad_mul12
246 #define gnm_quad_one go_quad_one
247 #define gnm_quad_pi go_quad_pi
248 #define gnm_quad_2pi go_quad_2pi
249 #define gnm_quad_pow go_quad_pow
250 #define gnm_quad_sin go_quad_sin
251 #define gnm_quad_sinpi go_quad_sinpi
252 #define gnm_quad_sqrt go_quad_sqrt
253 #define gnm_quad_sqrt2 go_quad_sqrt2
254 #define gnm_quad_start go_quad_start
255 #define gnm_quad_sub go_quad_sub
256 #define gnm_quad_value go_quad_value
257 #define gnm_quad_zero go_quad_zero
258 #define GnmAccumulator GOAccumulator
259 #define gnm_accumulator_start go_accumulator_start
260 #define gnm_accumulator_end go_accumulator_end
261 #define gnm_accumulator_new go_accumulator_new
262 #define gnm_accumulator_free go_accumulator_free
263 #define gnm_accumulator_add go_accumulator_add
264 #define gnm_accumulator_add_quad go_accumulator_add_quad
265 #define gnm_accumulator_value go_accumulator_value
267 #endif
269 #ifdef GNM_REDUCES_TRIG_RANGE
270 gnm_float gnm_sin (gnm_float x);
271 gnm_float gnm_cos (gnm_float x);
272 gnm_float gnm_tan (gnm_float x);
273 #endif
276 G_END_DECLS
278 #endif /* _GNM_NUMBERS_H_ */