diff options
Diffstat (limited to 'lib/Support/FoldingSet.cpp')
-rw-r--r-- | lib/Support/FoldingSet.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Support/FoldingSet.cpp b/lib/Support/FoldingSet.cpp index 0ccb3a6cc3..70daad9a61 100644 --- a/lib/Support/FoldingSet.cpp +++ b/lib/Support/FoldingSet.cpp @@ -56,6 +56,12 @@ void FoldingSetImpl::NodeID::AddFloat(float F) { void FoldingSetImpl::NodeID::AddDouble(double D) { AddInteger(DoubleToBits(D)); } +void FoldingSetImpl::NodeID::AddAPFloat(const APFloat& apf) { + APInt api = apf.convertToAPInt(); + const uint64_t *p = api.getRawData(); + for (int i=0; i<api.getNumWords(); i++) + AddInteger(*p++); +} void FoldingSetImpl::NodeID::AddString(const std::string &String) { unsigned Size = String.size(); Bits.push_back(Size); |