@@ -120,41 +120,51 @@ macro_rules! float_impl {
120120 const IMPLICIT_BIT : Self :: Int = 1 << Self :: SIGNIFICAND_BITS ;
121121 const EXPONENT_MASK : Self :: Int = !( Self :: SIGN_MASK | Self :: SIGNIFICAND_MASK ) ;
122122
123+ #[ rustc_nounwind]
123124 fn repr( self ) -> Self :: Int {
124125 self . to_bits( )
125126 }
127+ #[ rustc_nounwind]
126128 fn signed_repr( self ) -> Self :: SignedInt {
127129 self . to_bits( ) as Self :: SignedInt
128130 }
131+ #[ rustc_nounwind]
129132 fn eq_repr( self , rhs: Self ) -> bool {
130133 if self . is_nan( ) && rhs. is_nan( ) {
131134 true
132135 } else {
133136 self . repr( ) == rhs. repr( )
134137 }
135138 }
139+ #[ rustc_nounwind]
136140 fn sign( self ) -> bool {
137141 self . signed_repr( ) < Self :: SignedInt :: ZERO
138142 }
143+ #[ rustc_nounwind]
139144 fn exp( self ) -> Self :: ExpInt {
140145 ( ( self . to_bits( ) & Self :: EXPONENT_MASK ) >> Self :: SIGNIFICAND_BITS ) as Self :: ExpInt
141146 }
147+ #[ rustc_nounwind]
142148 fn frac( self ) -> Self :: Int {
143149 self . to_bits( ) & Self :: SIGNIFICAND_MASK
144150 }
151+ #[ rustc_nounwind]
145152 fn imp_frac( self ) -> Self :: Int {
146153 self . frac( ) | Self :: IMPLICIT_BIT
147154 }
155+ #[ rustc_nounwind]
148156 fn from_repr( a: Self :: Int ) -> Self {
149157 Self :: from_bits( a)
150158 }
159+ #[ rustc_nounwind]
151160 fn from_parts( sign: bool , exponent: Self :: Int , significand: Self :: Int ) -> Self {
152161 Self :: from_repr(
153162 ( ( sign as Self :: Int ) << ( Self :: BITS - 1 ) )
154163 | ( ( exponent << Self :: SIGNIFICAND_BITS ) & Self :: EXPONENT_MASK )
155164 | ( significand & Self :: SIGNIFICAND_MASK ) ,
156165 )
157166 }
167+ #[ rustc_nounwind]
158168 fn normalize( significand: Self :: Int ) -> ( i32 , Self :: Int ) {
159169 let shift = significand
160170 . leading_zeros( )
@@ -164,6 +174,7 @@ macro_rules! float_impl {
164174 significand << shift as Self :: Int ,
165175 )
166176 }
177+ #[ rustc_nounwind]
167178 fn is_subnormal( self ) -> bool {
168179 ( self . repr( ) & Self :: EXPONENT_MASK ) == Self :: Int :: ZERO
169180 }
0 commit comments