Home | History | Annotate | Download | only in ADT

Lines Matching refs:semantics

31     llvm_unreachable("Unexpected semantics");                                  \
77 /// full extended precision). Adding a new format that obeys IEEE semantics
149 /// \name Floating Point Semantics.
220 /// semantics.
355 const fltSemantics &getSemantics() const { return *semantics; }
362 /// magnitude in the current semantics.
366 /// magnitude in the current semantics.
449 /// semantics.
541 /// The semantics that this value obeys.
542 const fltSemantics *semantics;
571 // The interface and layout is designed for arbitray underlying semantics,
572 // though currently only PPCDoubleDouble semantics are supported, whose
573 // corresponding underlying semantics are IEEEdouble.
576 const fltSemantics *Semantics;
681 const fltSemantics *semantics;
692 Storage(const fltSemantics &Semantics, ArgTypes &&... Args) {
693 if (usesLayout<IEEEFloat>(Semantics)) {
694 new (&IEEE) IEEEFloat(Semantics, std::forward<ArgTypes>(Args)...);
697 if (usesLayout<DoubleAPFloat>(Semantics)) {
698 new (&Double) DoubleAPFloat(Semantics, std::forward<ArgTypes>(Args)...);
701 llvm_unreachable("Unexpected semantics");
705 if (usesLayout<IEEEFloat>(*semantics)) {
709 if (usesLayout<DoubleAPFloat>(*semantics)) {
713 llvm_unreachable("Unexpected semantics");
717 if (usesLayout<IEEEFloat>(*RHS.semantics)) {
721 if (usesLayout<DoubleAPFloat>(*RHS.semantics)) {
725 llvm_unreachable("Unexpected semantics");
729 if (usesLayout<IEEEFloat>(*RHS.semantics)) {
733 if (usesLayout<DoubleAPFloat>(*RHS.semantics)) {
737 llvm_unreachable("Unexpected semantics");
741 if (usesLayout<IEEEFloat>(*semantics) &&
742 usesLayout<IEEEFloat>(*RHS.semantics)) {
744 } else if (usesLayout<DoubleAPFloat>(*semantics) &&
745 usesLayout<DoubleAPFloat>(*RHS.semantics)) {
755 if (usesLayout<IEEEFloat>(*semantics) &&
756 usesLayout<IEEEFloat>(*RHS.semantics)) {
758 } else if (usesLayout<DoubleAPFloat>(*semantics) &&
759 usesLayout<DoubleAPFloat>(*RHS.semantics)) {
769 template <typename T> static bool usesLayout(const fltSemantics &Semantics) {
773 return &Semantics == &PPCDoubleDouble();
775 return &Semantics != &PPCDoubleDouble();
779 if (usesLayout<IEEEFloat>(*U.semantics))
781 if (usesLayout<DoubleAPFloat>(*U.semantics))
783 llvm_unreachable("Unexpected semantics");
787 if (usesLayout<IEEEFloat>(*U.semantics))
789 if (usesLayout<DoubleAPFloat>(*U.semantics))
791 llvm_unreachable("Unexpected semantics");
827 "Should only compare APFloats with the same semantics");
832 llvm_unreachable("Unexpected semantics");
836 APFloat(const fltSemantics &Semantics) : U(Semantics) {}
837 APFloat(const fltSemantics &Semantics, StringRef S);
838 APFloat(const fltSemantics &Semantics, integerPart I) : U(Semantics, I) {}
840 APFloat(const fltSemantics &Semantics, uninitializedTag)
841 : U(Semantics, uninitialized) {}
842 APFloat(const fltSemantics &Semantics, const APInt &I) : U(Semantics, I) {}
901 /// Returns the largest finite number in the given semantics.
910 /// Returns the smallest (by magnitude) finite number in the given semantics.
921 /// semantics.
943 "Should only call on two APFloats with the same semantics");
948 llvm_unreachable("Unexpected semantics");
952 "Should only call on two APFloats with the same semantics");
957 llvm_unreachable("Unexpected semantics");
961 "Should only call on two APFloats with the same semantics");
966 llvm_unreachable("Unexpected semantics");
970 "Should only call on two APFloats with the same semantics");
975 llvm_unreachable("Unexpected semantics");
979 "Should only call on two APFloats with the same semantics");
984 llvm_unreachable("Unexpected semantics");
988 "Should only call on two APFloats with the same semantics");
993 llvm_unreachable("Unexpected semantics");
998 "Should only call on APFloats with the same semantics");
1000 "Should only call on APFloats with the same semantics");
1006 llvm_unreachable("Unexpected semantics");
1104 "Should only compare APFloats with the same semantics");
1109 llvm_unreachable("Unexpected semantics");
1119 llvm_unreachable("Unexpected semantics");
1155 const fltSemantics &getSemantics() const { return *U.semantics; }
1198 llvm_unreachable("Unexpected semantics");
1210 llvm_unreachable("Unexpected semantics");
1224 /// Implements IEEE minNum semantics. Returns the smaller of the 2 arguments if
1235 /// Implements IEEE maxNum semantics. Returns the larger of the 2 arguments if