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.
443 /// semantics.
535 /// The semantics that this value obeys.
536 const fltSemantics *semantics;
565 // The interface and layout is designed for arbitray underlying semantics,
566 // though currently only PPCDoubleDouble semantics are supported, whose
567 // corresponding underlying semantics are IEEEdouble.
570 const fltSemantics *Semantics;
675 const fltSemantics *semantics;
686 Storage(const fltSemantics &Semantics, ArgTypes &&... Args) {
687 if (usesLayout<IEEEFloat>(Semantics)) {
688 new (&IEEE) IEEEFloat(Semantics, std::forward<ArgTypes>(Args)...);
691 if (usesLayout<DoubleAPFloat>(Semantics)) {
692 new (&Double) DoubleAPFloat(Semantics, std::forward<ArgTypes>(Args)...);
695 llvm_unreachable("Unexpected semantics");
699 if (usesLayout<IEEEFloat>(*semantics)) {
703 if (usesLayout<DoubleAPFloat>(*semantics)) {
707 llvm_unreachable("Unexpected semantics");
711 if (usesLayout<IEEEFloat>(*RHS.semantics)) {
715 if (usesLayout<DoubleAPFloat>(*RHS.semantics)) {
719 llvm_unreachable("Unexpected semantics");
723 if (usesLayout<IEEEFloat>(*RHS.semantics)) {
727 if (usesLayout<DoubleAPFloat>(*RHS.semantics)) {
731 llvm_unreachable("Unexpected semantics");
735 if (usesLayout<IEEEFloat>(*semantics) &&
736 usesLayout<IEEEFloat>(*RHS.semantics)) {
738 } else if (usesLayout<DoubleAPFloat>(*semantics) &&
739 usesLayout<DoubleAPFloat>(*RHS.semantics)) {
749 if (usesLayout<IEEEFloat>(*semantics) &&
750 usesLayout<IEEEFloat>(*RHS.semantics)) {
752 } else if (usesLayout<DoubleAPFloat>(*semantics) &&
753 usesLayout<DoubleAPFloat>(*RHS.semantics)) {
763 template <typename T> static bool usesLayout(const fltSemantics &Semantics) {
767 return &Semantics == &PPCDoubleDouble();
769 return &Semantics != &PPCDoubleDouble();
773 if (usesLayout<IEEEFloat>(*U.semantics))
775 if (usesLayout<DoubleAPFloat>(*U.semantics))
777 llvm_unreachable("Unexpected semantics");
781 if (usesLayout<IEEEFloat>(*U.semantics))
783 if (usesLayout<DoubleAPFloat>(*U.semantics))
785 llvm_unreachable("Unexpected semantics");
821 "Should only compare APFloats with the same semantics");
826 llvm_unreachable("Unexpected semantics");
830 APFloat(const fltSemantics &Semantics) : U(Semantics) {}
831 APFloat(const fltSemantics &Semantics, StringRef S);
832 APFloat(const fltSemantics &Semantics, integerPart I) : U(Semantics, I) {}
834 APFloat(const fltSemantics &Semantics, uninitializedTag)
835 : U(Semantics, uninitialized) {}
836 APFloat(const fltSemantics &Semantics, const APInt &I) : U(Semantics, I) {}
895 /// Returns the largest finite number in the given semantics.
904 /// Returns the smallest (by magnitude) finite number in the given semantics.
915 /// semantics.
937 "Should only call on two APFloats with the same semantics");
942 llvm_unreachable("Unexpected semantics");
946 "Should only call on two APFloats with the same semantics");
951 llvm_unreachable("Unexpected semantics");
955 "Should only call on two APFloats with the same semantics");
960 llvm_unreachable("Unexpected semantics");
964 "Should only call on two APFloats with the same semantics");
969 llvm_unreachable("Unexpected semantics");
973 "Should only call on two APFloats with the same semantics");
978 llvm_unreachable("Unexpected semantics");
982 "Should only call on two APFloats with the same semantics");
987 llvm_unreachable("Unexpected semantics");
992 "Should only call on APFloats with the same semantics");
994 "Should only call on APFloats with the same semantics");
1000 llvm_unreachable("Unexpected semantics");
1098 "Should only compare APFloats with the same semantics");
1103 llvm_unreachable("Unexpected semantics");
1113 llvm_unreachable("Unexpected semantics");
1134 const fltSemantics &getSemantics() const { return *U.semantics; }
1177 llvm_unreachable("Unexpected semantics");
1189 llvm_unreachable("Unexpected semantics");
1203 /// Implements IEEE minNum semantics. Returns the smaller of the 2 arguments if
1214 /// Implements IEEE maxNum semantics. Returns the larger of the 2 arguments if