aboutsummaryrefslogtreecommitdiff
path: root/libdecnumber/decQuad.c
diff options
context:
space:
mode:
authorJanis Johnson <janis187@us.ibm.com>2007-09-10 20:44:08 +0000
committerJanis Johnson <janis@gcc.gnu.org>2007-09-10 20:44:08 +0000
commit2533577ff6607c4fe093acb0fb711a003a4b3eeb (patch)
treedc346951fedce72b616d1e6c4be76685c2e68c3a /libdecnumber/decQuad.c
parentbfd9cff5c5bbcbea235e60529138848df5222b0c (diff)
downloadgcc-2533577ff6607c4fe093acb0fb711a003a4b3eeb.zip
gcc-2533577ff6607c4fe093acb0fb711a003a4b3eeb.tar.gz
gcc-2533577ff6607c4fe093acb0fb711a003a4b3eeb.tar.bz2
Makefile.in (libdecnumber_a_OBJS): Remove decUtility.o
2007-09-10 Janis Johnson <janis187@us.ibm.com> Ben Elliston <bje@au.ibm.com> libdecnumber/ * Makefile.in (libdecnumber_a_OBJS): Remove decUtility.o (dependencies): Add Symbols headers. * decContext.c: Upgrade to decNumber 3.53. * decContext.h: Ditto. * decDPD.h: Ditto. * decNumber.c: Ditto. * decNumber.h: Ditto. * decNumberLocal.h: Ditto. * decBasic.c: New file from decNumber 3.53. * decCommon.c: Ditto. * decDouble.c: Ditto. * decDouble.h: Ditto. * decQuad.c: Ditto. * decQuad.h: Ditto. * decSingle.c: Ditto. * decSingle.h: Ditto. * decPacked.c: Ditto. * decPacked.h: Ditto. * dpd/decimal128.c: Upgrade to decNumber 3.53. * dpd/decimal128.h: Ditto. * dpd/decimal32.c: Ditto. * dpd/decimal32.h: Ditto. * dpd/decimal64.c: Ditto. * dpd/decimal64.h: Ditto. * decLibrary.c (__dec_byte_swap): Remove. * decContextSymbols.h: New file. * decDoubleSymbols.h: New file. * decNumberSymbols.h: New file. * decPackedSymbols.h: New file. * decQuadSymbols.h: New file. * decSingleSymbols.h: New file. * decUtility.c: Delete file. * decUtility.h: Delete file. * bid/decimal128Symbols.h: New file. * bid/decimal128Local.h: New file. * bid/decimal32Symbols.h: New file. * bid/decimal64Symbols.h: New file. * bid/host-ieee128.c (__swap128): Remove. (__host_to_ieee_128, __ieee_to_host_128): Don't handle endianness. * bid/host-ieee32.c (__dec_type_swap): Remove. (__host_to_ieee_32, __ieee_to_host_32): Don't handle endianness. * bid/host-ieee64.c (__swap64): Remove. (__host_to_ieee_64, __ieee_to_host_64): Don't handle endianness. * dpd/decimal32Symbols.h: New file. * dpd/decimal64Symbols.h: New file. * dpd/decimal128Symbols.h: New file. * dpd/decimal128Local.h: New file. libgcc/ * Makefile.in (dfp-filenames): Remove decUtility, add decDouble, decPacked, decQuad, decSingle. gcc/ * dfp.c: Include decimal128Local.h; (dfp_byte_swap): Remove. (encode_decimal32, decode_decimal32): Don't handle endianness. (encode_decimal64, decode_decimal64): Ditto. (encode_decimal128, decode_decimal128): Ditto. * config/dfp-bit.c (host_to_ieee32, ieee_to_host_32): Ditto. (__swap64): Remove. (host_to_ieee_64, ieee_to_host_64): Don't handle endianness. (__swap128): Remove (host_to_ieee_128, ieee_to_host_128): Don't handle endianness. * Makefile.in (DECNUM_H): Add decimal128Local.h. Co-Authored-By: Ben Elliston <bje@au.ibm.com> From-SVN: r128350
Diffstat (limited to 'libdecnumber/decQuad.c')
-rw-r--r--libdecnumber/decQuad.c146
1 files changed, 146 insertions, 0 deletions
diff --git a/libdecnumber/decQuad.c b/libdecnumber/decQuad.c
new file mode 100644
index 0000000..6ec9b7f
--- /dev/null
+++ b/libdecnumber/decQuad.c
@@ -0,0 +1,146 @@
+/* decQuad module for the decNumber C Library.
+ Copyright (C) 2007 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 2, or (at your option) any later
+ version.
+
+ In addition to the permissions in the GNU General Public License,
+ the Free Software Foundation gives you unlimited permission to link
+ the compiled version of this file into combinations with other
+ programs, and to distribute those combinations without any
+ restriction coming from the use of this file. (The General Public
+ License restrictions do apply in other respects; for example, they
+ cover modification of the file, and distribution when not linked
+ into a combine executable.)
+
+ 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.
+
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING. If not, write to the Free
+ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA. */
+
+/* ------------------------------------------------------------------ */
+/* decQuad.c -- decQuad operations module */
+/* ------------------------------------------------------------------ */
+/* This module comprises decQuad operations (including conversions) */
+/* ------------------------------------------------------------------ */
+
+#include "decContext.h" /* public includes */
+#include "decQuad.h" /* .. */
+
+/* Constant mappings for shared code */
+#define DECPMAX DECQUAD_Pmax
+#define DECEMIN DECQUAD_Emin
+#define DECEMAX DECQUAD_Emax
+#define DECEMAXD DECQUAD_EmaxD
+#define DECBYTES DECQUAD_Bytes
+#define DECSTRING DECQUAD_String
+#define DECECONL DECQUAD_EconL
+#define DECBIAS DECQUAD_Bias
+#define DECLETS DECQUAD_Declets
+#define DECQTINY (-DECQUAD_Bias)
+
+/* Type and function mappings for shared code */
+#define decFloat decQuad /* Type name */
+
+/* Utilities and conversions (binary results, extractors, etc.) */
+#define decFloatFromBCD decQuadFromBCD
+#define decFloatFromInt32 decQuadFromInt32
+#define decFloatFromPacked decQuadFromPacked
+#define decFloatFromString decQuadFromString
+#define decFloatFromUInt32 decQuadFromUInt32
+#define decFloatFromWider decQuadFromWider
+#define decFloatGetCoefficient decQuadGetCoefficient
+#define decFloatGetExponent decQuadGetExponent
+#define decFloatSetCoefficient decQuadSetCoefficient
+#define decFloatSetExponent decQuadSetExponent
+#define decFloatShow decQuadShow
+#define decFloatToBCD decQuadToBCD
+#define decFloatToEngString decQuadToEngString
+#define decFloatToInt32 decQuadToInt32
+#define decFloatToInt32Exact decQuadToInt32Exact
+#define decFloatToPacked decQuadToPacked
+#define decFloatToString decQuadToString
+#define decFloatToUInt32 decQuadToUInt32
+#define decFloatToUInt32Exact decQuadToUInt32Exact
+#define decFloatToWider decQuadToWider
+#define decFloatZero decQuadZero
+
+/* Computational (result is a decFloat) */
+#define decFloatAbs decQuadAbs
+#define decFloatAdd decQuadAdd
+#define decFloatAnd decQuadAnd
+#define decFloatDivide decQuadDivide
+#define decFloatDivideInteger decQuadDivideInteger
+#define decFloatFMA decQuadFMA
+#define decFloatInvert decQuadInvert
+#define decFloatLogB decQuadLogB
+#define decFloatMax decQuadMax
+#define decFloatMaxMag decQuadMaxMag
+#define decFloatMin decQuadMin
+#define decFloatMinMag decQuadMinMag
+#define decFloatMinus decQuadMinus
+#define decFloatMultiply decQuadMultiply
+#define decFloatNextMinus decQuadNextMinus
+#define decFloatNextPlus decQuadNextPlus
+#define decFloatNextToward decQuadNextToward
+#define decFloatOr decQuadOr
+#define decFloatPlus decQuadPlus
+#define decFloatQuantize decQuadQuantize
+#define decFloatReduce decQuadReduce
+#define decFloatRemainder decQuadRemainder
+#define decFloatRemainderNear decQuadRemainderNear
+#define decFloatRotate decQuadRotate
+#define decFloatScaleB decQuadScaleB
+#define decFloatShift decQuadShift
+#define decFloatSubtract decQuadSubtract
+#define decFloatToIntegralValue decQuadToIntegralValue
+#define decFloatToIntegralExact decQuadToIntegralExact
+#define decFloatXor decQuadXor
+
+/* Comparisons */
+#define decFloatCompare decQuadCompare
+#define decFloatCompareSignal decQuadCompareSignal
+#define decFloatCompareTotal decQuadCompareTotal
+#define decFloatCompareTotalMag decQuadCompareTotalMag
+
+/* Copies */
+#define decFloatCanonical decQuadCanonical
+#define decFloatCopy decQuadCopy
+#define decFloatCopyAbs decQuadCopyAbs
+#define decFloatCopyNegate decQuadCopyNegate
+#define decFloatCopySign decQuadCopySign
+
+/* Non-computational */
+#define decFloatClass decQuadClass
+#define decFloatClassString decQuadClassString
+#define decFloatDigits decQuadDigits
+#define decFloatIsCanonical decQuadIsCanonical
+#define decFloatIsFinite decQuadIsFinite
+#define decFloatIsInfinite decQuadIsInfinite
+#define decFloatIsInteger decQuadIsInteger
+#define decFloatIsNaN decQuadIsNaN
+#define decFloatIsNormal decQuadIsNormal
+#define decFloatIsSignaling decQuadIsSignaling
+#define decFloatIsSignalling decQuadIsSignalling
+#define decFloatIsSigned decQuadIsSigned
+#define decFloatIsSubnormal decQuadIsSubnormal
+#define decFloatIsZero decQuadIsZero
+#define decFloatRadix decQuadRadix
+#define decFloatSameQuantum decQuadSameQuantum
+#define decFloatVersion decQuadVersion
+
+
+#include "decNumberLocal.h" /* local includes (need DECPMAX) */
+#include "decCommon.c" /* non-arithmetic decFloat routines */
+#include "decBasic.c" /* basic formats routines */
+