]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libdecnumber/decSingle.c
Imported gcc-4.4.3
[msp430-gcc.git] / libdecnumber / decSingle.c
diff --git a/libdecnumber/decSingle.c b/libdecnumber/decSingle.c
new file mode 100644 (file)
index 0000000..e38b677
--- /dev/null
@@ -0,0 +1,80 @@
+/* decSingle module for the decNumber C Library.
+   Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+   Contributed by IBM Corporation.  Author Mike Cowlishaw.
+
+   This file is part of GCC.
+
+   GCC is free software; you can redistribute it and/or modify it under
+   the terms of the GNU General Public License as published by the Free
+   Software Foundation; either version 3, or (at your option) any later
+   version.
+
+   GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+   WARRANTY; without even the implied warranty of MERCHANTABILITY or
+   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+   for more details.
+
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
+
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+<http://www.gnu.org/licenses/>.  */
+
+/* ------------------------------------------------------------------ */
+/* decSingle.c -- decSingle operations module                        */
+/* ------------------------------------------------------------------ */
+/* 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 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] */
+