The C and C++ Include Header Files
/usr/include/c++/11/decimal/decimal.h
$ cat -n /usr/include/c++/11/decimal/decimal.h 1 // decimal classes -*- C++ -*- 2 3 // Copyright (C) 2009-2021 Free Software Foundation, Inc. 4 5 // This file is part of the GNU ISO C++ Library. This library is free 6 // software; you can redistribute it and/or modify it under the 7 // terms of the GNU General Public License as published by the 8 // Free Software Foundation; either version 3, or (at your option) 9 // any later version. 10 11 // This library is distributed in the hope that it will be useful, 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 // GNU General Public License for more details. 15 16 // Under Section 7 of GPL version 3, you are granted additional 17 // permissions described in the GCC Runtime Library Exception, version 18 // 3.1, as published by the Free Software Foundation. 19 20 // You should have received a copy of the GNU General Public License and 21 // a copy of the GCC Runtime Library Exception along with this program; 22 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 23 //
. 24 25 /** @file decimal/decimal.h 26 * This is an internal header file, included by other library headers. 27 * Do not attempt to use it directly. @headername{decimal} 28 */ 29 30 // ISO/IEC TR 24733 31 // Written by Janis Johnson
32 33 #ifndef _GLIBCXX_DECIMAL_IMPL 34 #define _GLIBCXX_DECIMAL_IMPL 1 35 36 #pragma GCC system_header 37 38 namespace std _GLIBCXX_VISIBILITY(default) 39 { 40 _GLIBCXX_BEGIN_NAMESPACE_VERSION 41 42 namespace decimal 43 { 44 // ISO/IEC TR 24733 3.2.[234].1 Construct/copy/destroy. 45 46 inline decimal32::decimal32(decimal64 __r) : __val(__r.__getval()) {} 47 inline decimal32::decimal32(decimal128 __r) : __val(__r.__getval()) {} 48 inline decimal64::decimal64(decimal32 __r) : __val(__r.__getval()) {} 49 inline decimal64::decimal64(decimal128 __r) : __val(__r.__getval()) {} 50 inline decimal128::decimal128(decimal32 __r) : __val(__r.__getval()) {} 51 inline decimal128::decimal128(decimal64 __r) : __val(__r.__getval()) {} 52 53 // ISO/IEC TR 24733 3.2.[234].6 Compound assignment. 54 55 #define _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_DEC(_Op1, _Op2, _T1, _T2) \ 56 inline _T1& _T1::operator _Op1(_T2 __rhs) \ 57 { \ 58 __setval(__getval() _Op2 __rhs.__getval()); \ 59 return *this; \ 60 } 61 62 #define _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_INT(_Op1, _Op2, _T1, _T2) \ 63 inline _T1& _T1::operator _Op1(_T2 __rhs) \ 64 { \ 65 __setval(__getval() _Op2 __rhs); \ 66 return *this; \ 67 } 68 69 #define _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(_Op1, _Op2, _T1) \ 70 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_DEC(_Op1, _Op2, _T1, decimal32) \ 71 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_DEC(_Op1, _Op2, _T1, decimal64) \ 72 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_DEC(_Op1, _Op2, _T1, decimal128) \ 73 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_INT(_Op1, _Op2, _T1, int) \ 74 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_INT(_Op1, _Op2, _T1, unsigned int) \ 75 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_INT(_Op1, _Op2, _T1, long) \ 76 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_INT(_Op1, _Op2, _T1, unsigned long)\ 77 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_INT(_Op1, _Op2, _T1, long long) \ 78 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_INT(_Op1, _Op2, _T1, unsigned long long) 79 80 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(+=, +, decimal32) 81 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(-=, -, decimal32) 82 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(*=, *, decimal32) 83 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(/=, /, decimal32) 84 85 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(+=, +, decimal64) 86 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(-=, -, decimal64) 87 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(*=, *, decimal64) 88 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(/=, /, decimal64) 89 90 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(+=, +, decimal128) 91 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(-=, -, decimal128) 92 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(*=, *, decimal128) 93 _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS(/=, /, decimal128) 94 95 #undef _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_DEC 96 #undef _DEFINE_DECIMAL_COMPOUND_ASSIGNMENT_INT 97 #undef _DEFINE_DECIMAL_COMPOUND_ASSIGNMENTS 98 99 // Extension: Conversion to integral type. 100 101 inline long long decimal32_to_long_long(decimal32 __d) 102 { return (long long)__d.__getval(); } 103 104 inline long long decimal64_to_long_long(decimal64 __d) 105 { return (long long)__d.__getval(); } 106 107 inline long long decimal128_to_long_long(decimal128 __d) 108 { return (long long)__d.__getval(); } 109 110 inline long long decimal_to_long_long(decimal32 __d) 111 { return (long long)__d.__getval(); } 112 113 inline long long decimal_to_long_long(decimal64 __d) 114 { return (long long)__d.__getval(); } 115 116 inline long long decimal_to_long_long(decimal128 __d) 117 { return (long long)__d.__getval(); } 118 119 // ISO/IEC TR 24733 3.2.5 Initialization from coefficient and exponent. 120 121 static decimal32 make_decimal32(long long __coeff, int __exponent) 122 { 123 decimal32 __decexp = 1, __multiplier; 124 125 if (__exponent < 0) 126 { 127 __multiplier = 1.E-1DF; 128 __exponent = -__exponent; 129 } 130 else 131 __multiplier = 1.E1DF; 132 133 for (int __i = 0; __i < __exponent; ++__i) 134 __decexp *= __multiplier; 135 136 return __coeff * __decexp; 137 } 138 139 static decimal32 make_decimal32(unsigned long long __coeff, int __exponent) 140 { 141 decimal32 __decexp = 1, __multiplier; 142 143 if (__exponent < 0) 144 { 145 __multiplier = 1.E-1DF; 146 __exponent = -__exponent; 147 } 148 else 149 __multiplier = 1.E1DF; 150 151 for (int __i = 0; __i < __exponent; ++__i) 152 __decexp *= __multiplier; 153 154 return __coeff * __decexp; 155 } 156 157 static decimal64 make_decimal64(long long __coeff, int __exponent) 158 { 159 decimal64 __decexp = 1, __multiplier; 160 161 if (__exponent < 0) 162 { 163 __multiplier = 1.E-1DD; 164 __exponent = -__exponent; 165 } 166 else 167 __multiplier = 1.E1DD; 168 169 for (int __i = 0; __i < __exponent; ++__i) 170 __decexp *= __multiplier; 171 172 return __coeff * __decexp; 173 } 174 175 static decimal64 make_decimal64(unsigned long long __coeff, int __exponent) 176 { 177 decimal64 __decexp = 1, __multiplier; 178 179 if (__exponent < 0) 180 { 181 __multiplier = 1.E-1DD; 182 __exponent = -__exponent; 183 } 184 else 185 __multiplier = 1.E1DD; 186 187 for (int __i = 0; __i < __exponent; ++__i) 188 __decexp *= __multiplier; 189 190 return __coeff * __decexp; 191 } 192 193 static decimal128 make_decimal128(long long __coeff, int __exponent) 194 { 195 decimal128 __decexp = 1, __multiplier; 196 197 if (__exponent < 0) 198 { 199 __multiplier = 1.E-1DL; 200 __exponent = -__exponent; 201 } 202 else 203 __multiplier = 1.E1DL; 204 205 for (int __i = 0; __i < __exponent; ++__i) 206 __decexp *= __multiplier; 207 208 return __coeff * __decexp; 209 } 210 211 static decimal128 make_decimal128(unsigned long long __coeff, int __exponent) 212 { 213 decimal128 __decexp = 1, __multiplier; 214 215 if (__exponent < 0) 216 { 217 __multiplier = 1.E-1DL; 218 __exponent = -__exponent; 219 } 220 else 221 __multiplier = 1.E1DL; 222 223 for (int __i = 0; __i < __exponent; ++__i) 224 __decexp *= __multiplier; 225 226 return __coeff * __decexp; 227 } 228 229 // ISO/IEC TR 24733 3.2.6 Conversion to generic floating-point type. 230 231 inline float decimal32_to_float(decimal32 __d) 232 { return (float)__d.__getval(); } 233 234 inline float decimal64_to_float(decimal64 __d) 235 { return (float)__d.__getval(); } 236 237 inline float decimal128_to_float(decimal128 __d) 238 { return (float)__d.__getval(); } 239 240 inline float decimal_to_float(decimal32 __d) 241 { return (float)__d.__getval(); } 242 243 inline float decimal_to_float(decimal64 __d) 244 { return (float)__d.__getval(); } 245 246 inline float decimal_to_float(decimal128 __d) 247 { return (float)__d.__getval(); } 248 249 inline double decimal32_to_double(decimal32 __d) 250 { return (double)__d.__getval(); } 251 252 inline double decimal64_to_double(decimal64 __d) 253 { return (double)__d.__getval(); } 254 255 inline double decimal128_to_double(decimal128 __d) 256 { return (double)__d.__getval(); } 257 258 inline double decimal_to_double(decimal32 __d) 259 { return (double)__d.__getval(); } 260 261 inline double decimal_to_double(decimal64 __d) 262 { return (double)__d.__getval(); } 263 264 inline double decimal_to_double(decimal128 __d) 265 { return (double)__d.__getval(); } 266 267 inline long double decimal32_to_long_double(decimal32 __d) 268 { return (long double)__d.__getval(); } 269 270 inline long double decimal64_to_long_double(decimal64 __d) 271 { return (long double)__d.__getval(); } 272 273 inline long double decimal128_to_long_double(decimal128 __d) 274 { return (long double)__d.__getval(); } 275 276 inline long double decimal_to_long_double(decimal32 __d) 277 { return (long double)__d.__getval(); } 278 279 inline long double decimal_to_long_double(decimal64 __d) 280 { return (long double)__d.__getval(); } 281 282 inline long double decimal_to_long_double(decimal128 __d) 283 { return (long double)__d.__getval(); } 284 285 // ISO/IEC TR 24733 3.2.7 Unary arithmetic operators. 286 287 #define _DEFINE_DECIMAL_UNARY_OP(_Op, _Tp) \ 288 inline _Tp operator _Op(_Tp __rhs) \ 289 { \ 290 _Tp __tmp; \ 291 __tmp.__setval(_Op __rhs.__getval()); \ 292 return __tmp; \ 293 } 294 295 _DEFINE_DECIMAL_UNARY_OP(+, decimal32) 296 _DEFINE_DECIMAL_UNARY_OP(+, decimal64) 297 _DEFINE_DECIMAL_UNARY_OP(+, decimal128) 298 _DEFINE_DECIMAL_UNARY_OP(-, decimal32) 299 _DEFINE_DECIMAL_UNARY_OP(-, decimal64) 300 _DEFINE_DECIMAL_UNARY_OP(-, decimal128) 301 302 #undef _DEFINE_DECIMAL_UNARY_OP 303 304 // ISO/IEC TR 24733 3.2.8 Binary arithmetic operators. 305 306 #define _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(_Op, _T1, _T2, _T3) \ 307 inline _T1 operator _Op(_T2 __lhs, _T3 __rhs) \ 308 { \ 309 _T1 __retval; \ 310 __retval.__setval(__lhs.__getval() _Op __rhs.__getval()); \ 311 return __retval; \ 312 } 313 314 #define _DEFINE_DECIMAL_BINARY_OP_BOTH(_Op, _T1, _T2, _T3) \ 315 inline _T1 operator _Op(_T2 __lhs, _T3 __rhs) \ 316 { \ 317 _T1 __retval; \ 318 __retval.__setval(__lhs.__getval() _Op __rhs.__getval()); \ 319 return __retval; \ 320 } 321 322 #define _DEFINE_DECIMAL_BINARY_OP_LHS(_Op, _T1, _T2) \ 323 inline _T1 operator _Op(_T1 __lhs, _T2 __rhs) \ 324 { \ 325 _T1 __retval; \ 326 __retval.__setval(__lhs.__getval() _Op __rhs); \ 327 return __retval; \ 328 } 329 330 #define _DEFINE_DECIMAL_BINARY_OP_RHS(_Op, _T1, _T2) \ 331 inline _T1 operator _Op(_T2 __lhs, _T1 __rhs) \ 332 { \ 333 _T1 __retval; \ 334 __retval.__setval(__lhs _Op __rhs.__getval()); \ 335 return __retval; \ 336 } 337 338 #define _DEFINE_DECIMAL_BINARY_OP_WITH_INT(_Op, _T1) \ 339 _DEFINE_DECIMAL_BINARY_OP_LHS(_Op, _T1, int); \ 340 _DEFINE_DECIMAL_BINARY_OP_LHS(_Op, _T1, unsigned int); \ 341 _DEFINE_DECIMAL_BINARY_OP_LHS(_Op, _T1, long); \ 342 _DEFINE_DECIMAL_BINARY_OP_LHS(_Op, _T1, unsigned long); \ 343 _DEFINE_DECIMAL_BINARY_OP_LHS(_Op, _T1, long long); \ 344 _DEFINE_DECIMAL_BINARY_OP_LHS(_Op, _T1, unsigned long long); \ 345 _DEFINE_DECIMAL_BINARY_OP_RHS(_Op, _T1, int); \ 346 _DEFINE_DECIMAL_BINARY_OP_RHS(_Op, _T1, unsigned int); \ 347 _DEFINE_DECIMAL_BINARY_OP_RHS(_Op, _T1, long); \ 348 _DEFINE_DECIMAL_BINARY_OP_RHS(_Op, _T1, unsigned long); \ 349 _DEFINE_DECIMAL_BINARY_OP_RHS(_Op, _T1, long long); \ 350 _DEFINE_DECIMAL_BINARY_OP_RHS(_Op, _T1, unsigned long long); \ 351 352 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(+, decimal32, decimal32, decimal32) 353 _DEFINE_DECIMAL_BINARY_OP_WITH_INT(+, decimal32) 354 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(+, decimal64, decimal32, decimal64) 355 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(+, decimal64, decimal64, decimal32) 356 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(+, decimal64, decimal64, decimal64) 357 _DEFINE_DECIMAL_BINARY_OP_WITH_INT(+, decimal64) 358 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(+, decimal128, decimal32, decimal128) 359 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(+, decimal128, decimal64, decimal128) 360 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(+, decimal128, decimal128, decimal32) 361 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(+, decimal128, decimal128, decimal64) 362 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(+, decimal128, decimal128, decimal128) 363 _DEFINE_DECIMAL_BINARY_OP_WITH_INT(+, decimal128) 364 365 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(-, decimal32, decimal32, decimal32) 366 _DEFINE_DECIMAL_BINARY_OP_WITH_INT(-, decimal32) 367 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(-, decimal64, decimal32, decimal64) 368 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(-, decimal64, decimal64, decimal32) 369 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(-, decimal64, decimal64, decimal64) 370 _DEFINE_DECIMAL_BINARY_OP_WITH_INT(-, decimal64) 371 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(-, decimal128, decimal32, decimal128) 372 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(-, decimal128, decimal64, decimal128) 373 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(-, decimal128, decimal128, decimal32) 374 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(-, decimal128, decimal128, decimal64) 375 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(-, decimal128, decimal128, decimal128) 376 _DEFINE_DECIMAL_BINARY_OP_WITH_INT(-, decimal128) 377 378 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(*, decimal32, decimal32, decimal32) 379 _DEFINE_DECIMAL_BINARY_OP_WITH_INT(*, decimal32) 380 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(*, decimal64, decimal32, decimal64) 381 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(*, decimal64, decimal64, decimal32) 382 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(*, decimal64, decimal64, decimal64) 383 _DEFINE_DECIMAL_BINARY_OP_WITH_INT(*, decimal64) 384 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(*, decimal128, decimal32, decimal128) 385 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(*, decimal128, decimal64, decimal128) 386 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(*, decimal128, decimal128, decimal32) 387 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(*, decimal128, decimal128, decimal64) 388 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(*, decimal128, decimal128, decimal128) 389 _DEFINE_DECIMAL_BINARY_OP_WITH_INT(*, decimal128) 390 391 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(/, decimal32, decimal32, decimal32) 392 _DEFINE_DECIMAL_BINARY_OP_WITH_INT(/, decimal32) 393 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(/, decimal64, decimal32, decimal64) 394 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(/, decimal64, decimal64, decimal32) 395 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(/, decimal64, decimal64, decimal64) 396 _DEFINE_DECIMAL_BINARY_OP_WITH_INT(/, decimal64) 397 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(/, decimal128, decimal32, decimal128) 398 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(/, decimal128, decimal64, decimal128) 399 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(/, decimal128, decimal128, decimal32) 400 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(/, decimal128, decimal128, decimal64) 401 _DEFINE_DECIMAL_BINARY_OP_WITH_DEC(/, decimal128, decimal128, decimal128) 402 _DEFINE_DECIMAL_BINARY_OP_WITH_INT(/, decimal128) 403 404 #undef _DEFINE_DECIMAL_BINARY_OP_WITH_DEC 405 #undef _DEFINE_DECIMAL_BINARY_OP_BOTH 406 #undef _DEFINE_DECIMAL_BINARY_OP_LHS 407 #undef _DEFINE_DECIMAL_BINARY_OP_RHS 408 #undef _DEFINE_DECIMAL_BINARY_OP_WITH_INT 409 410 // ISO/IEC TR 24733 3.2.9 Comparison operators. 411 412 #define _DEFINE_DECIMAL_COMPARISON_BOTH(_Op, _T1, _T2) \ 413 inline bool operator _Op(_T1 __lhs, _T2 __rhs) \ 414 { return __lhs.__getval() _Op __rhs.__getval(); } 415 416 #define _DEFINE_DECIMAL_COMPARISON_LHS(_Op, _T1, _T2) \ 417 inline bool operator _Op(_T1 __lhs, _T2 __rhs) \ 418 { return __lhs.__getval() _Op __rhs; } 419 420 #define _DEFINE_DECIMAL_COMPARISON_RHS(_Op, _T1, _T2) \ 421 inline bool operator _Op(_T1 __lhs, _T2 __rhs) \ 422 { return __lhs _Op __rhs.__getval(); } 423 424 #define _DEFINE_DECIMAL_COMPARISONS(_Op, _Tp) \ 425 _DEFINE_DECIMAL_COMPARISON_BOTH(_Op, _Tp, decimal32) \ 426 _DEFINE_DECIMAL_COMPARISON_BOTH(_Op, _Tp, decimal64) \ 427 _DEFINE_DECIMAL_COMPARISON_BOTH(_Op, _Tp, decimal128) \ 428 _DEFINE_DECIMAL_COMPARISON_LHS(_Op, _Tp, int) \ 429 _DEFINE_DECIMAL_COMPARISON_LHS(_Op, _Tp, unsigned int) \ 430 _DEFINE_DECIMAL_COMPARISON_LHS(_Op, _Tp, long) \ 431 _DEFINE_DECIMAL_COMPARISON_LHS(_Op, _Tp, unsigned long) \ 432 _DEFINE_DECIMAL_COMPARISON_LHS(_Op, _Tp, long long) \ 433 _DEFINE_DECIMAL_COMPARISON_LHS(_Op, _Tp, unsigned long long) \ 434 _DEFINE_DECIMAL_COMPARISON_RHS(_Op, int, _Tp) \ 435 _DEFINE_DECIMAL_COMPARISON_RHS(_Op, unsigned int, _Tp) \ 436 _DEFINE_DECIMAL_COMPARISON_RHS(_Op, long, _Tp) \ 437 _DEFINE_DECIMAL_COMPARISON_RHS(_Op, unsigned long, _Tp) \ 438 _DEFINE_DECIMAL_COMPARISON_RHS(_Op, long long, _Tp) \ 439 _DEFINE_DECIMAL_COMPARISON_RHS(_Op, unsigned long long, _Tp) 440 441 _DEFINE_DECIMAL_COMPARISONS(==, decimal32) 442 _DEFINE_DECIMAL_COMPARISONS(==, decimal64) 443 _DEFINE_DECIMAL_COMPARISONS(==, decimal128) 444 _DEFINE_DECIMAL_COMPARISONS(!=, decimal32) 445 _DEFINE_DECIMAL_COMPARISONS(!=, decimal64) 446 _DEFINE_DECIMAL_COMPARISONS(!=, decimal128) 447 _DEFINE_DECIMAL_COMPARISONS(<, decimal32) 448 _DEFINE_DECIMAL_COMPARISONS(<, decimal64) 449 _DEFINE_DECIMAL_COMPARISONS(<, decimal128) 450 _DEFINE_DECIMAL_COMPARISONS(<=, decimal32) 451 _DEFINE_DECIMAL_COMPARISONS(<=, decimal64) 452 _DEFINE_DECIMAL_COMPARISONS(<=, decimal128) 453 _DEFINE_DECIMAL_COMPARISONS(>, decimal32) 454 _DEFINE_DECIMAL_COMPARISONS(>, decimal64) 455 _DEFINE_DECIMAL_COMPARISONS(>, decimal128) 456 _DEFINE_DECIMAL_COMPARISONS(>=, decimal32) 457 _DEFINE_DECIMAL_COMPARISONS(>=, decimal64) 458 _DEFINE_DECIMAL_COMPARISONS(>=, decimal128) 459 460 #undef _DEFINE_DECIMAL_COMPARISON_BOTH 461 #undef _DEFINE_DECIMAL_COMPARISON_LHS 462 #undef _DEFINE_DECIMAL_COMPARISON_RHS 463 #undef _DEFINE_DECIMAL_COMPARISONS 464 } // namespace decimal 465 466 _GLIBCXX_END_NAMESPACE_VERSION 467 } // namespace std 468 469 #endif /* _GLIBCXX_DECIMAL_IMPL */
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2024 MyWebUniversity.com ™