| /* ------------------------------------------------------------------ */ | |
| /* decSingle.c -- decSingle operations module */ | |
| /* ------------------------------------------------------------------ */ | |
| /* Copyright (c) IBM Corporation, 2000, 2008. All rights reserved. */ | |
| /* */ | |
| /* This software is made available under the terms of the */ | |
| /* ICU License -- ICU 1.8.1 and later. */ | |
| /* */ | |
| /* The description and User's Guide ("The decNumber C Library") for */ | |
| /* this software is included in the package as decNumber.pdf. This */ | |
| /* document is also available in HTML, together with specifications, */ | |
| /* testcases, and Web links, on the General Decimal Arithmetic page. */ | |
| /* */ | |
| /* Please send comments, suggestions, and corrections to the author: */ | |
| /* mfc@uk.ibm.com */ | |
| /* Mike Cowlishaw, IBM Fellow */ | |
| /* IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK */ | |
| /* ------------------------------------------------------------------ */ | |
| /* This module comprises decSingle operations (including conversions) */ | |
| /* ------------------------------------------------------------------ */ | |
| #include "decContext.h" // public includes | |
| #include "decSingle.h" // public includes | |
| /* Constant mappings for shared code */ | |
| #define DECPMAX DECSINGLE_Pmax | |
| #define DECEMIN DECSINGLE_Emin | |
| #define DECEMAX DECSINGLE_Emax | |
| #define DECEMAXD DECSINGLE_EmaxD | |
| #define DECBYTES DECSINGLE_Bytes | |
| #define DECSTRING DECSINGLE_String | |
| #define DECECONL DECSINGLE_EconL | |
| #define DECBIAS DECSINGLE_Bias | |
| #define DECLETS DECSINGLE_Declets | |
| #define DECQTINY (-DECSINGLE_Bias) | |
| // parameters of next-wider format | |
| #define DECWBYTES DECDOUBLE_Bytes | |
| #define DECWPMAX DECDOUBLE_Pmax | |
| #define DECWECONL DECDOUBLE_EconL | |
| #define DECWBIAS DECDOUBLE_Bias | |
| /* Type and function mappings for shared code */ | |
| #define decFloat decSingle // Type name | |
| #define decFloatWider decDouble // Type name | |
| // Utility (binary results, extractors, etc.) | |
| #define decFloatFromBCD decSingleFromBCD | |
| #define decFloatFromPacked decSingleFromPacked | |
| #define decFloatFromPackedChecked decSingleFromPackedChecked | |
| #define decFloatFromString decSingleFromString | |
| #define decFloatFromWider decSingleFromWider | |
| #define decFloatGetCoefficient decSingleGetCoefficient | |
| #define decFloatGetExponent decSingleGetExponent | |
| #define decFloatSetCoefficient decSingleSetCoefficient | |
| #define decFloatSetExponent decSingleSetExponent | |
| #define decFloatShow decSingleShow | |
| #define decFloatToBCD decSingleToBCD | |
| #define decFloatToEngString decSingleToEngString | |
| #define decFloatToPacked decSingleToPacked | |
| #define decFloatToString decSingleToString | |
| #define decFloatToWider decSingleToWider | |
| #define decFloatZero decSingleZero | |
| // Non-computational | |
| #define decFloatRadix decSingleRadix | |
| #define decFloatVersion decSingleVersion | |
| #include "decNumberLocal.h" // local includes (need DECPMAX) | |
| #include "decCommon.c" // non-basic decFloat routines | |
| // [Do not include decBasic.c for decimal32] | |