2 * Copyright 2011 Alexandre Julliard
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
30 typedef double LDOUBLE
; /* long double is just a double */
32 typedef struct { } std_Num_base
;
33 typedef struct { } std_Ctraits
;
35 enum std_float_denorm_style
37 denorm_indeterminate
= -1,
42 enum std_float_round_style
44 round_indeterminate
= -1,
45 round_toward_zero
= 0,
47 round_toward_infinity
= 2,
48 round_toward_neg_infinity
= 3
51 /* these are defined as integers but the bit patterns are then interpreted as floats/doubles */
52 const DWORD _FDenorm
= 1;
53 const ULONGLONG _Denorm
= 1;
54 const ULONGLONG _LDenorm
= 1;
55 const DWORD _FInf
= 0x7f800000;
56 const ULONGLONG _Inf
= (ULONGLONG
)0x7ff00000 << 32;
57 const ULONGLONG _LInf
= (ULONGLONG
)0x7ff00000 << 32;
58 const DWORD _FNan
= 0x7fc00000;
59 const ULONGLONG _Nan
= (ULONGLONG
)0x7ff80000 << 32;
60 const ULONGLONG _LNan
= (ULONGLONG
)0x7ff80000 << 32;
61 const DWORD _FSnan
= 0x7f800001;
62 const ULONGLONG _Snan
= ((ULONGLONG
)0x7ff00000 << 32) + 1;
63 const ULONGLONG _LSnan
= ((ULONGLONG
)0x7ff00000 << 32) + 1;
64 const ULONGLONG _LZero
= 0;
65 const ULONGLONG _Hugeval
= (ULONGLONG
)0x7ff00000 << 32;
67 const float _FEps
= FLT_EPSILON
;
68 const double _Eps
= DBL_EPSILON
;
69 const LDOUBLE _LEps
= LDBL_EPSILON
;
71 /* ?digits10@?$numeric_limits@C@std@@2HB -> public: static int const std::numeric_limits<signed char>::digits10 */
72 const int std_numeric_limits_signed_char_digits10
= 2;
74 /* ?digits10@?$numeric_limits@D@std@@2HB -> public: static int const std::numeric_limits<char>::digits10 */
75 const int std_numeric_limits_char_digits10
= 2;
77 /* ?digits10@?$numeric_limits@E@std@@2HB -> public: static int const std::numeric_limits<unsigned char>::digits10 */
78 const int std_numeric_limits_unsigned_char_digits10
= 2;
80 /* ?digits10@?$numeric_limits@F@std@@2HB -> public: static int const std::numeric_limits<short>::digits10 */
81 const int std_numeric_limits_short_digits10
= 4;
83 /* ?digits10@?$numeric_limits@G@std@@2HB -> public: static int const std::numeric_limits<unsigned short>::digits10 */
84 const int std_numeric_limits_unsigned_short_digits10
= 4;
86 /* ?digits10@?$numeric_limits@H@std@@2HB -> public: static int const std::numeric_limits<int>::digits10 */
87 const int std_numeric_limits_int_digits10
= 9;
89 /* ?digits10@?$numeric_limits@I@std@@2HB -> public: static int const std::numeric_limits<unsigned int>::digits10 */
90 const int std_numeric_limits_unsigned_int_digits10
= 9;
92 /* ?digits10@?$numeric_limits@J@std@@2HB -> public: static int const std::numeric_limits<long>::digits10 */
93 const int std_numeric_limits_long_digits10
= 9;
95 /* ?digits10@?$numeric_limits@K@std@@2HB -> public: static int const std::numeric_limits<unsigned long>::digits10 */
96 const int std_numeric_limits_unsigned_long_digits10
= 9;
98 /* ?digits10@?$numeric_limits@M@std@@2HB -> public: static int const std::numeric_limits<float>::digits10 */
99 const int std_numeric_limits_float_digits10
= FLT_DIG
;
101 /* ?digits10@?$numeric_limits@N@std@@2HB -> public: static int const std::numeric_limits<double>::digits10 */
102 const int std_numeric_limits_double_digits10
= DBL_DIG
;
104 /* ?digits10@?$numeric_limits@O@std@@2HB -> public: static int const std::numeric_limits<long double>::digits10 */
105 const int std_numeric_limits_long_double_digits10
= LDBL_DIG
;
107 /* ?digits10@?$numeric_limits@_J@std@@2HB -> public: static int const std::numeric_limits<__int64>::digits10 */
108 const int std_numeric_limits_int64_digits10
= 18;
110 /* ?digits10@?$numeric_limits@_K@std@@2HB -> public: static int const std::numeric_limits<unsigned __int64>::digits10 */
111 const int std_numeric_limits_unsigned_int64_digits10
= 18;
113 /* ?digits10@?$numeric_limits@_N@std@@2HB -> public: static int const std::numeric_limits<bool>::digits10 */
114 const int std_numeric_limits_bool_digits10
= 0;
116 /* ?digits10@?$numeric_limits@_W@std@@2HB -> public: static int const std::numeric_limits<wchar_t>::digits10 */
117 const int std_numeric_limits_wchar_t_digits10
= 4;
119 /* ?digits10@_Num_base@std@@2HB -> public: static int const std::_Num_base::digits10 */
120 const int std_Num_base_digits10
= 0;
122 /* ?digits@?$numeric_limits@C@std@@2HB -> public: static int const std::numeric_limits<signed char>::digits */
123 const int std_numeric_limits_signed_char_digits
= 7;
125 /* ?digits@?$numeric_limits@D@std@@2HB -> public: static int const std::numeric_limits<char>::digits */
126 const int std_numeric_limits_char_digits
= (CHAR_MIN
< 0) ? 7 : 8;
128 /* ?digits@?$numeric_limits@E@std@@2HB -> public: static int const std::numeric_limits<unsigned char>::digits */
129 const int std_numeric_limits_unsigned_char_digits
= 8;
131 /* ?digits@?$numeric_limits@F@std@@2HB -> public: static int const std::numeric_limits<short>::digits */
132 const int std_numeric_limits_short_digits
= 15;
134 /* ?digits@?$numeric_limits@G@std@@2HB -> public: static int const std::numeric_limits<unsigned short>::digits */
135 const int std_numeric_limits_unsigned_short_digits
= 16;
137 /* ?digits@?$numeric_limits@H@std@@2HB -> public: static int const std::numeric_limits<int>::digits */
138 const int std_numeric_limits_int_digits
= 31;
140 /* ?digits@?$numeric_limits@I@std@@2HB -> public: static int const std::numeric_limits<unsigned int>::digits */
141 const int std_numeric_limits_unsigned_int_digits
= 32;
143 /* ?digits@?$numeric_limits@J@std@@2HB -> public: static int const std::numeric_limits<long>::digits */
144 const int std_numeric_limits_long_digits
= 31;
146 /* ?digits@?$numeric_limits@K@std@@2HB -> public: static int const std::numeric_limits<unsigned long>::digits */
147 const int std_numeric_limits_unsigned_long_digits
= 32;
149 /* ?digits@?$numeric_limits@M@std@@2HB -> public: static int const std::numeric_limits<float>::digits */
150 const int std_numeric_limits_float_digits
= FLT_MANT_DIG
;
152 /* ?digits@?$numeric_limits@N@std@@2HB -> public: static int const std::numeric_limits<double>::digits */
153 const int std_numeric_limits_double_digits
= DBL_MANT_DIG
;
155 /* ?digits@?$numeric_limits@O@std@@2HB -> public: static int const std::numeric_limits<long double>::digits */
156 const int std_numeric_limits_long_double_digits
= LDBL_MANT_DIG
;
158 /* ?digits@?$numeric_limits@_J@std@@2HB -> public: static int const std::numeric_limits<__int64>::digits */
159 const int std_numeric_limits_int64_digits
= 63;
161 /* ?digits@?$numeric_limits@_K@std@@2HB -> public: static int const std::numeric_limits<unsigned __int64>::digits */
162 const int std_numeric_limits_unsigned_int64_digits
= 64;
164 /* ?digits@?$numeric_limits@_N@std@@2HB -> public: static int const std::numeric_limits<bool>::digits */
165 const int std_numeric_limits_bool_digits
= 1;
167 /* ?digits@?$numeric_limits@_W@std@@2HB -> public: static int const std::numeric_limits<wchar_t>::digits */
168 const int std_numeric_limits_wchar_t_digits
= 16;
170 /* ?digits@_Num_base@std@@2HB -> public: static int const std::_Num_base::digits */
171 const int std_Num_base_digits
= 0;
173 /* ?has_denorm@_Num_base@std@@2W4float_denorm_style@2@B -> public: static enum std::float_denorm_style const std::_Num_base::has_denorm */
174 const enum std_float_denorm_style std_Num_base_has_denorm
= denorm_absent
;
176 /* ?has_denorm@_Num_float_base@std@@2W4float_denorm_style@2@B -> public: static enum std::float_denorm_style const std::_Num_float_base::has_denorm */
177 const enum std_float_denorm_style std_Num_float_base_has_denorm
= denorm_present
;
179 /* ?has_denorm_loss@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::has_denorm_loss */
180 const BOOLEAN std_Num_base_has_denorm_loss
= FALSE
;
182 /* ?has_denorm_loss@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::has_denorm_loss */
183 const BOOLEAN std_Num_float_base_has_denorm_loss
= TRUE
;
185 /* ?has_infinity@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::has_infinity */
186 const BOOLEAN std_Num_base_has_infinity
= FALSE
;
188 /* ?has_infinity@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::has_infinity */
189 const BOOLEAN std_Num_float_base_has_infinity
= TRUE
;
191 /* ?has_quiet_NaN@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::has_quiet_NaN */
192 const BOOLEAN std_Num_base_has_quiet_NaN
= FALSE
;
194 /* ?has_quiet_NaN@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::has_quiet_NaN */
195 const BOOLEAN std_Num_float_base_has_quiet_NaN
= TRUE
;
197 /* ?has_signaling_NaN@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::has_signaling_NaN */
198 const BOOLEAN std_Num_base_has_signaling_NaN
= FALSE
;
200 /* ?has_signaling_NaN@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::has_signaling_NaN */
201 const BOOLEAN std_Num_float_base_has_signaling_NaN
= TRUE
;
203 /* ?is_bounded@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::is_bounded */
204 const BOOLEAN std_Num_base_is_bounded
= FALSE
;
206 /* ?is_bounded@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::is_bounded */
207 const BOOLEAN std_Num_float_base_is_bounded
= TRUE
;
209 /* ?is_bounded@_Num_int_base@std@@2_NB -> public: static bool const std::_Num_int_base::is_bounded */
210 const BOOLEAN std_Num_int_base_is_bounded
= TRUE
;
212 /* ?is_exact@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::is_exact */
213 const BOOLEAN std_Num_base_is_exact
= FALSE
;
215 /* ?is_exact@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::is_exact */
216 const BOOLEAN std_Num_float_base_is_exact
= FALSE
;
218 /* ?is_exact@_Num_int_base@std@@2_NB -> public: static bool const std::_Num_int_base::is_exact */
219 const BOOLEAN std_Num_int_base_is_exact
= TRUE
;
221 /* ?is_iec559@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::is_iec559 */
222 const BOOLEAN std_Num_base_is_iec559
= FALSE
;
224 /* ?is_iec559@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::is_iec559 */
225 const BOOLEAN std_Num_float_base_is_iec559
= TRUE
;
227 /* ?is_integer@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::is_integer */
228 const BOOLEAN std_Num_base_is_integer
= FALSE
;
230 /* ?is_integer@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::is_integer */
231 const BOOLEAN std_Num_float_base_is_integer
= FALSE
;
233 /* ?is_integer@_Num_int_base@std@@2_NB -> public: static bool const std::_Num_int_base::is_integer */
234 const BOOLEAN std_Num_int_base_is_integer
= TRUE
;
236 /* ?is_modulo@?$numeric_limits@_N@std@@2_NB -> public: static bool const std::numeric_limits<bool>::is_modulo */
237 const BOOLEAN std_numeric_limits_bool_is_modulo
= FALSE
;
239 /* ?is_modulo@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::is_modulo */
240 const BOOLEAN std_Num_base_is_modulo
= FALSE
;
242 /* ?is_modulo@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::is_modulo */
243 const BOOLEAN std_Num_float_base_is_modulo
= FALSE
;
245 /* ?is_modulo@_Num_int_base@std@@2_NB -> public: static bool const std::_Num_int_base::is_modulo */
246 const BOOLEAN std_Num_int_base_is_modulo
= TRUE
;
248 /* ?is_signed@?$numeric_limits@C@std@@2_NB -> public: static bool const std::numeric_limits<signed char>::is_signed */
249 const BOOLEAN std_numeric_limits_signed_char_is_signed
= TRUE
;
251 /* ?is_signed@?$numeric_limits@D@std@@2_NB -> public: static bool const std::numeric_limits<char>::is_signed */
252 const BOOLEAN std_numeric_limits_char_is_signed
= (CHAR_MIN
< 0);
254 /* ?is_signed@?$numeric_limits@E@std@@2_NB -> public: static bool const std::numeric_limits<unsigned char>::is_signed */
255 const BOOLEAN std_numeric_limits_unsigned_char_is_signed
= FALSE
;
257 /* ?is_signed@?$numeric_limits@F@std@@2_NB -> public: static bool const std::numeric_limits<short>::is_signed */
258 const BOOLEAN std_numeric_limits_short_is_signed
= TRUE
;
260 /* ?is_signed@?$numeric_limits@G@std@@2_NB -> public: static bool const std::numeric_limits<unsigned short>::is_signed */
261 const BOOLEAN std_numeric_limits_unsigned_short_is_signed
= FALSE
;
263 /* ?is_signed@?$numeric_limits@H@std@@2_NB -> public: static bool const std::numeric_limits<int>::is_signed */
264 const BOOLEAN std_numeric_limits_int_is_signed
= TRUE
;
266 /* ?is_signed@?$numeric_limits@I@std@@2_NB -> public: static bool const std::numeric_limits<unsigned int>::is_signed */
267 const BOOLEAN std_numeric_limits_unsigned_int_is_signed
= FALSE
;
269 /* ?is_signed@?$numeric_limits@J@std@@2_NB -> public: static bool const std::numeric_limits<long>::is_signed */
270 const BOOLEAN std_numeric_limits_long_is_signed
= TRUE
;
272 /* ?is_signed@?$numeric_limits@K@std@@2_NB -> public: static bool const std::numeric_limits<unsigned long>::is_signed */
273 const BOOLEAN std_numeric_limits_unsigned_long_is_signed
= FALSE
;
275 /* ?is_signed@?$numeric_limits@_J@std@@2_NB -> public: static bool const std::numeric_limits<__int64>::is_signed */
276 const BOOLEAN std_numeric_limits_int64_is_signed
= TRUE
;
278 /* ?is_signed@?$numeric_limits@_K@std@@2_NB -> public: static bool const std::numeric_limits<unsigned __int64>::is_signed */
279 const BOOLEAN std_numeric_limits_unsigned_int64_is_signed
= FALSE
;
281 /* ?is_signed@?$numeric_limits@_N@std@@2_NB -> public: static bool const std::numeric_limits<bool>::is_signed */
282 const BOOLEAN std_numeric_limits_bool_is_signed
= FALSE
;
284 /* ?is_signed@?$numeric_limits@_W@std@@2_NB -> public: static bool const std::numeric_limits<wchar_t>::is_signed */
285 const BOOLEAN std_numeric_limits_wchar_t_is_signed
= FALSE
;
287 /* ?is_signed@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::is_signed */
288 const BOOLEAN std_Num_base_is_signed
= FALSE
;
290 /* ?is_signed@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::is_signed */
291 const BOOLEAN std_Num_float_base_is_signed
= TRUE
;
293 /* ?is_specialized@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::is_specialized */
294 const BOOLEAN std_Num_base_is_specialized
= FALSE
;
296 /* ?is_specialized@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::is_specialized */
297 const BOOLEAN std_Num_float_base_is_specialized
= TRUE
;
299 /* ?is_specialized@_Num_int_base@std@@2_NB -> public: static bool const std::_Num_int_base::is_specialized */
300 const BOOLEAN std_Num_int_base_is_specialized
= TRUE
;
302 /* ?max_exponent10@?$numeric_limits@M@std@@2HB -> public: static int const std::numeric_limits<float>::max_exponent10 */
303 const int std_numeric_limits_float_max_exponent10
= FLT_MAX_10_EXP
;
305 /* ?max_exponent10@?$numeric_limits@N@std@@2HB -> public: static int const std::numeric_limits<double>::max_exponent10 */
306 const int std_numeric_limits_double_max_exponent10
= DBL_MAX_10_EXP
;
308 /* ?max_exponent10@?$numeric_limits@O@std@@2HB -> public: static int const std::numeric_limits<long double>::max_exponent10 */
309 const int std_numeric_limits_long_double_max_exponent10
= LDBL_MAX_10_EXP
;
311 /* ?max_exponent10@_Num_base@std@@2HB -> public: static int const std::_Num_base::max_exponent10 */
312 const int std_Num_base_max_exponent10
= 0;
314 /* ?max_exponent@?$numeric_limits@M@std@@2HB -> public: static int const std::numeric_limits<float>::max_exponent */
315 const int std_numeric_limits_float_max_exponent
= FLT_MAX_EXP
;
317 /* ?max_exponent@?$numeric_limits@N@std@@2HB -> public: static int const std::numeric_limits<double>::max_exponent */
318 const int std_numeric_limits_double_max_exponent
= DBL_MAX_EXP
;
320 /* ?max_exponent@?$numeric_limits@O@std@@2HB -> public: static int const std::numeric_limits<long double>::max_exponent */
321 const int std_numeric_limits_long_double_max_exponent
= LDBL_MAX_EXP
;
323 /* ?max_exponent@_Num_base@std@@2HB -> public: static int const std::_Num_base::max_exponent */
324 const int std_Num_base_max_exponent
= 0;
326 /* ?min_exponent10@?$numeric_limits@M@std@@2HB -> public: static int const std::numeric_limits<float>::min_exponent10 */
327 const int std_numeric_limits_float_min_exponent10
= FLT_MIN_10_EXP
;
329 /* ?min_exponent10@?$numeric_limits@N@std@@2HB -> public: static int const std::numeric_limits<double>::min_exponent10 */
330 const int std_numeric_limits_double_min_exponent10
= DBL_MIN_10_EXP
;
332 /* ?min_exponent10@?$numeric_limits@O@std@@2HB -> public: static int const std::numeric_limits<long double>::min_exponent10 */
333 const int std_numeric_limits_long_double_min_exponent10
= LDBL_MIN_10_EXP
;
335 /* ?min_exponent10@_Num_base@std@@2HB -> public: static int const std::_Num_base::min_exponent10 */
336 const int std_Num_base_min_exponent10
= 0;
338 /* ?min_exponent@?$numeric_limits@M@std@@2HB -> public: static int const std::numeric_limits<float>::min_exponent */
339 const int std_numeric_limits_float_min_exponent
= FLT_MIN_EXP
;
341 /* ?min_exponent@?$numeric_limits@N@std@@2HB -> public: static int const std::numeric_limits<double>::min_exponent */
342 const int std_numeric_limits_double_min_exponent
= DBL_MIN_EXP
;
344 /* ?min_exponent@?$numeric_limits@O@std@@2HB -> public: static int const std::numeric_limits<long double>::min_exponent */
345 const int std_numeric_limits_long_double_min_exponent
= LDBL_MIN_EXP
;
347 /* ?min_exponent@_Num_base@std@@2HB -> public: static int const std::_Num_base::min_exponent */
348 const int std_Num_base_min_exponent
= 0;
350 /* ?radix@_Num_base@std@@2HB -> public: static int const std::_Num_base::radix */
351 const int std_Num_base_radix
= 0;
353 /* ?radix@_Num_float_base@std@@2HB -> public: static int const std::_Num_float_base::radix */
354 const int std_Num_float_base_radix
= FLT_RADIX
;
356 /* ?radix@_Num_int_base@std@@2HB -> public: static int const std::_Num_int_base::radix */
357 const int std_Num_int_base_radix
= 2;
359 /* ?round_style@_Num_base@std@@2W4float_round_style@2@B -> public: static enum std::float_round_style const std::_Num_base::round_style */
360 const enum std_float_round_style std_Num_base_round_style
= round_toward_zero
;
362 /* ?round_style@_Num_float_base@std@@2W4float_round_style@2@B -> public: static enum std::float_round_style const std::_Num_float_base::round_style */
363 const enum std_float_round_style std_Num_float_base_round_style
= round_to_nearest
;
365 /* ?tinyness_before@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::tinyness_before */
366 const BOOLEAN std_Num_base_tinyness_before
= FALSE
;
368 /* ?tinyness_before@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::tinyness_before */
369 const BOOLEAN std_Num_float_base_tinyness_before
= TRUE
;
371 /* ?traps@_Num_base@std@@2_NB -> public: static bool const std::_Num_base::traps */
372 const BOOLEAN std_Num_base_traps
= FALSE
;
374 /* ?traps@_Num_float_base@std@@2_NB -> public: static bool const std::_Num_float_base::traps */
375 const BOOLEAN std_Num_float_base_traps
= TRUE
;
377 /* ??4?$numeric_limits@C@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<signed char> & __thiscall std::numeric_limits<signed char>::operator=(class std::numeric_limits<signed char> const &) */
378 /* ??4?$numeric_limits@C@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<signed char> & __ptr64 __cdecl std::numeric_limits<signed char>::operator=(class std::numeric_limits<signed char> const & __ptr64) __ptr64 */
379 /* ??4?$numeric_limits@D@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<char> & __thiscall std::numeric_limits<char>::operator=(class std::numeric_limits<char> const &) */
380 /* ??4?$numeric_limits@D@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<char> & __ptr64 __cdecl std::numeric_limits<char>::operator=(class std::numeric_limits<char> const & __ptr64) __ptr64 */
381 /* ??4?$numeric_limits@E@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<unsigned char> & __thiscall std::numeric_limits<unsigned char>::operator=(class std::numeric_limits<unsigned char> const &) */
382 /* ??4?$numeric_limits@E@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<unsigned char> & __ptr64 __cdecl std::numeric_limits<unsigned char>::operator=(class std::numeric_limits<unsigned char> const & __ptr64) __ptr64 */
383 /* ??4?$numeric_limits@F@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<short> & __thiscall std::numeric_limits<short>::operator=(class std::numeric_limits<short> const &) */
384 /* ??4?$numeric_limits@F@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<short> & __ptr64 __cdecl std::numeric_limits<short>::operator=(class std::numeric_limits<short> const & __ptr64) __ptr64 */
385 /* ??4?$numeric_limits@G@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<unsigned short> & __thiscall std::numeric_limits<unsigned short>::operator=(class std::numeric_limits<unsigned short> const &) */
386 /* ??4?$numeric_limits@G@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<unsigned short> & __ptr64 __cdecl std::numeric_limits<unsigned short>::operator=(class std::numeric_limits<unsigned short> const & __ptr64) __ptr64 */
387 /* ??4?$numeric_limits@H@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<int> & __thiscall std::numeric_limits<int>::operator=(class std::numeric_limits<int> const &) */
388 /* ??4?$numeric_limits@H@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<int> & __ptr64 __cdecl std::numeric_limits<int>::operator=(class std::numeric_limits<int> const & __ptr64) __ptr64 */
389 /* ??4?$numeric_limits@I@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<unsigned int> & __thiscall std::numeric_limits<unsigned int>::operator=(class std::numeric_limits<unsigned int> const &) */
390 /* ??4?$numeric_limits@I@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<unsigned int> & __ptr64 __cdecl std::numeric_limits<unsigned int>::operator=(class std::numeric_limits<unsigned int> const & __ptr64) __ptr64 */
391 /* ??4?$numeric_limits@J@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<long> & __thiscall std::numeric_limits<long>::operator=(class std::numeric_limits<long> const &) */
392 /* ??4?$numeric_limits@J@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<long> & __ptr64 __cdecl std::numeric_limits<long>::operator=(class std::numeric_limits<long> const & __ptr64) __ptr64 */
393 /* ??4?$numeric_limits@K@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<unsigned long> & __thiscall std::numeric_limits<unsigned long>::operator=(class std::numeric_limits<unsigned long> const &) */
394 /* ??4?$numeric_limits@K@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<unsigned long> & __ptr64 __cdecl std::numeric_limits<unsigned long>::operator=(class std::numeric_limits<unsigned long> const & __ptr64) __ptr64 */
395 /* ??4?$numeric_limits@M@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<float> & __thiscall std::numeric_limits<float>::operator=(class std::numeric_limits<float> const &) */
396 /* ??4?$numeric_limits@M@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<float> & __ptr64 __cdecl std::numeric_limits<float>::operator=(class std::numeric_limits<float> const & __ptr64) __ptr64 */
397 /* ??4?$numeric_limits@N@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<double> & __thiscall std::numeric_limits<double>::operator=(class std::numeric_limits<double> const &) */
398 /* ??4?$numeric_limits@N@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<double> & __ptr64 __cdecl std::numeric_limits<double>::operator=(class std::numeric_limits<double> const & __ptr64) __ptr64 */
399 /* ??4?$numeric_limits@O@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<long double> & __thiscall std::numeric_limits<long double>::operator=(class std::numeric_limits<long double> const &) */
400 /* ??4?$numeric_limits@O@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<long double> & __ptr64 __cdecl std::numeric_limits<long double>::operator=(class std::numeric_limits<long double> const & __ptr64) __ptr64 */
401 /* ??4?$numeric_limits@_J@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<__int64> & __thiscall std::numeric_limits<__int64>::operator=(class std::numeric_limits<__int64> const &) */
402 /* ??4?$numeric_limits@_J@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<__int64> & __ptr64 __cdecl std::numeric_limits<__int64>::operator=(class std::numeric_limits<__int64> const & __ptr64) __ptr64 */
403 /* ??4?$numeric_limits@_K@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<unsigned __int64> & __thiscall std::numeric_limits<unsigned __int64>::operator=(class std::numeric_limits<unsigned __int64> const &) */
404 /* ??4?$numeric_limits@_K@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<unsigned __int64> & __ptr64 __cdecl std::numeric_limits<unsigned __int64>::operator=(class std::numeric_limits<unsigned __int64> const & __ptr64) __ptr64 */
405 /* ??4?$numeric_limits@_N@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<bool> & __thiscall std::numeric_limits<bool>::operator=(class std::numeric_limits<bool> const &) */
406 /* ??4?$numeric_limits@_N@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<bool> & __ptr64 __cdecl std::numeric_limits<bool>::operator=(class std::numeric_limits<bool> const & __ptr64) __ptr64 */
407 /* ??4?$numeric_limits@_W@std@@QAEAAV01@ABV01@@Z -> public: class std::numeric_limits<wchar_t> & __thiscall std::numeric_limits<wchar_t>::operator=(class std::numeric_limits<wchar_t> const &) */
408 /* ??4?$numeric_limits@_W@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::numeric_limits<wchar_t> & __ptr64 __cdecl std::numeric_limits<wchar_t>::operator=(class std::numeric_limits<wchar_t> const & __ptr64) __ptr64 */
409 /* ??4_Num_base@std@@QAEAAU01@ABU01@@Z -> public: struct std::_Num_base & __thiscall std::_Num_base::operator=(struct std::_Num_base const &) */
410 /* ??4_Num_base@std@@QEAAAEAU01@AEBU01@@Z -> public: struct std::_Num_base & __ptr64 __cdecl std::_Num_base::operator=(struct std::_Num_base const & __ptr64) __ptr64 */
411 /* ??4_Num_float_base@std@@QAEAAU01@ABU01@@Z -> public: struct std::_Num_float_base & __thiscall std::_Num_float_base::operator=(struct std::_Num_float_base const &) */
412 /* ??4_Num_float_base@std@@QEAAAEAU01@AEBU01@@Z -> public: struct std::_Num_float_base & __ptr64 __cdecl std::_Num_float_base::operator=(struct std::_Num_float_base const & __ptr64) __ptr64 */
413 /* ??4_Num_int_base@std@@QAEAAU01@ABU01@@Z -> public: struct std::_Num_int_base & __thiscall std::_Num_int_base::operator=(struct std::_Num_int_base const &) */
414 /* ??4_Num_int_base@std@@QEAAAEAU01@AEBU01@@Z -> public: struct std::_Num_int_base & __ptr64 __cdecl std::_Num_int_base::operator=(struct std::_Num_int_base const & __ptr64) __ptr64 */
415 DEFINE_THISCALL_WRAPPER( std_Num_base_op_assign
, 8 )
416 std_Num_base
* __thiscall
std_Num_base_op_assign( std_Num_base
*this, std_Num_base
*right
)
421 /* ?denorm_min@?$numeric_limits@C@std@@SACXZ -> public: static signed char __cdecl std::numeric_limits<signed char>::denorm_min(void) */
422 signed char __cdecl
std_numeric_limits_signed_char_denorm_min(void) { return 0; }
424 /* ?denorm_min@?$numeric_limits@D@std@@SADXZ -> public: static char __cdecl std::numeric_limits<char>::denorm_min(void) */
425 char __cdecl
std_numeric_limits_char_denorm_min(void) { return 0; }
427 /* ?denorm_min@?$numeric_limits@E@std@@SAEXZ -> public: static unsigned char __cdecl std::numeric_limits<unsigned char>::denorm_min(void) */
428 unsigned char __cdecl
std_numeric_limits_unsigned_char_denorm_min(void) { return 0; }
430 /* ?denorm_min@?$numeric_limits@F@std@@SAFXZ -> public: static short __cdecl std::numeric_limits<short>::denorm_min(void) */
431 short __cdecl
std_numeric_limits_short_denorm_min(void) { return 0; }
433 /* ?denorm_min@?$numeric_limits@G@std@@SAGXZ -> public: static unsigned short __cdecl std::numeric_limits<unsigned short>::denorm_min(void) */
434 unsigned short __cdecl
std_numeric_limits_unsigned_short_denorm_min(void) { return 0; }
436 /* ?denorm_min@?$numeric_limits@H@std@@SAHXZ -> public: static int __cdecl std::numeric_limits<int>::denorm_min(void) */
437 int __cdecl
std_numeric_limits_int_denorm_min(void) { return 0; }
439 /* ?denorm_min@?$numeric_limits@I@std@@SAIXZ -> public: static unsigned int __cdecl std::numeric_limits<unsigned int>::denorm_min(void) */
440 unsigned int __cdecl
std_numeric_limits_unsigned_int_denorm_min(void) { return 0; }
442 /* ?denorm_min@?$numeric_limits@J@std@@SAJXZ -> public: static long __cdecl std::numeric_limits<long>::denorm_min(void) */
443 LONG __cdecl
std_numeric_limits_long_denorm_min(void) { return 0; }
445 /* ?denorm_min@?$numeric_limits@K@std@@SAKXZ -> public: static unsigned long __cdecl std::numeric_limits<unsigned long>::denorm_min(void) */
446 ULONG __cdecl
std_numeric_limits_unsigned_long_denorm_min(void) { return 0; }
448 /* ?denorm_min@?$numeric_limits@M@std@@SAMXZ -> public: static float __cdecl std::numeric_limits<float>::denorm_min(void) */
449 float __cdecl
std_numeric_limits_float_denorm_min(void) { return *(float *)&_FDenorm
; }
451 /* ?denorm_min@?$numeric_limits@N@std@@SANXZ -> public: static double __cdecl std::numeric_limits<double>::denorm_min(void) */
452 double __cdecl
std_numeric_limits_double_denorm_min(void) { return *(double *)&_Denorm
; }
454 /* ?denorm_min@?$numeric_limits@O@std@@SAOXZ -> public: static long double __cdecl std::numeric_limits<long double>::denorm_min(void) */
455 LDOUBLE __cdecl
std_numeric_limits_long_double_denorm_min(void) { return *(LDOUBLE
*)&_LDenorm
; }
457 /* ?denorm_min@?$numeric_limits@_J@std@@SA_JXZ -> public: static __int64 __cdecl std::numeric_limits<__int64>::denorm_min(void) */
458 __int64 __cdecl
std_numeric_limits_int64_denorm_min(void) { return 0; }
460 /* ?denorm_min@?$numeric_limits@_K@std@@SA_KXZ -> public: static unsigned __int64 __cdecl std::numeric_limits<unsigned __int64>::denorm_min(void) */
461 unsigned __int64 __cdecl
std_numeric_limits_unsigned_int64_denorm_min(void) { return 0; }
463 /* ?denorm_min@?$numeric_limits@_N@std@@SA_NXZ -> public: static bool __cdecl std::numeric_limits<bool>::denorm_min(void) */
464 BOOLEAN __cdecl
std_numeric_limits_bool_denorm_min(void) { return 0; }
466 /* ?denorm_min@?$numeric_limits@_W@std@@SA_WXZ -> public: static wchar_t __cdecl std::numeric_limits<wchar_t>::denorm_min(void) */
467 WCHAR __cdecl
std_numeric_limits_wchar_t_denorm_min(void) { return 0; }
469 /* ?epsilon@?$numeric_limits@C@std@@SACXZ -> public: static signed char __cdecl std::numeric_limits<signed char>::epsilon(void) */
470 signed char __cdecl
std_numeric_limits_signed_char_epsilon(void) { return 0; }
472 /* ?epsilon@?$numeric_limits@D@std@@SADXZ -> public: static char __cdecl std::numeric_limits<char>::epsilon(void) */
473 char __cdecl
std_numeric_limits_char_epsilon(void) { return 0; }
475 /* ?epsilon@?$numeric_limits@E@std@@SAEXZ -> public: static unsigned char __cdecl std::numeric_limits<unsigned char>::epsilon(void) */
476 unsigned char __cdecl
std_numeric_limits_unsigned_char_epsilon(void) { return 0; }
478 /* ?epsilon@?$numeric_limits@F@std@@SAFXZ -> public: static short __cdecl std::numeric_limits<short>::epsilon(void) */
479 short __cdecl
std_numeric_limits_short_epsilon(void) { return 0; }
481 /* ?epsilon@?$numeric_limits@G@std@@SAGXZ -> public: static unsigned short __cdecl std::numeric_limits<unsigned short>::epsilon(void) */
482 unsigned short __cdecl
std_numeric_limits_unsigned_short_epsilon(void) { return 0; }
484 /* ?epsilon@?$numeric_limits@H@std@@SAHXZ -> public: static int __cdecl std::numeric_limits<int>::epsilon(void) */
485 int __cdecl
std_numeric_limits_int_epsilon(void) { return 0; }
487 /* ?epsilon@?$numeric_limits@I@std@@SAIXZ -> public: static unsigned int __cdecl std::numeric_limits<unsigned int>::epsilon(void) */
488 unsigned int __cdecl
std_numeric_limits_unsigned_int_epsilon(void) { return 0; }
490 /* ?epsilon@?$numeric_limits@J@std@@SAJXZ -> public: static long __cdecl std::numeric_limits<long>::epsilon(void) */
491 LONG __cdecl
std_numeric_limits_long_epsilon(void) { return 0; }
493 /* ?epsilon@?$numeric_limits@K@std@@SAKXZ -> public: static unsigned long __cdecl std::numeric_limits<unsigned long>::epsilon(void) */
494 ULONG __cdecl
std_numeric_limits_unsigned_long_epsilon(void) { return 0; }
496 /* ?epsilon@?$numeric_limits@M@std@@SAMXZ -> public: static float __cdecl std::numeric_limits<float>::epsilon(void) */
497 float __cdecl
std_numeric_limits_float_epsilon(void) { return _FEps
; }
499 /* ?epsilon@?$numeric_limits@N@std@@SANXZ -> public: static double __cdecl std::numeric_limits<double>::epsilon(void) */
500 double __cdecl
std_numeric_limits_double_epsilon(void) { return _Eps
; }
502 /* ?epsilon@?$numeric_limits@O@std@@SAOXZ -> public: static long double __cdecl std::numeric_limits<long double>::epsilon(void) */
503 LDOUBLE __cdecl
std_numeric_limits_long_double_epsilon(void) { return _LEps
; }
505 /* ?epsilon@?$numeric_limits@_J@std@@SA_JXZ -> public: static __int64 __cdecl std::numeric_limits<__int64>::epsilon(void) */
506 __int64 __cdecl
std_numeric_limits_int64_epsilon(void) { return 0; }
508 /* ?epsilon@?$numeric_limits@_K@std@@SA_KXZ -> public: static unsigned __int64 __cdecl std::numeric_limits<unsigned __int64>::epsilon(void) */
509 unsigned __int64 __cdecl
std_numeric_limits_unsigned_int64_epsilon(void) { return 0; }
511 /* ?epsilon@?$numeric_limits@_N@std@@SA_NXZ -> public: static bool __cdecl std::numeric_limits<bool>::epsilon(void) */
512 BOOLEAN __cdecl
std_numeric_limits_bool_epsilon(void) { return 0; }
514 /* ?epsilon@?$numeric_limits@_W@std@@SA_WXZ -> public: static wchar_t __cdecl std::numeric_limits<wchar_t>::epsilon(void) */
515 WCHAR __cdecl
std_numeric_limits_wchar_t_epsilon(void) { return 0; }
517 /* ?infinity@?$numeric_limits@C@std@@SACXZ -> public: static signed char __cdecl std::numeric_limits<signed char>::infinity(void) */
518 signed char __cdecl
std_numeric_limits_signed_char_infinity(void) { return 0; }
520 /* ?infinity@?$numeric_limits@D@std@@SADXZ -> public: static char __cdecl std::numeric_limits<char>::infinity(void) */
521 char __cdecl
std_numeric_limits_char_infinity(void) { return 0; }
523 /* ?infinity@?$numeric_limits@E@std@@SAEXZ -> public: static unsigned char __cdecl std::numeric_limits<unsigned char>::infinity(void) */
524 unsigned char __cdecl
std_numeric_limits_unsigned_char_infinity(void) { return 0; }
526 /* ?infinity@?$numeric_limits@F@std@@SAFXZ -> public: static short __cdecl std::numeric_limits<short>::infinity(void) */
527 short __cdecl
std_numeric_limits_short_infinity(void) { return 0; }
529 /* ?infinity@?$numeric_limits@G@std@@SAGXZ -> public: static unsigned short __cdecl std::numeric_limits<unsigned short>::infinity(void) */
530 unsigned short __cdecl
std_numeric_limits_unsigned_short_infinity(void) { return 0; }
532 /* ?infinity@?$numeric_limits@H@std@@SAHXZ -> public: static int __cdecl std::numeric_limits<int>::infinity(void) */
533 int __cdecl
std_numeric_limits_int_infinity(void) { return 0; }
535 /* ?infinity@?$numeric_limits@I@std@@SAIXZ -> public: static unsigned int __cdecl std::numeric_limits<unsigned int>::infinity(void) */
536 unsigned int __cdecl
std_numeric_limits_unsigned_int_infinity(void) { return 0; }
538 /* ?infinity@?$numeric_limits@J@std@@SAJXZ -> public: static long __cdecl std::numeric_limits<long>::infinity(void) */
539 LONG __cdecl
std_numeric_limits_long_infinity(void) { return 0; }
541 /* ?infinity@?$numeric_limits@K@std@@SAKXZ -> public: static unsigned long __cdecl std::numeric_limits<unsigned long>::infinity(void) */
542 ULONG __cdecl
std_numeric_limits_unsigned_long_infinity(void) { return 0; }
544 /* ?infinity@?$numeric_limits@M@std@@SAMXZ -> public: static float __cdecl std::numeric_limits<float>::infinity(void) */
545 float __cdecl
std_numeric_limits_float_infinity(void) { return *(float *)&_FInf
; }
547 /* ?infinity@?$numeric_limits@N@std@@SANXZ -> public: static double __cdecl std::numeric_limits<double>::infinity(void) */
548 double __cdecl
std_numeric_limits_double_infinity(void) { return *(double *)&_Inf
; }
550 /* ?infinity@?$numeric_limits@O@std@@SAOXZ -> public: static long double __cdecl std::numeric_limits<long double>::infinity(void) */
551 LDOUBLE __cdecl
std_numeric_limits_long_double_infinity(void) { return *(LDOUBLE
*)&_LInf
; }
553 /* ?infinity@?$numeric_limits@_J@std@@SA_JXZ -> public: static __int64 __cdecl std::numeric_limits<__int64>::infinity(void) */
554 __int64 __cdecl
std_numeric_limits_int64_infinity(void) { return 0; }
556 /* ?infinity@?$numeric_limits@_K@std@@SA_KXZ -> public: static unsigned __int64 __cdecl std::numeric_limits<unsigned __int64>::infinity(void) */
557 unsigned __int64 __cdecl
std_numeric_limits_unsigned_int64_infinity(void) { return 0; }
559 /* ?infinity@?$numeric_limits@_N@std@@SA_NXZ -> public: static bool __cdecl std::numeric_limits<bool>::infinity(void) */
560 BOOLEAN __cdecl
std_numeric_limits_bool_infinity(void) { return 0; }
562 /* ?infinity@?$numeric_limits@_W@std@@SA_WXZ -> public: static wchar_t __cdecl std::numeric_limits<wchar_t>::infinity(void) */
563 WCHAR __cdecl
std_numeric_limits_wchar_t_infinity(void) { return 0; }
565 /* ?max@?$numeric_limits@C@std@@SACXZ -> public: static signed char __cdecl std::numeric_limits<signed char>::max(void) */
566 signed char __cdecl
std_numeric_limits_signed_char_max(void) { return SCHAR_MAX
; }
568 /* ?max@?$numeric_limits@D@std@@SADXZ -> public: static char __cdecl std::numeric_limits<char>::max(void) */
569 char __cdecl
std_numeric_limits_char_max(void) { return CHAR_MAX
; }
571 /* ?max@?$numeric_limits@E@std@@SAEXZ -> public: static unsigned char __cdecl std::numeric_limits<unsigned char>::max(void) */
572 unsigned char __cdecl
std_numeric_limits_unsigned_char_max(void) { return UCHAR_MAX
; }
574 /* ?max@?$numeric_limits@F@std@@SAFXZ -> public: static short __cdecl std::numeric_limits<short>::max(void) */
575 short __cdecl
std_numeric_limits_short_max(void) { return SHRT_MAX
; }
577 /* ?max@?$numeric_limits@G@std@@SAGXZ -> public: static unsigned short __cdecl std::numeric_limits<unsigned short>::max(void) */
578 unsigned short __cdecl
std_numeric_limits_unsigned_short_max(void) { return USHRT_MAX
; }
580 /* ?max@?$numeric_limits@H@std@@SAHXZ -> public: static int __cdecl std::numeric_limits<int>::max(void) */
581 int __cdecl
std_numeric_limits_int_max(void) { return INT_MAX
; }
583 /* ?max@?$numeric_limits@I@std@@SAIXZ -> public: static unsigned int __cdecl std::numeric_limits<unsigned int>::max(void) */
584 unsigned int __cdecl
std_numeric_limits_unsigned_int_max(void) { return UINT_MAX
; }
586 /* ?max@?$numeric_limits@J@std@@SAJXZ -> public: static long __cdecl std::numeric_limits<long>::max(void) */
587 LONG __cdecl
std_numeric_limits_long_max(void) { return LONG_MAX
; }
589 /* ?max@?$numeric_limits@K@std@@SAKXZ -> public: static unsigned long __cdecl std::numeric_limits<unsigned long>::max(void) */
590 ULONG __cdecl
std_numeric_limits_unsigned_long_max(void) { return ULONG_MAX
; }
592 /* ?max@?$numeric_limits@M@std@@SAMXZ -> public: static float __cdecl std::numeric_limits<float>::max(void) */
593 float __cdecl
std_numeric_limits_float_max(void) { return FLT_MAX
; }
595 /* ?max@?$numeric_limits@N@std@@SANXZ -> public: static double __cdecl std::numeric_limits<double>::max(void) */
596 double __cdecl
std_numeric_limits_double_max(void) { return DBL_MAX
; }
598 /* ?max@?$numeric_limits@O@std@@SAOXZ -> public: static long double __cdecl std::numeric_limits<long double>::max(void) */
599 LDOUBLE __cdecl
std_numeric_limits_long_double_max(void) { return LDBL_MAX
; }
601 /* ?max@?$numeric_limits@_J@std@@SA_JXZ -> public: static __int64 __cdecl std::numeric_limits<__int64>::max(void) */
602 __int64 __cdecl
std_numeric_limits_int64_max(void) { return I64_MAX
; }
604 /* ?max@?$numeric_limits@_K@std@@SA_KXZ -> public: static unsigned __int64 __cdecl std::numeric_limits<unsigned __int64>::max(void) */
605 unsigned __int64 __cdecl
std_numeric_limits_unsigned_int64_max(void) { return UI64_MAX
; }
607 /* ?max@?$numeric_limits@_N@std@@SA_NXZ -> public: static bool __cdecl std::numeric_limits<bool>::max(void) */
608 BOOLEAN __cdecl
std_numeric_limits_bool_max(void) { return 1; }
610 /* ?max@?$numeric_limits@_W@std@@SA_WXZ -> public: static wchar_t __cdecl std::numeric_limits<wchar_t>::max(void) */
611 WCHAR __cdecl
std_numeric_limits_wchar_t_max(void) { return USHRT_MAX
; }
613 /* ?min@?$numeric_limits@C@std@@SACXZ -> public: static signed char __cdecl std::numeric_limits<signed char>::min(void) */
614 signed char __cdecl
std_numeric_limits_signed_char_min(void) { return SCHAR_MIN
; }
616 /* ?min@?$numeric_limits@D@std@@SADXZ -> public: static char __cdecl std::numeric_limits<char>::min(void) */
617 char __cdecl
std_numeric_limits_char_min(void) { return CHAR_MIN
; }
619 /* ?min@?$numeric_limits@E@std@@SAEXZ -> public: static unsigned char __cdecl std::numeric_limits<unsigned char>::min(void) */
620 unsigned char __cdecl
std_numeric_limits_unsigned_char_min(void) { return 0; }
622 /* ?min@?$numeric_limits@F@std@@SAFXZ -> public: static short __cdecl std::numeric_limits<short>::min(void) */
623 short __cdecl
std_numeric_limits_short_min(void) { return SHRT_MIN
; }
625 /* ?min@?$numeric_limits@G@std@@SAGXZ -> public: static unsigned short __cdecl std::numeric_limits<unsigned short>::min(void) */
626 unsigned short __cdecl
std_numeric_limits_unsigned_short_min(void) { return 0; }
628 /* ?min@?$numeric_limits@H@std@@SAHXZ -> public: static int __cdecl std::numeric_limits<int>::min(void) */
629 int __cdecl
std_numeric_limits_int_min(void) { return INT_MIN
; }
631 /* ?min@?$numeric_limits@I@std@@SAIXZ -> public: static unsigned int __cdecl std::numeric_limits<unsigned int>::min(void) */
632 unsigned int __cdecl
std_numeric_limits_unsigned_int_min(void) { return 0; }
634 /* ?min@?$numeric_limits@J@std@@SAJXZ -> public: static long __cdecl std::numeric_limits<long>::min(void) */
635 LONG __cdecl
std_numeric_limits_long_min(void) { return LONG_MIN
; }
637 /* ?min@?$numeric_limits@K@std@@SAKXZ -> public: static unsigned long __cdecl std::numeric_limits<unsigned long>::min(void) */
638 ULONG __cdecl
std_numeric_limits_unsigned_long_min(void) { return 0; }
640 /* ?min@?$numeric_limits@M@std@@SAMXZ -> public: static float __cdecl std::numeric_limits<float>::min(void) */
641 float __cdecl
std_numeric_limits_float_min(void) { return FLT_MIN
; }
643 /* ?min@?$numeric_limits@N@std@@SANXZ -> public: static double __cdecl std::numeric_limits<double>::min(void) */
644 double __cdecl
std_numeric_limits_double_min(void) { return DBL_MIN
; }
646 /* ?min@?$numeric_limits@O@std@@SAOXZ -> public: static long double __cdecl std::numeric_limits<long double>::min(void) */
647 LDOUBLE __cdecl
std_numeric_limits_long_double_min(void) { return LDBL_MIN
; }
649 /* ?min@?$numeric_limits@_J@std@@SA_JXZ -> public: static __int64 __cdecl std::numeric_limits<__int64>::min(void) */
650 __int64 __cdecl
std_numeric_limits_int64_min(void) { return I64_MIN
; }
652 /* ?min@?$numeric_limits@_K@std@@SA_KXZ -> public: static unsigned __int64 __cdecl std::numeric_limits<unsigned __int64>::min(void) */
653 unsigned __int64 __cdecl
std_numeric_limits_unsigned_int64_min(void) { return 0; }
655 /* ?min@?$numeric_limits@_N@std@@SA_NXZ -> public: static bool __cdecl std::numeric_limits<bool>::min(void) */
656 BOOLEAN __cdecl
std_numeric_limits_bool_min(void) { return 0; }
658 /* ?min@?$numeric_limits@_W@std@@SA_WXZ -> public: static wchar_t __cdecl std::numeric_limits<wchar_t>::min(void) */
659 WCHAR __cdecl
std_numeric_limits_wchar_t_min(void) { return 0; }
661 /* ?quiet_NaN@?$numeric_limits@C@std@@SACXZ -> public: static signed char __cdecl std::numeric_limits<signed char>::quiet_NaN(void) */
662 signed char __cdecl
std_numeric_limits_signed_char_quiet_NaN(void) { return 0; }
664 /* ?quiet_NaN@?$numeric_limits@D@std@@SADXZ -> public: static char __cdecl std::numeric_limits<char>::quiet_NaN(void) */
665 char __cdecl
std_numeric_limits_char_quiet_NaN(void) { return 0; }
667 /* ?quiet_NaN@?$numeric_limits@E@std@@SAEXZ -> public: static unsigned char __cdecl std::numeric_limits<unsigned char>::quiet_NaN(void) */
668 unsigned char __cdecl
std_numeric_limits_unsigned_char_quiet_NaN(void) { return 0; }
670 /* ?quiet_NaN@?$numeric_limits@F@std@@SAFXZ -> public: static short __cdecl std::numeric_limits<short>::quiet_NaN(void) */
671 short __cdecl
std_numeric_limits_short_quiet_NaN(void) { return 0; }
673 /* ?quiet_NaN@?$numeric_limits@G@std@@SAGXZ -> public: static unsigned short __cdecl std::numeric_limits<unsigned short>::quiet_NaN(void) */
674 unsigned short __cdecl
std_numeric_limits_unsigned_short_quiet_NaN(void) { return 0; }
676 /* ?quiet_NaN@?$numeric_limits@H@std@@SAHXZ -> public: static int __cdecl std::numeric_limits<int>::quiet_NaN(void) */
677 int __cdecl
std_numeric_limits_int_quiet_NaN(void) { return 0; }
679 /* ?quiet_NaN@?$numeric_limits@I@std@@SAIXZ -> public: static unsigned int __cdecl std::numeric_limits<unsigned int>::quiet_NaN(void) */
680 unsigned int __cdecl
std_numeric_limits_unsigned_int_quiet_NaN(void) { return 0; }
682 /* ?quiet_NaN@?$numeric_limits@J@std@@SAJXZ -> public: static long __cdecl std::numeric_limits<long>::quiet_NaN(void) */
683 LONG __cdecl
std_numeric_limits_long_quiet_NaN(void) { return 0; }
685 /* ?quiet_NaN@?$numeric_limits@K@std@@SAKXZ -> public: static unsigned long __cdecl std::numeric_limits<unsigned long>::quiet_NaN(void) */
686 ULONG __cdecl
std_numeric_limits_unsigned_long_quiet_NaN(void) { return 0; }
688 /* ?quiet_NaN@?$numeric_limits@M@std@@SAMXZ -> public: static float __cdecl std::numeric_limits<float>::quiet_NaN(void) */
689 float __cdecl
std_numeric_limits_float_quiet_NaN(void) { return *(float *)&_FNan
; }
691 /* ?quiet_NaN@?$numeric_limits@N@std@@SANXZ -> public: static double __cdecl std::numeric_limits<double>::quiet_NaN(void) */
692 double __cdecl
std_numeric_limits_double_quiet_NaN(void) { return *(double *)&_Nan
; }
694 /* ?quiet_NaN@?$numeric_limits@O@std@@SAOXZ -> public: static long double __cdecl std::numeric_limits<long double>::quiet_NaN(void) */
695 LDOUBLE __cdecl
std_numeric_limits_long_double_quiet_NaN(void) { return *(LDOUBLE
*)&_LNan
; }
697 /* ?quiet_NaN@?$numeric_limits@_J@std@@SA_JXZ -> public: static __int64 __cdecl std::numeric_limits<__int64>::quiet_NaN(void) */
698 __int64 __cdecl
std_numeric_limits_int64_quiet_NaN(void) { return 0; }
700 /* ?quiet_NaN@?$numeric_limits@_K@std@@SA_KXZ -> public: static unsigned __int64 __cdecl std::numeric_limits<unsigned __int64>::quiet_NaN(void) */
701 unsigned __int64 __cdecl
std_numeric_limits_unsigned_int64_quiet_NaN(void) { return 0; }
703 /* ?quiet_NaN@?$numeric_limits@_N@std@@SA_NXZ -> public: static bool __cdecl std::numeric_limits<bool>::quiet_NaN(void) */
704 BOOLEAN __cdecl
std_numeric_limits_bool_quiet_NaN(void) { return 0; }
706 /* ?quiet_NaN@?$numeric_limits@_W@std@@SA_WXZ -> public: static wchar_t __cdecl std::numeric_limits<wchar_t>::quiet_NaN(void) */
707 WCHAR __cdecl
std_numeric_limits_wchar_t_quiet_NaN(void) { return 0; }
709 /* ?round_error@?$numeric_limits@C@std@@SACXZ -> public: static signed char __cdecl std::numeric_limits<signed char>::round_error(void) */
710 signed char __cdecl
std_numeric_limits_signed_char_round_error(void) { return 0; }
712 /* ?round_error@?$numeric_limits@D@std@@SADXZ -> public: static char __cdecl std::numeric_limits<char>::round_error(void) */
713 char __cdecl
std_numeric_limits_char_round_error(void) { return 0; }
715 /* ?round_error@?$numeric_limits@E@std@@SAEXZ -> public: static unsigned char __cdecl std::numeric_limits<unsigned char>::round_error(void) */
716 unsigned char __cdecl
std_numeric_limits_unsigned_char_round_error(void) { return 0; }
718 /* ?round_error@?$numeric_limits@F@std@@SAFXZ -> public: static short __cdecl std::numeric_limits<short>::round_error(void) */
719 short __cdecl
std_numeric_limits_short_round_error(void) { return 0; }
721 /* ?round_error@?$numeric_limits@G@std@@SAGXZ -> public: static unsigned short __cdecl std::numeric_limits<unsigned short>::round_error(void) */
722 unsigned short __cdecl
std_numeric_limits_unsigned_short_round_error(void) { return 0; }
724 /* ?round_error@?$numeric_limits@H@std@@SAHXZ -> public: static int __cdecl std::numeric_limits<int>::round_error(void) */
725 int __cdecl
std_numeric_limits_int_round_error(void) { return 0; }
727 /* ?round_error@?$numeric_limits@I@std@@SAIXZ -> public: static unsigned int __cdecl std::numeric_limits<unsigned int>::round_error(void) */
728 unsigned int __cdecl
std_numeric_limits_unsigned_int_round_error(void) { return 0; }
730 /* ?round_error@?$numeric_limits@J@std@@SAJXZ -> public: static long __cdecl std::numeric_limits<long>::round_error(void) */
731 LONG __cdecl
std_numeric_limits_long_round_error(void) { return 0; }
733 /* ?round_error@?$numeric_limits@K@std@@SAKXZ -> public: static unsigned long __cdecl std::numeric_limits<unsigned long>::round_error(void) */
734 ULONG __cdecl
std_numeric_limits_unsigned_long_round_error(void) { return 0; }
736 /* ?round_error@?$numeric_limits@M@std@@SAMXZ -> public: static float __cdecl std::numeric_limits<float>::round_error(void) */
737 float __cdecl
std_numeric_limits_float_round_error(void) { return 0.5; }
739 /* ?round_error@?$numeric_limits@N@std@@SANXZ -> public: static double __cdecl std::numeric_limits<double>::round_error(void) */
740 double __cdecl
std_numeric_limits_double_round_error(void) { return 0.5; }
742 /* ?round_error@?$numeric_limits@O@std@@SAOXZ -> public: static long double __cdecl std::numeric_limits<long double>::round_error(void) */
743 LDOUBLE __cdecl
std_numeric_limits_long_double_round_error(void) { return 0.5; }
745 /* ?round_error@?$numeric_limits@_J@std@@SA_JXZ -> public: static __int64 __cdecl std::numeric_limits<__int64>::round_error(void) */
746 __int64 __cdecl
std_numeric_limits_int64_round_error(void) { return 0; }
748 /* ?round_error@?$numeric_limits@_K@std@@SA_KXZ -> public: static unsigned __int64 __cdecl std::numeric_limits<unsigned __int64>::round_error(void) */
749 unsigned __int64 __cdecl
std_numeric_limits_unsigned_int64_round_error(void) { return 0; }
751 /* ?round_error@?$numeric_limits@_N@std@@SA_NXZ -> public: static bool __cdecl std::numeric_limits<bool>::round_error(void) */
752 BOOLEAN __cdecl
std_numeric_limits_bool_round_error(void) { return 0; }
754 /* ?round_error@?$numeric_limits@_W@std@@SA_WXZ -> public: static wchar_t __cdecl std::numeric_limits<wchar_t>::round_error(void) */
755 WCHAR __cdecl
std_numeric_limits_wchar_t_round_error(void) { return 0; }
757 /* ?signaling_NaN@?$numeric_limits@C@std@@SACXZ -> public: static signed char __cdecl std::numeric_limits<signed char>::signaling_NaN(void) */
758 signed char __cdecl
std_numeric_limits_signed_char_signaling_NaN(void) { return 0; }
760 /* ?signaling_NaN@?$numeric_limits@D@std@@SADXZ -> public: static char __cdecl std::numeric_limits<char>::signaling_NaN(void) */
761 char __cdecl
std_numeric_limits_char_signaling_NaN(void) { return 0; }
763 /* ?signaling_NaN@?$numeric_limits@E@std@@SAEXZ -> public: static unsigned char __cdecl std::numeric_limits<unsigned char>::signaling_NaN(void) */
764 unsigned char __cdecl
std_numeric_limits_unsigned_char_signaling_NaN(void) { return 0; }
766 /* ?signaling_NaN@?$numeric_limits@F@std@@SAFXZ -> public: static short __cdecl std::numeric_limits<short>::signaling_NaN(void) */
767 short __cdecl
std_numeric_limits_short_signaling_NaN(void) { return 0; }
769 /* ?signaling_NaN@?$numeric_limits@G@std@@SAGXZ -> public: static unsigned short __cdecl std::numeric_limits<unsigned short>::signaling_NaN(void) */
770 unsigned short __cdecl
std_numeric_limits_unsigned_short_signaling_NaN(void) { return 0; }
772 /* ?signaling_NaN@?$numeric_limits@H@std@@SAHXZ -> public: static int __cdecl std::numeric_limits<int>::signaling_NaN(void) */
773 int __cdecl
std_numeric_limits_int_signaling_NaN(void) { return 0; }
775 /* ?signaling_NaN@?$numeric_limits@I@std@@SAIXZ -> public: static unsigned int __cdecl std::numeric_limits<unsigned int>::signaling_NaN(void) */
776 unsigned int __cdecl
std_numeric_limits_unsigned_int_signaling_NaN(void) { return 0; }
778 /* ?signaling_NaN@?$numeric_limits@J@std@@SAJXZ -> public: static long __cdecl std::numeric_limits<long>::signaling_NaN(void) */
779 LONG __cdecl
std_numeric_limits_long_signaling_NaN(void) { return 0; }
781 /* ?signaling_NaN@?$numeric_limits@K@std@@SAKXZ -> public: static unsigned long __cdecl std::numeric_limits<unsigned long>::signaling_NaN(void) */
782 ULONG __cdecl
std_numeric_limits_unsigned_long_signaling_NaN(void) { return 0; }
784 /* ?signaling_NaN@?$numeric_limits@M@std@@SAMXZ -> public: static float __cdecl std::numeric_limits<float>::signaling_NaN(void) */
785 float __cdecl
std_numeric_limits_float_signaling_NaN(void) { return *(float *)&_FSnan
; }
787 /* ?signaling_NaN@?$numeric_limits@N@std@@SANXZ -> public: static double __cdecl std::numeric_limits<double>::signaling_NaN(void) */
788 double __cdecl
std_numeric_limits_double_signaling_NaN(void) { return *(double *)&_Snan
; }
790 /* ?signaling_NaN@?$numeric_limits@O@std@@SAOXZ -> public: static long double __cdecl std::numeric_limits<long double>::signaling_NaN(void) */
791 LDOUBLE __cdecl
std_numeric_limits_long_double_signaling_NaN(void) { return *(LDOUBLE
*)&_LSnan
; }
793 /* ?signaling_NaN@?$numeric_limits@_J@std@@SA_JXZ -> public: static __int64 __cdecl std::numeric_limits<__int64>::signaling_NaN(void) */
794 __int64 __cdecl
std_numeric_limits_int64_signaling_NaN(void) { return 0; }
796 /* ?signaling_NaN@?$numeric_limits@_K@std@@SA_KXZ -> public: static unsigned __int64 __cdecl std::numeric_limits<unsigned __int64>::signaling_NaN(void) */
797 unsigned __int64 __cdecl
std_numeric_limits_unsigned_int64_signaling_NaN(void) { return 0; }
799 /* ?signaling_NaN@?$numeric_limits@_N@std@@SA_NXZ -> public: static bool __cdecl std::numeric_limits<bool>::signaling_NaN(void) */
800 BOOLEAN __cdecl
std_numeric_limits_bool_signaling_NaN(void) { return 0; }
802 /* ?signaling_NaN@?$numeric_limits@_W@std@@SA_WXZ -> public: static wchar_t __cdecl std::numeric_limits<wchar_t>::signaling_NaN(void) */
803 WCHAR __cdecl
std_numeric_limits_wchar_t_signaling_NaN(void) { return 0; }
805 /* ??4?$_Ctraits@M@std@@QAEAAV01@ABV01@@Z -> public: class std::_Ctraits<float> & __thiscall std::_Ctraits<float>::operator=(class std::_Ctraits<float> const &) */
806 /* ??4?$_Ctraits@M@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::_Ctraits<float> & __ptr64 __cdecl std::_Ctraits<float>::operator=(class std::_Ctraits<float> const & __ptr64) __ptr64 */
807 /* ??4?$_Ctraits@N@std@@QAEAAV01@ABV01@@Z -> public: class std::_Ctraits<double> & __thiscall std::_Ctraits<double>::operator=(class std::_Ctraits<double> const &) */
808 /* ??4?$_Ctraits@N@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::_Ctraits<double> & __ptr64 __cdecl std::_Ctraits<double>::operator=(class std::_Ctraits<double> const & __ptr64) __ptr64 */
809 /* ??4?$_Ctraits@O@std@@QAEAAV01@ABV01@@Z -> public: class std::_Ctraits<long double> & __thiscall std::_Ctraits<long double>::operator=(class std::_Ctraits<long double> const &) */
810 /* ??4?$_Ctraits@O@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::_Ctraits<long double> & __ptr64 __cdecl std::_Ctraits<long double>::operator=(class std::_Ctraits<long double> const & __ptr64) __ptr64 */
811 DEFINE_THISCALL_WRAPPER( std_Ctraits_op_assign
, 8 )
812 std_Ctraits
* __thiscall
std_Ctraits_op_assign( std_Ctraits
*this, std_Ctraits
*right
)
817 /* ?atan2@?$_Ctraits@M@std@@SAMMM@Z -> public: static float __cdecl std::_Ctraits<float>::atan2(float,float) */
818 float __cdecl
std_Ctraits_float_atan2( float y
, float x
) { return atan2f( y
, x
); }
820 /* ?atan2@?$_Ctraits@N@std@@SANNN@Z -> public: static double __cdecl std::_Ctraits<double>::atan2(double,double) */
821 double __cdecl
std_Ctraits_double_atan2( double y
, double x
) { return atan2( y
, x
); }
823 /* ?atan2@?$_Ctraits@O@std@@SAOOO@Z -> public: static long double __cdecl std::_Ctraits<long double>::atan2(long double,long double) */
824 LDOUBLE __cdecl
std_Ctraits_long_double_atan2( LDOUBLE y
, LDOUBLE x
) { return atan2( y
, x
); }
826 /* ?cos@?$_Ctraits@M@std@@SAMM@Z -> public: static float __cdecl std::_Ctraits<float>::cos(float) */
827 float __cdecl
std_Ctraits_float_cos( float x
) { return cosf( x
); }
829 /* ?cos@?$_Ctraits@N@std@@SANN@Z -> public: static double __cdecl std::_Ctraits<double>::cos(double) */
830 double __cdecl
std_Ctraits_double_cos( double x
) { return cos( x
); }
832 /* ?cos@?$_Ctraits@O@std@@SAOO@Z -> public: static long double __cdecl std::_Ctraits<long double>::cos(long double) */
833 LDOUBLE __cdecl
std_Ctraits_long_double_cos( LDOUBLE x
) { return cos( x
); }
835 /* ?exp@?$_Ctraits@M@std@@SAMM@Z -> public: static float __cdecl std::_Ctraits<float>::exp(float) */
836 float __cdecl
std_Ctraits_float_exp( float x
) { return expf( x
); }
838 /* ?exp@?$_Ctraits@N@std@@SANN@Z -> public: static double __cdecl std::_Ctraits<double>::exp(double) */
839 double __cdecl
std_Ctraits_double_exp( double x
) { return exp( x
); }
841 /* ?exp@?$_Ctraits@O@std@@SAOO@Z -> public: static long double __cdecl std::_Ctraits<long double>::exp(long double) */
842 LDOUBLE __cdecl
std_Ctraits_long_double_exp( LDOUBLE x
) { return exp( x
); }
844 /* ?ldexp@?$_Ctraits@M@std@@SAMMH@Z -> public: static float __cdecl std::_Ctraits<float>::ldexp(float,int) */
845 float __cdecl
std_Ctraits_float_ldexp( float x
, int y
) { return ldexpf( x
, y
); }
847 /* ?ldexp@?$_Ctraits@N@std@@SANNH@Z -> public: static double __cdecl std::_Ctraits<double>::ldexp(double,int) */
848 double __cdecl
std_Ctraits_double_ldexp( double x
, int y
) { return ldexp( x
, y
); }
850 /* ?ldexp@?$_Ctraits@O@std@@SAOOH@Z -> public: static long double __cdecl std::_Ctraits<long double>::ldexp(long double,int) */
851 LDOUBLE __cdecl
std_Ctraits_long_double_ldexp( LDOUBLE x
, int y
) { return ldexp( x
, y
); }
853 /* ?log@?$_Ctraits@M@std@@SAMM@Z -> public: static float __cdecl std::_Ctraits<float>::log(float) */
854 float __cdecl
std_Ctraits_float_log( float x
) { return logf( x
); }
856 /* ?log@?$_Ctraits@N@std@@SANN@Z -> public: static double __cdecl std::_Ctraits<double>::log(double) */
857 double __cdecl
std_Ctraits_double_log( double x
) { return log( x
); }
859 /* ?log@?$_Ctraits@O@std@@SAOO@Z -> public: static long double __cdecl std::_Ctraits<long double>::log(long double) */
860 LDOUBLE __cdecl
std_Ctraits_long_double_log( LDOUBLE x
) { return log( x
); }
862 /* ?pow@?$_Ctraits@M@std@@SAMMM@Z -> public: static float __cdecl std::_Ctraits<float>::pow(float,float) */
863 float __cdecl
std_Ctraits_float_pow( float x
, float y
) { return powf( x
, y
); }
865 /* ?pow@?$_Ctraits@N@std@@SANNN@Z -> public: static double __cdecl std::_Ctraits<double>::pow(double,double) */
866 double __cdecl
std_Ctraits_double_pow( double x
, double y
) { return pow( x
, y
); }
868 /* ?pow@?$_Ctraits@O@std@@SAOOO@Z -> public: static long double __cdecl std::_Ctraits<long double>::pow(long double,long double) */
869 LDOUBLE __cdecl
std_Ctraits_long_double_pow( LDOUBLE x
, LDOUBLE y
) { return pow( x
, y
); }
871 /* ?sin@?$_Ctraits@M@std@@SAMM@Z -> public: static float __cdecl std::_Ctraits<float>::sin(float) */
872 float __cdecl
std_Ctraits_float_sin( float x
) { return sinf( x
); }
874 /* ?sin@?$_Ctraits@N@std@@SANN@Z -> public: static double __cdecl std::_Ctraits<double>::sin(double) */
875 double __cdecl
std_Ctraits_double_sin( double x
) { return sin( x
); }
877 /* ?sin@?$_Ctraits@O@std@@SAOO@Z -> public: static long double __cdecl std::_Ctraits<long double>::sin(long double) */
878 LDOUBLE __cdecl
std_Ctraits_long_double_sin( LDOUBLE x
) { return sin( x
); }
880 /* ?sqrt@?$_Ctraits@M@std@@SAMM@Z -> public: static float __cdecl std::_Ctraits<float>::sqrt(float) */
881 float __cdecl
std_Ctraits_float_sqrt( float x
) { return sqrtf( x
); }
883 /* ?sqrt@?$_Ctraits@N@std@@SANN@Z -> public: static double __cdecl std::_Ctraits<double>::sqrt(double) */
884 double __cdecl
std_Ctraits_double_sqrt( double x
) { return sqrt( x
); }
886 /* ?sqrt@?$_Ctraits@O@std@@SAOO@Z -> public: static long double __cdecl std::_Ctraits<long double>::sqrt(long double) */
887 LDOUBLE __cdecl
std_Ctraits_long_double_sqrt( LDOUBLE x
) { return sqrt( x
); }
889 /* ?tan@?$_Ctraits@M@std@@SAMM@Z -> public: static float __cdecl std::_Ctraits<float>::tan(float) */
890 float __cdecl
std_Ctraits_float_tan( float x
) { return tanf( x
); }
892 /* ?tan@?$_Ctraits@N@std@@SANN@Z -> public: static double __cdecl std::_Ctraits<double>::tan(double) */
893 double __cdecl
std_Ctraits_double_tan( double x
) { return tan( x
); }
895 /* ?tan@?$_Ctraits@O@std@@SAOO@Z -> public: static long double __cdecl std::_Ctraits<long double>::tan(long double) */
896 LDOUBLE __cdecl
std_Ctraits_long_double_tan( LDOUBLE x
) { return tan( x
); }
898 /* ??0?$_Complex_base@MU_C_float_complex@@@std@@QAE@ABM0@Z */
899 /* ??0?$_Complex_base@MU_C_float_complex@@@std@@QEAA@AEBM0@Z */
900 /* ??0?$complex@M@std@@QAE@ABM0@Z */
901 /* ??0?$complex@M@std@@QEAA@AEBM0@Z */
902 DEFINE_THISCALL_WRAPPER(complex_float_ctor
, 12)
903 complex_float
* __thiscall
complex_float_ctor(complex_float
*this, const float *real
, const float *imag
)
910 /* ??0?$complex@M@std@@QAE@ABU_C_float_complex@@@Z */
911 /* ??0?$complex@M@std@@QEAA@AEBU_C_float_complex@@@Z */
912 DEFINE_THISCALL_WRAPPER(complex_float_ctor_float
, 8)
913 complex_float
* __thiscall
complex_float_ctor_float(complex_float
*this, const complex_float
*c
)
915 this->real
= c
->real
;
916 this->imag
= c
->imag
;
920 /* ??0?$complex@M@std@@QAE@ABU_C_double_complex@@@Z */
921 /* ??0?$complex@M@std@@QEAA@AEBU_C_double_complex@@@Z */
922 /* ??0?$complex@M@std@@QAE@ABU_C_ldouble_complex@@@Z */
923 /* ??0?$complex@M@std@@QEAA@AEBU_C_ldouble_complex@@@Z */
924 /* ??0?$complex@M@std@@QAE@ABV?$complex@N@1@@Z */
925 /* ??0?$complex@M@std@@QEAA@AEBV?$complex@N@1@@Z */
926 /* ??0?$complex@M@std@@QAE@ABV?$complex@O@1@@Z */
927 /* ??0?$complex@M@std@@QEAA@AEBV?$complex@O@1@@Z */
928 DEFINE_THISCALL_WRAPPER(complex_float_ctor_double
, 8)
929 complex_float
* __thiscall
complex_float_ctor_double(complex_float
*this, const complex_double
*c
)
931 this->real
= c
->real
;
932 this->imag
= c
->imag
;
936 /* ??_F?$complex@M@std@@QAEXXZ */
937 /* ??_F?$complex@M@std@@QEAAXXZ */
938 DEFINE_THISCALL_WRAPPER(complex_float_ctor_def
, 4)
939 complex_float
* __thiscall
complex_float_ctor_def(complex_float
*this)
941 this->real
= this->imag
= 0;
945 /* ??$?8M@std@@YA_NABMABV?$complex@M@0@@Z */
946 /* ??$?8M@std@@YA_NAEBMAEBV?$complex@M@0@@Z */
947 MSVCP_bool __cdecl
complex_float_equal_fc(const float *l
, const complex_float
*r
)
949 return *l
==r
->real
&& r
->imag
==0;
952 /* ??$?8M@std@@YA_NABV?$complex@M@0@0@Z */
953 /* ??$?8M@std@@YA_NAEBV?$complex@M@0@0@Z */
954 MSVCP_bool __cdecl
complex_float_equal(const complex_float
*l
, const complex_float
*r
)
956 return l
->real
==r
->real
&& l
->imag
==r
->imag
;
959 /* ??$?8M@std@@YA_NABV?$complex@M@0@ABM@Z */
960 /* ??$?8M@std@@YA_NAEBV?$complex@M@0@AEBM@Z */
961 MSVCP_bool __cdecl
complex_float_equal_cf(const complex_float
*l
, const float *r
)
963 return l
->real
==*r
&& l
->imag
==0;
966 /* ??$?9M@std@@YA_NABMABV?$complex@M@0@@Z */
967 /* ??$?9M@std@@YA_NAEBMAEBV?$complex@M@0@@Z */
968 MSVCP_bool __cdecl
complex_float_not_equal_fc(const float *l
, const complex_float
*r
)
970 return !complex_float_equal_fc(l
, r
);
973 /* ??$?9M@std@@YA_NABV?$complex@M@0@0@Z */
974 /* ??$?9M@std@@YA_NAEBV?$complex@M@0@0@Z */
975 MSVCP_bool __cdecl
complex_float_not_equal(const complex_float
*l
, const complex_float
*r
)
977 return !complex_float_equal(l
, r
);
980 /* ??$?9M@std@@YA_NABV?$complex@M@0@ABM@Z */
981 /* ??$?9M@std@@YA_NAEBV?$complex@M@0@AEBM@Z */
982 MSVCP_bool __cdecl
complex_float_not_equal_cf(const complex_float
*l
, const float *r
)
984 return !complex_float_equal_cf(l
, r
);
987 /* ??$?DM@std@@YA?AV?$complex@M@0@ABMABV10@@Z */
988 /* ??$?DM@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z */
989 complex_float
* __cdecl
complex_float_mult_fc(complex_float
*ret
, const float *l
, const complex_float
*r
)
991 ret
->real
= *l
* r
->real
;
992 ret
->imag
= *l
* r
->imag
;
996 /* ??$?DM@std@@YA?AV?$complex@M@0@ABV10@0@Z */
997 /* ??$?DM@std@@YA?AV?$complex@M@0@AEBV10@0@Z */
998 complex_float
* __cdecl
complex_float_mult(complex_float
*ret
, const complex_float
*l
, const complex_float
*r
)
1000 ret
->real
= l
->real
*r
->real
- l
->imag
*r
->imag
;
1001 ret
->imag
= l
->imag
*r
->real
+ l
->real
*r
->imag
;
1005 /* ??$?DM@std@@YA?AV?$complex@M@0@ABV10@ABM@Z */
1006 /* ??$?DM@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z */
1007 complex_float
* __cdecl
complex_float_mult_cf(complex_float
*ret
, const complex_float
*l
, const float *r
)
1009 ret
->real
= l
->real
* *r
;
1010 ret
->imag
= l
->imag
* *r
;
1014 /* ??$?GM@std@@YA?AV?$complex@M@0@ABMABV10@@Z */
1015 /* ??$?GM@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z */
1016 complex_float
* __cdecl
complex_float_sub_fc(complex_float
*ret
, const float *l
, const complex_float
*r
)
1018 ret
->real
= *l
- r
->real
;
1019 ret
->imag
= -r
->imag
;
1023 /* ??$?GM@std@@YA?AV?$complex@M@0@ABV10@0@Z */
1024 /* ??$?GM@std@@YA?AV?$complex@M@0@AEBV10@0@Z */
1025 complex_float
* __cdecl
complex_float_sub(complex_float
*ret
, const complex_float
*l
, const complex_float
*r
)
1027 ret
->real
= l
->real
- r
->real
;
1028 ret
->imag
= l
->imag
- r
->imag
;
1032 /* ??$?GM@std@@YA?AV?$complex@M@0@ABV10@@Z */
1033 /* ??$?GM@std@@YA?AV?$complex@M@0@AEBV10@@Z */
1034 complex_float
* __cdecl
complex_float_neg(complex_float
*ret
, const complex_float
*c
)
1036 ret
->real
= -c
->real
;
1037 ret
->imag
= -c
->imag
;
1041 /* ??$?GM@std@@YA?AV?$complex@M@0@ABV10@ABM@Z */
1042 /* ??$?GM@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z */
1043 complex_float
* __cdecl
complex_float_sub_cf(complex_float
*ret
, const complex_float
*l
, const float *r
)
1045 ret
->real
= l
->real
- *r
;
1046 ret
->imag
= l
->imag
;
1050 /* ??$?HM@std@@YA?AV?$complex@M@0@ABMABV10@@Z */
1051 /* ??$?HM@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z */
1052 complex_float
* __cdecl
complex_float_add_fc(complex_float
*ret
, const float *l
, const complex_float
*r
)
1054 ret
->real
= *l
+ r
->real
;
1055 ret
->imag
= r
->imag
;
1059 /* ??$?HM@std@@YA?AV?$complex@M@0@ABV10@0@Z */
1060 /* ??$?HM@std@@YA?AV?$complex@M@0@AEBV10@0@Z */
1061 complex_float
* __cdecl
complex_float_add(complex_float
*ret
, const complex_float
*l
, const complex_float
*r
)
1063 ret
->real
= l
->real
+ r
->real
;
1064 ret
->imag
= l
->imag
+ r
->imag
;
1068 /* ??$?HM@std@@YA?AV?$complex@M@0@ABV10@@Z */
1069 /* ??$?HM@std@@YA?AV?$complex@M@0@AEBV10@@Z */
1070 complex_float
* __cdecl
complex_float_plus(complex_float
*ret
, const complex_float
*c
)
1076 /* ??$?HM@std@@YA?AV?$complex@M@0@ABV10@ABM@Z */
1077 /* ??$?HM@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z */
1078 complex_float
* __cdecl
complex_float_add_cf(complex_float
*ret
, const complex_float
*l
, const float *r
)
1080 ret
->real
= l
->real
+ *r
;
1081 ret
->imag
= l
->imag
;
1085 /* ??$?KM@std@@YA?AV?$complex@M@0@ABV10@0@Z */
1086 /* ??$?KM@std@@YA?AV?$complex@M@0@AEBV10@0@Z */
1087 complex_float
* __cdecl
complex_float_div(complex_float
*ret
, const complex_float
*l
, const complex_float
*r
)
1089 if((!r
->real
&& !r
->imag
) || _isnan(l
->real
) || _isnan(l
->imag
)
1090 || _isnan(r
->real
) || _isnan(r
->imag
)) {
1091 ret
->real
= std_numeric_limits_float_quiet_NaN();
1092 ret
->imag
= ret
->real
;
1099 ret
->real
= l
->real
/ r
->real
;
1100 ret
->imag
= l
->imag
/ r
->real
;
1103 ret
->real
+= l
->imag
/ r
->imag
;
1104 ret
->imag
-= l
->real
/ r
->imag
;
1109 /* ??$?KM@std@@YA?AV?$complex@M@0@ABMABV10@@Z */
1110 /* ??$?KM@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z */
1111 complex_float
* __cdecl
complex_float_div_fc(complex_float
*ret
, const float *l
, const complex_float
*r
)
1113 complex_float c
= {*l
, 0};
1114 return complex_float_div(ret
, &c
, r
);
1117 /* ??$?KM@std@@YA?AV?$complex@M@0@ABV10@ABM@Z */
1118 /* ??$?KM@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z */
1119 complex_float
* __cdecl
complex_float_div_cf(complex_float
*ret
, const complex_float
*l
, const float *r
)
1121 ret
->real
= l
->real
/ *r
;
1122 ret
->imag
= l
->imag
/ *r
;
1126 /* ??4?$_Complex_base@MU_C_float_complex@@@std@@QAEAAV01@ABV01@@Z */
1127 /* ??4?$_Complex_base@MU_C_float_complex@@@std@@QEAAAEAV01@AEBV01@@Z */
1128 /* ??4?$complex@M@std@@QAEAAV01@ABV01@@Z */
1129 /* ??4?$complex@M@std@@QEAAAEAV01@AEBV01@@Z */
1130 DEFINE_THISCALL_WRAPPER(complex_float_assign
, 8)
1131 complex_float
* __thiscall
complex_float_assign(complex_float
*this, const complex_float
*r
)
1137 /* ??4?$complex@M@std@@QAEAAV01@ABM@Z */
1138 /* ??4?$complex@M@std@@QEAAAEAV01@AEBM@Z */
1139 DEFINE_THISCALL_WRAPPER(complex_float_assign_float
, 8)
1140 complex_float
* __thiscall
complex_float_assign_float(complex_float
*this, const float *r
)
1147 /* ??X?$complex@M@std@@QAEAAV01@ABM@Z */
1148 /* ??X?$complex@M@std@@QEAAAEAV01@AEBM@Z */
1149 DEFINE_THISCALL_WRAPPER(complex_float_mult_assign_float
, 8)
1150 complex_float
* __thiscall
complex_float_mult_assign_float(complex_float
*this, const float *r
)
1157 /* ??X?$complex@M@std@@QAEAAV01@ABV01@@Z */
1158 /* ??X?$complex@M@std@@QEAAAEAV01@AEBV01@@Z */
1159 DEFINE_THISCALL_WRAPPER(complex_float_mult_assign
, 8)
1160 complex_float
* __thiscall
complex_float_mult_assign(complex_float
*this, const complex_float
*r
)
1162 complex_float tmp
= *this;
1164 this->real
= tmp
.real
*r
->real
- tmp
.imag
*r
->imag
;
1165 this->imag
= tmp
.real
*r
->imag
+ tmp
.imag
*r
->real
;
1169 /* ??Y?$complex@M@std@@QAEAAV01@ABM@Z */
1170 /* ??Y?$complex@M@std@@QEAAAEAV01@AEBM@Z */
1171 DEFINE_THISCALL_WRAPPER(complex_float_add_assign_float
, 8)
1172 complex_float
* __thiscall
complex_float_add_assign_float(complex_float
*this, const float *r
)
1178 /* ??Y?$complex@M@std@@QAEAAV01@ABV01@@Z */
1179 /* ??Y?$complex@M@std@@QEAAAEAV01@AEBV01@@Z */
1180 DEFINE_THISCALL_WRAPPER(complex_float_add_assign
, 8)
1181 complex_float
* __thiscall
complex_float_add_assign(complex_float
*this, const complex_float
*r
)
1183 this->real
+= r
->real
;
1184 this->imag
+= r
->imag
;
1188 /* ??Z?$complex@M@std@@QAEAAV01@ABM@Z */
1189 /* ??Z?$complex@M@std@@QEAAAEAV01@AEBM@Z */
1190 DEFINE_THISCALL_WRAPPER(complex_float_sub_assign_float
, 8)
1191 complex_float
* __thiscall
complex_float_sub_assign_float(complex_float
*this, const float *r
)
1197 /* ??Z?$complex@M@std@@QAEAAV01@ABV01@@Z */
1198 /* ??Z?$complex@M@std@@QEAAAEAV01@AEBV01@@Z */
1199 DEFINE_THISCALL_WRAPPER(complex_float_sub_assign
, 8)
1200 complex_float
* __thiscall
complex_float_sub_assign(complex_float
*this, const complex_float
*r
)
1202 this->real
-= r
->real
;
1203 this->imag
-= r
->imag
;
1207 /* ??_0?$complex@M@std@@QAEAAV01@ABM@Z */
1208 /* ??_0?$complex@M@std@@QEAAAEAV01@AEBM@Z */
1209 DEFINE_THISCALL_WRAPPER(complex_float_div_assign_float
, 8)
1210 complex_float
* __thiscall
complex_float_div_assign_float(complex_float
*this, const float *r
)
1217 /* ??_0?$complex@M@std@@QAEAAV01@ABV01@@Z */
1218 /* ??_0?$complex@M@std@@QEAAAEAV01@AEBV01@@Z */
1219 DEFINE_THISCALL_WRAPPER(complex_float_div_assign
, 8)
1220 complex_float
* __thiscall
complex_float_div_assign(complex_float
*this, const complex_float
*r
)
1222 complex_float tmp
= *this;
1223 return complex_float_div(this, &tmp
, r
);
1226 /* ??$arg@M@std@@YAMABV?$complex@M@0@@Z */
1227 /* ??$arg@M@std@@YAMAEBV?$complex@M@0@@Z */
1228 float __cdecl
complex_float_arg(const complex_float
*c
)
1230 return atan2(c
->imag
, c
->real
);
1233 /* ??0?$_Complex_base@NU_C_double_complex@@@std@@QAE@ABN0@Z */
1234 /* ??0?$_Complex_base@NU_C_double_complex@@@std@@QEAA@AEBN0@Z */
1235 /* ??0?$_Complex_base@OU_C_ldouble_complex@@@std@@QAE@ABO0@Z */
1236 /* ??0?$_Complex_base@OU_C_ldouble_complex@@@std@@QEAA@AEBO0@Z */
1237 /* ??0?$complex@N@std@@QAE@ABN0@Z */
1238 /* ??0?$complex@N@std@@QEAA@AEBN0@Z */
1239 /* ??0?$complex@O@std@@QAE@ABO0@Z */
1240 /* ??0?$complex@O@std@@QEAA@AEBO0@Z */
1241 DEFINE_THISCALL_WRAPPER(complex_double_ctor
, 12)
1242 complex_double
* __thiscall
complex_double_ctor(complex_double
*this, const double *real
, const double *imag
)
1249 /* ??0?$complex@N@std@@QAE@ABU_C_double_complex@@@Z */
1250 /* ??0?$complex@N@std@@QEAA@AEBU_C_double_complex@@@Z */
1251 /* ??0?$complex@N@std@@QAE@ABU_C_ldouble_complex@@@Z */
1252 /* ??0?$complex@N@std@@QEAA@AEBU_C_ldouble_complex@@@Z */
1253 /* ??0?$complex@N@std@@QAE@ABV?$complex@O@1@@Z */
1254 /* ??0?$complex@N@std@@QEAA@AEBV?$complex@O@1@@Z */
1255 /* ??0?$complex@O@std@@QAE@ABU_C_ldouble_complex@@@Z */
1256 /* ??0?$complex@O@std@@QEAA@AEBU_C_ldouble_complex@@@Z */
1257 /* ??0?$complex@O@std@@QAE@ABV?$complex@N@1@@Z */
1258 /* ??0?$complex@O@std@@QEAA@AEBV?$complex@N@1@@Z */
1259 DEFINE_THISCALL_WRAPPER(complex_double_ctor_double
, 8)
1260 complex_double
* __thiscall
complex_double_ctor_double(complex_double
*this, const complex_double
*c
)
1262 this->real
= c
->real
;
1263 this->imag
= c
->imag
;
1267 /* ??0?$complex@N@std@@QAE@ABV?$complex@M@1@@Z */
1268 /* ??0?$complex@N@std@@QEAA@AEBV?$complex@M@1@@Z */
1269 /* ??0?$complex@O@std@@QAE@ABV?$complex@M@1@@Z */
1270 /* ??0?$complex@O@std@@QEAA@AEBV?$complex@M@1@@Z */
1271 DEFINE_THISCALL_WRAPPER(complex_double_ctor_float
, 8)
1272 complex_double
* __thiscall
complex_double_ctor_float(complex_double
*this, const complex_float
*c
)
1274 this->real
= c
->real
;
1275 this->imag
= c
->imag
;
1279 /* ??_F?$complex@N@std@@QAEXXZ */
1280 /* ??_F?$complex@N@std@@QEAAXXZ */
1281 /* ??_F?$complex@O@std@@QAEXXZ */
1282 /* ??_F?$complex@O@std@@QEAAXXZ */
1283 DEFINE_THISCALL_WRAPPER(complex_double_ctor_def
, 4)
1284 complex_double
* __thiscall
complex_double_ctor_def(complex_double
*this)
1286 this->real
= this->imag
= 0;
1290 /* ??$?8N@std@@YA_NABNABV?$complex@N@0@@Z */
1291 /* ??$?8N@std@@YA_NAEBNAEBV?$complex@N@0@@Z */
1292 /* ??$?8O@std@@YA_NABOABV?$complex@O@0@@Z */
1293 /* ??$?8O@std@@YA_NAEBOAEBV?$complex@O@0@@Z */
1294 MSVCP_bool __cdecl
complex_double_equal_dc(const double *l
, const complex_double
*r
)
1296 return *l
==r
->real
&& r
->imag
==0;
1299 /* ??$?8N@std@@YA_NABV?$complex@N@0@0@Z */
1300 /* ??$?8N@std@@YA_NAEBV?$complex@N@0@0@Z */
1301 /* ??$?8O@std@@YA_NABV?$complex@O@0@0@Z */
1302 /* ??$?8O@std@@YA_NAEBV?$complex@O@0@0@Z */
1303 MSVCP_bool __cdecl
complex_double_equal(const complex_double
*l
, const complex_double
*r
)
1305 return l
->real
==r
->real
&& l
->imag
==r
->imag
;
1308 /* ??$?8N@std@@YA_NABV?$complex@N@0@ABN@Z */
1309 /* ??$?8N@std@@YA_NAEBV?$complex@N@0@AEBN@Z */
1310 /* ??$?8O@std@@YA_NABV?$complex@O@0@ABO@Z */
1311 /* ??$?8O@std@@YA_NAEBV?$complex@O@0@AEBO@Z */
1312 MSVCP_bool __cdecl
complex_double_equal_cd(const complex_double
*l
, double *r
)
1314 return l
->real
==*r
&& l
->imag
==0;
1317 /* ??$?9N@std@@YA_NABNABV?$complex@N@0@@Z */
1318 /* ??$?9N@std@@YA_NAEBNAEBV?$complex@N@0@@Z */
1319 /* ??$?9O@std@@YA_NABOABV?$complex@O@0@@Z */
1320 /* ??$?9O@std@@YA_NAEBOAEBV?$complex@O@0@@Z */
1321 MSVCP_bool __cdecl
complex_double_not_equal_dc(const double *l
, const complex_double
*r
)
1323 return !complex_double_equal_dc(l
, r
);
1326 /* ??$?9N@std@@YA_NABV?$complex@N@0@0@Z */
1327 /* ??$?9N@std@@YA_NAEBV?$complex@N@0@0@Z */
1328 /* ??$?9O@std@@YA_NABV?$complex@O@0@0@Z */
1329 /* ??$?9O@std@@YA_NAEBV?$complex@O@0@0@Z */
1330 MSVCP_bool __cdecl
complex_double_not_equal(const complex_double
*l
, const complex_double
*r
)
1332 return !complex_double_equal(l
, r
);
1335 /* ??$?9N@std@@YA_NABV?$complex@N@0@ABN@Z */
1336 /* ??$?9N@std@@YA_NAEBV?$complex@N@0@AEBN@Z */
1337 /* ??$?9O@std@@YA_NABV?$complex@O@0@ABO@Z */
1338 /* ??$?9O@std@@YA_NAEBV?$complex@O@0@AEBO@Z */
1339 MSVCP_bool __cdecl
complex_double_not_equal_cd(const complex_double
*l
, double *r
)
1341 return !complex_double_equal_cd(l
, r
);
1344 /* ??$?DN@std@@YA?AV?$complex@N@0@ABNABV10@@Z */
1345 /* ??$?DN@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z */
1346 /* ??$?DO@std@@YA?AV?$complex@O@0@ABOABV10@@Z */
1347 /* ??$?DO@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z */
1348 complex_double
* __cdecl
complex_double_mult_dc(complex_double
*ret
, const double *l
, const complex_double
*r
)
1350 ret
->real
= *l
* r
->real
;
1351 ret
->imag
= *l
* r
->imag
;
1355 /* ??$?DN@std@@YA?AV?$complex@N@0@ABV10@0@Z */
1356 /* ??$?DN@std@@YA?AV?$complex@N@0@AEBV10@0@Z */
1357 /* ??$?DO@std@@YA?AV?$complex@O@0@ABV10@0@Z */
1358 /* ??$?DO@std@@YA?AV?$complex@O@0@AEBV10@0@Z */
1359 complex_double
* __cdecl
complex_double_mult(complex_double
*ret
, const complex_double
*l
, const complex_double
*r
)
1361 ret
->real
= l
->real
*r
->real
- l
->imag
*r
->imag
;
1362 ret
->imag
= l
->imag
*r
->real
+ l
->real
*r
->imag
;
1366 /* ??$?DN@std@@YA?AV?$complex@N@0@ABV10@ABN@Z */
1367 /* ??$?DN@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z */
1368 /* ??$?DO@std@@YA?AV?$complex@O@0@ABV10@ABO@Z */
1369 /* ??$?DO@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z */
1370 complex_double
* __cdecl
complex_double_mult_cd(complex_double
*ret
, const complex_double
*l
, double *r
)
1372 ret
->real
= l
->real
* *r
;
1373 ret
->imag
= l
->imag
* *r
;
1377 /* ??$?GN@std@@YA?AV?$complex@N@0@ABNABV10@@Z */
1378 /* ??$?GN@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z */
1379 /* ??$?GO@std@@YA?AV?$complex@O@0@ABOABV10@@Z */
1380 /* ??$?GO@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z */
1381 complex_double
* __cdecl
complex_double_sub_dc(complex_double
*ret
, const double *l
, const complex_double
*r
)
1383 ret
->real
= *l
- r
->real
;
1384 ret
->imag
= -r
->imag
;
1388 /* ??$?GN@std@@YA?AV?$complex@N@0@ABV10@0@Z */
1389 /* ??$?GN@std@@YA?AV?$complex@N@0@AEBV10@0@Z */
1390 /* ??$?GO@std@@YA?AV?$complex@O@0@ABV10@0@Z */
1391 /* ??$?GO@std@@YA?AV?$complex@O@0@AEBV10@0@Z */
1392 complex_double
* __cdecl
complex_double_sub(complex_double
*ret
, const complex_double
*l
, const complex_double
*r
)
1394 ret
->real
= l
->real
- r
->real
;
1395 ret
->imag
= l
->imag
- r
->imag
;
1399 /* ??$?GN@std@@YA?AV?$complex@N@0@ABV10@@Z */
1400 /* ??$?GN@std@@YA?AV?$complex@N@0@AEBV10@@Z */
1401 /* ??$?GO@std@@YA?AV?$complex@O@0@ABV10@@Z */
1402 /* ??$?GO@std@@YA?AV?$complex@O@0@AEBV10@@Z */
1403 complex_double
* __cdecl
complex_double_neg(complex_double
*ret
, const complex_double
*c
)
1405 ret
->real
= -c
->real
;
1406 ret
->imag
= -c
->imag
;
1410 /* ??$?GN@std@@YA?AV?$complex@N@0@ABV10@ABN@Z */
1411 /* ??$?GN@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z */
1412 /* ??$?GO@std@@YA?AV?$complex@O@0@ABV10@ABO@Z */
1413 /* ??$?GO@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z */
1414 complex_double
* __cdecl
complex_double_sub_cd(complex_double
*ret
, const complex_double
*l
, double *r
)
1416 ret
->real
= l
->real
- *r
;
1417 ret
->imag
= l
->imag
;
1421 /* ??$?HN@std@@YA?AV?$complex@N@0@ABNABV10@@Z */
1422 /* ??$?HN@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z */
1423 /* ??$?HO@std@@YA?AV?$complex@O@0@ABOABV10@@Z */
1424 /* ??$?HO@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z */
1425 complex_double
* __cdecl
complex_double_add_dc(complex_double
*ret
, const double *l
, const complex_double
*r
)
1427 ret
->real
= *l
+ r
->real
;
1428 ret
->imag
= r
->imag
;
1432 /* ??$?HN@std@@YA?AV?$complex@N@0@ABV10@0@Z */
1433 /* ??$?HN@std@@YA?AV?$complex@N@0@AEBV10@0@Z */
1434 /* ??$?HO@std@@YA?AV?$complex@O@0@ABV10@0@Z */
1435 /* ??$?HO@std@@YA?AV?$complex@O@0@AEBV10@0@Z */
1436 complex_double
* __cdecl
complex_double_add(complex_double
*ret
, const complex_double
*l
, const complex_double
*r
)
1438 ret
->real
= l
->real
+ r
->real
;
1439 ret
->imag
= l
->imag
+ r
->imag
;
1443 /* ??$?HN@std@@YA?AV?$complex@N@0@ABV10@@Z */
1444 /* ??$?HN@std@@YA?AV?$complex@N@0@AEBV10@@Z */
1445 /* ??$?HO@std@@YA?AV?$complex@O@0@ABV10@@Z */
1446 /* ??$?HO@std@@YA?AV?$complex@O@0@AEBV10@@Z */
1447 complex_double
* __cdecl
complex_double_plus(complex_double
*ret
, const complex_double
*c
)
1453 /* ??$?HN@std@@YA?AV?$complex@N@0@ABV10@ABN@Z */
1454 /* ??$?HN@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z */
1455 /* ??$?HO@std@@YA?AV?$complex@O@0@ABV10@ABO@Z */
1456 /* ??$?HO@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z */
1457 complex_double
* __cdecl
complex_double_add_cd(complex_double
*ret
, const complex_double
*l
, double *r
)
1459 ret
->real
= l
->real
+ *r
;
1460 ret
->imag
= l
->imag
;
1464 /* ??$?KN@std@@YA?AV?$complex@N@0@ABV10@0@Z */
1465 /* ??$?KN@std@@YA?AV?$complex@N@0@AEBV10@0@Z */
1466 /* ??$?KO@std@@YA?AV?$complex@O@0@ABV10@0@Z */
1467 /* ??$?KO@std@@YA?AV?$complex@O@0@AEBV10@0@Z */
1468 complex_double
* __cdecl
complex_double_div(complex_double
*ret
, const complex_double
*l
, const complex_double
*r
)
1470 if((!r
->real
&& !r
->imag
) || _isnan(l
->real
) || _isnan(l
->imag
)
1471 || _isnan(r
->real
) || _isnan(r
->imag
)) {
1472 ret
->real
= std_numeric_limits_double_quiet_NaN();
1473 ret
->imag
= ret
->real
;
1480 ret
->real
= l
->real
/ r
->real
;
1481 ret
->imag
= l
->imag
/ r
->real
;
1484 ret
->real
+= l
->imag
/ r
->imag
;
1485 ret
->imag
-= l
->real
/ r
->imag
;
1490 /* ??$?KN@std@@YA?AV?$complex@N@0@ABNABV10@@Z */
1491 /* ??$?KN@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z */
1492 /* ??$?KO@std@@YA?AV?$complex@O@0@ABOABV10@@Z */
1493 /* ??$?KO@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z */
1494 complex_double
* __cdecl
complex_double_div_dc(complex_double
*ret
, const double *l
, const complex_double
*r
)
1496 complex_double c
= {*l
, 0};
1497 return complex_double_div(ret
, &c
, r
);
1500 /* ??$?KN@std@@YA?AV?$complex@N@0@ABV10@ABN@Z */
1501 /* ??$?KN@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z */
1502 /* ??$?KO@std@@YA?AV?$complex@O@0@ABV10@ABO@Z */
1503 /* ??$?KO@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z */
1504 complex_double
* __cdecl
complex_double_div_cd(complex_double
*ret
, const complex_double
*l
, double *r
)
1506 ret
->real
= l
->real
/ *r
;
1507 ret
->imag
= l
->imag
/ *r
;
1511 /* ??4?$_Complex_base@NU_C_double_complex@@@std@@QAEAAV01@ABV01@@Z */
1512 /* ??4?$_Complex_base@NU_C_double_complex@@@std@@QEAAAEAV01@AEBV01@@Z */
1513 /* ??4?$_Complex_base@OU_C_ldouble_complex@@@std@@QAEAAV01@ABV01@@Z */
1514 /* ??4?$_Complex_base@OU_C_ldouble_complex@@@std@@QEAAAEAV01@AEBV01@@Z */
1515 /* ??4?$complex@N@std@@QAEAAV01@ABV01@@Z */
1516 /* ??4?$complex@N@std@@QEAAAEAV01@AEBV01@@Z */
1517 /* ??4?$complex@O@std@@QAEAAV01@ABV01@@Z */
1518 /* ??4?$complex@O@std@@QEAAAEAV01@AEBV01@@Z */
1519 DEFINE_THISCALL_WRAPPER(complex_double_assign
, 8)
1520 complex_double
* __thiscall
complex_double_assign(complex_double
*this, const complex_double
*r
)
1526 /* ??4?$complex@N@std@@QAEAAV01@ABN@Z */
1527 /* ??4?$complex@N@std@@QEAAAEAV01@AEBN@Z */
1528 /* ??4?$complex@O@std@@QAEAAV01@ABO@Z */
1529 /* ??4?$complex@O@std@@QEAAAEAV01@AEBO@Z */
1530 DEFINE_THISCALL_WRAPPER(complex_double_assign_double
, 8)
1531 complex_double
* __thiscall
complex_double_assign_double(complex_double
*this, double *r
)
1538 /* ??X?$complex@N@std@@QAEAAV01@ABN@Z */
1539 /* ??X?$complex@N@std@@QEAAAEAV01@AEBN@Z */
1540 /* ??X?$complex@O@std@@QAEAAV01@ABO@Z */
1541 /* ??X?$complex@O@std@@QEAAAEAV01@AEBO@Z */
1542 DEFINE_THISCALL_WRAPPER(complex_double_mult_assign_double
, 8)
1543 complex_double
* __thiscall
complex_double_mult_assign_double(complex_double
*this, const double *r
)
1550 /* ??X?$complex@N@std@@QAEAAV01@ABV01@@Z */
1551 /* ??X?$complex@N@std@@QEAAAEAV01@AEBV01@@Z */
1552 /* ??X?$complex@O@std@@QAEAAV01@ABV01@@Z */
1553 /* ??X?$complex@O@std@@QEAAAEAV01@AEBV01@@Z */
1554 DEFINE_THISCALL_WRAPPER(complex_double_mult_assign
, 8)
1555 complex_double
* __thiscall
complex_double_mult_assign(complex_double
*this, const complex_double
*r
)
1557 complex_double tmp
= *this;
1559 this->real
= tmp
.real
*r
->real
- tmp
.imag
*r
->imag
;
1560 this->imag
= tmp
.real
*r
->imag
+ tmp
.imag
*r
->real
;
1564 /* ??Y?$complex@N@std@@QAEAAV01@ABN@Z */
1565 /* ??Y?$complex@N@std@@QEAAAEAV01@AEBN@Z */
1566 /* ??Y?$complex@O@std@@QAEAAV01@ABO@Z */
1567 /* ??Y?$complex@O@std@@QEAAAEAV01@AEBO@Z */
1568 DEFINE_THISCALL_WRAPPER(complex_double_add_assign_double
, 8)
1569 complex_double
* __thiscall
complex_double_add_assign_double(complex_double
*this, const double *r
)
1575 /* ??Y?$complex@N@std@@QAEAAV01@ABV01@@Z */
1576 /* ??Y?$complex@N@std@@QEAAAEAV01@AEBV01@@Z */
1577 /* ??Y?$complex@O@std@@QAEAAV01@ABV01@@Z */
1578 /* ??Y?$complex@O@std@@QEAAAEAV01@AEBV01@@Z */
1579 DEFINE_THISCALL_WRAPPER(complex_double_add_assign
, 8)
1580 complex_double
* __thiscall
complex_double_add_assign(complex_double
*this, const complex_double
*r
)
1582 this->real
+= r
->real
;
1583 this->imag
+= r
->imag
;
1587 /* ??Z?$complex@N@std@@QAEAAV01@ABN@Z */
1588 /* ??Z?$complex@N@std@@QEAAAEAV01@AEBN@Z */
1589 /* ??Z?$complex@O@std@@QAEAAV01@ABO@Z */
1590 /* ??Z?$complex@O@std@@QEAAAEAV01@AEBO@Z */
1591 DEFINE_THISCALL_WRAPPER(complex_double_sub_assign_double
, 8)
1592 complex_double
* __thiscall
complex_double_sub_assign_double(complex_double
*this, const double *r
)
1598 /* ??Z?$complex@N@std@@QAEAAV01@ABV01@@Z */
1599 /* ??Z?$complex@N@std@@QEAAAEAV01@AEBV01@@Z */
1600 /* ??Z?$complex@O@std@@QAEAAV01@ABV01@@Z */
1601 /* ??Z?$complex@O@std@@QEAAAEAV01@AEBV01@@Z */
1602 DEFINE_THISCALL_WRAPPER(complex_double_sub_assign
, 8)
1603 complex_double
* __thiscall
complex_double_sub_assign(complex_double
*this, const complex_double
*r
)
1605 this->real
-= r
->real
;
1606 this->imag
-= r
->imag
;
1610 /* ??_0?$complex@N@std@@QAEAAV01@ABN@Z */
1611 /* ??_0?$complex@N@std@@QEAAAEAV01@AEBN@Z */
1612 /* ??_0?$complex@O@std@@QAEAAV01@ABO@Z */
1613 /* ??_0?$complex@O@std@@QEAAAEAV01@AEBO@Z */
1614 DEFINE_THISCALL_WRAPPER(complex_double_div_assign_double
, 8)
1615 complex_double
* __thiscall
complex_double_div_assign_double(complex_double
*this, const double *r
)
1622 /* ??_0?$complex@N@std@@QAEAAV01@ABV01@@Z */
1623 /* ??_0?$complex@N@std@@QEAAAEAV01@AEBV01@@Z */
1624 /* ??_0?$complex@O@std@@QAEAAV01@ABV01@@Z */
1625 /* ??_0?$complex@O@std@@QEAAAEAV01@AEBV01@@Z */
1626 DEFINE_THISCALL_WRAPPER(complex_double_div_assign
, 8)
1627 complex_double
* __thiscall
complex_double_div_assign(complex_double
*this, const complex_double
*r
)
1629 complex_double tmp
= *this;
1630 return complex_double_div(this, &tmp
, r
);
1633 /* ??$arg@N@std@@YANABV?$complex@N@0@@Z */
1634 /* ??$arg@N@std@@YANAEBV?$complex@N@0@@Z */
1635 /* ??$arg@O@std@@YAOABV?$complex@O@0@@Z */
1636 /* ??$arg@O@std@@YAOAEBV?$complex@O@0@@Z */
1637 double __cdecl
complex_double_arg(const complex_double
*c
)
1639 return atan2(c
->imag
, c
->real
);