aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/ADT/APFloat.h
Commit message (Collapse)AuthorAgeFilesLines
* Make a declaration consistent with its definition.Oscar Fuentes2009-08-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79220 91177308-0d34-0410-b5e6-96231b3b80d8
* Modify APFloat to take a StringRef instead of a c string.Erick Tryzelaar2009-08-161-4/+5
| | | | | | | This also adds unit tests to APFloat that mainly tests the string handling of APFloat, but not much else of it's api. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79210 91177308-0d34-0410-b5e6-96231b3b80d8
* Dcoument that the opauque value used to construct QNaNs is truncatedMike Stump2009-06-011-1/+1
| | | | | | | as necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72702 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some documentation.Mike Stump2009-05-301-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72622 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for letting the client choose different flavors of NaNs. ↵Mike Stump2009-05-301-4/+5
| | | | | | | | | Testcase to be added in clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72606 91177308-0d34-0410-b5e6-96231b3b80d8
* Make special cases (0 inf nan) work for frem.Dale Johannesen2009-01-211-0/+1
| | | | | | | | | | Besides APFloat, this involved removing code from two places that thought they knew the result of frem(0., x) but were wrong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62645 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an IEEE remainder function, which is notDale Johannesen2009-01-201-0/+3
| | | | | | | | | | fully implemented yet and not used. This is mainly to clarify that APFloat::mod implements C fmod, not remainder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62593 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed trailing whitespace.Misha Brukman2009-01-091-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62000 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a "loses information" return value to APFloat::convertDale Johannesen2008-10-091-3/+3
| | | | | | | | | and APFloat::convertToInteger. Restore return value to IEEE754. Adjust all users accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57329 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename APFloat::convertToAPInt to bitcastToAPInt toDale Johannesen2008-10-091-5/+5
| | | | | | | | | make it clearer what the function does. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57325 91177308-0d34-0410-b5e6-96231b3b80d8
* add convenience 'constructors'Chris Lattner2008-06-301-4/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52908 91177308-0d34-0410-b5e6-96231b3b80d8
* add a predicate.Chris Lattner2008-06-011-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51842 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a method to APFloat to convert directly from APInt.Dan Gohman2008-02-291-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47738 91177308-0d34-0410-b5e6-96231b3b80d8
* DetabifyBill Wendling2008-02-261-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47597 91177308-0d34-0410-b5e6-96231b3b80d8
* Added "Profile" method to APFloat for use with FoldingSet.Ted Kremenek2008-02-111-0/+4
| | | | | | | | | | | Added member template "Add" to FoldingSetNodeID that allows "adding" arbitrary objects to a profile via dispatch to FoldingSetTrait<T>::Profile(). Removed FoldingSetNodeID::AddAPFloat and FoldingSetNodeID::APInt, as their functionality is now replaced using the above mentioned member template. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46957 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-291-2/+2
| | | | | | | | discussion of this change. Boy are my fingers tired. ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
* remove dead #include.Chris Lattner2007-12-081-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44711 91177308-0d34-0410-b5e6-96231b3b80d8
* remove dead #include, APInt.h already has the needed forward decls.Chris Lattner2007-12-081-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44708 91177308-0d34-0410-b5e6-96231b3b80d8
* Implemented generic serialization of APFloat.Ted Kremenek2007-11-071-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43829 91177308-0d34-0410-b5e6-96231b3b80d8
* When converting to integer, do bit manipulations in the destinationNeil Booth2007-11-011-0/+2
| | | | | | | | | | | | | memory rather than in a copy of the APFloat. This avoids problems when the destination is wider than our significand and is cleaner. Also provide deterministic values in all cases where conversion fails, namely zero for NaNs and the minimal or maximal value respectively for underflow or overflow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43626 91177308-0d34-0410-b5e6-96231b3b80d8
* add a nice predicate to check to see if nanChris Lattner2007-10-241-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43304 91177308-0d34-0410-b5e6-96231b3b80d8
* Consolidate logic for creating NaNs. Silence compiler warning.Neil Booth2007-10-141-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42966 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement correctly-rounded decimal->binary conversion, i.e. conversionNeil Booth2007-10-121-7/+15
| | | | | | | | | | | | from user input strings. Such conversions are more intricate and subtle than they may appear; it is unlikely I have got it completely right first time. I would appreciate being informed of any bugs and incorrect roundings you might discover. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42912 91177308-0d34-0410-b5e6-96231b3b80d8
* Next PPC long double bits. First cut at constants.Dale Johannesen2007-10-111-2/+12
| | | | | | | | | | | No compile-time support for constant operations yet, just format transformations. Make readers and writers work. Split constants into 2 doubles in Legalize. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42865 91177308-0d34-0410-b5e6-96231b3b80d8
* Add back convertFromSignExtendedInteger.Neil Booth2007-10-071-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42735 91177308-0d34-0410-b5e6-96231b3b80d8
* Reimplement convertFromUnsignedInteger so it is passed a const bignum.Neil Booth2007-10-071-2/+2
| | | | | | | | | | It used to modify its argument in-place. This interface is saner and the implementation more efficient. It will be needed for decimal->binary conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42733 91177308-0d34-0410-b5e6-96231b3b80d8
* convertFromInteger, as originally written, expected sign-extendedNeil Booth2007-10-071-2/+2
| | | | | | | | | | input. APInt unfortunately zero-extends signed integers, so Dale modified the function to expect zero-extended input. Make this assumption explicit in the function name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42732 91177308-0d34-0410-b5e6-96231b3b80d8
* combineLostFractions does not need to be a member functionNeil Booth2007-10-071-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42729 91177308-0d34-0410-b5e6-96231b3b80d8
* Add APFloat -> hexadecimal string conversion, as per %a and %A in C99.Neil Booth2007-10-031-13/+27
| | | | | | | Useful for diagnostics and debugging. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42598 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak RoundAwayFromZero the bit number below which is truncated, and makeNeil Booth2007-10-031-1/+1
| | | | | | | | | it const. Preparation for APFloat -> hexadecimal string conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42576 91177308-0d34-0410-b5e6-96231b3b80d8
* Whitespace cleanup.Neil Booth2007-09-261-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42374 91177308-0d34-0410-b5e6-96231b3b80d8
* Make single-argument ctors explicit to avoid tricky bugs :)Chris Lattner2007-09-131-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41924 91177308-0d34-0410-b5e6-96231b3b80d8
* Add APInt interfaces to APFloat (allows directlyDale Johannesen2007-09-111-0/+9
| | | | | | | | | | | access to bits). Use them in place of float and double interfaces where appropriate. First bits of x86 long double constants handling (untested, probably does not work). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41858 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for VisualStudio. It is treating a 2 bit enum as a signed int for ↵Chuck Rose III2007-09-081-1/+3
| | | | | | comparison purposes, causing failures. Using an extra bit fixes it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41784 91177308-0d34-0410-b5e6-96231b3b80d8
* Add mod, copysign, abs operations to APFloat.Dale Johannesen2007-08-311-1/+5
| | | | | | | | | Implement some constant folding in SelectionDAG and DAGCombiner using APFloat. Remove double versions of constructor and getValue from ConstantFPSDNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41664 91177308-0d34-0410-b5e6-96231b3b80d8
* Enhance APFloat to retain bits of NaNs (fixes oggenc).Dale Johannesen2007-08-311-4/+9
| | | | | | | | Use APFloat interfaces for more references, mostly of ConstantFPSDNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41632 91177308-0d34-0410-b5e6-96231b3b80d8
* Comment out declaration of operator== (undefined).Dale Johannesen2007-08-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41383 91177308-0d34-0410-b5e6-96231b3b80d8
* Poison APFloat::operator==. Replace existing uses with bitwiseIsEqual.Dale Johannesen2007-08-241-6/+6
| | | | | | | | This means backing out the preceding change to Constants.cpp, alas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41378 91177308-0d34-0410-b5e6-96231b3b80d8
* Revised per review feedback from previous patch.Dale Johannesen2007-08-241-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41353 91177308-0d34-0410-b5e6-96231b3b80d8
* Change internal representation of ConstantFP to use APFloat.Dale Johannesen2007-08-241-1/+15
| | | | | | | | Interface to rest of the compiler unchanged, as yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41348 91177308-0d34-0410-b5e6-96231b3b80d8
* initial checkin of Neil's APFloat work.Chris Lattner2007-08-201-0/+258
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41203 91177308-0d34-0410-b5e6-96231b3b80d8