1- use std:: sync:: atomic:: { AtomicU64 , Ordering } ;
1+ use std:: sync:: atomic:: Ordering ;
22use std:: mem:: transmute;
33
44pub struct F64 {
5- inner : AtomicU64 ,
5+ inner : super :: AtomicU64Type ,
66}
77
88impl F64 {
99 pub fn new ( val : f64 ) -> F64 {
10- F64 { inner : AtomicU64 :: new ( f64_to_u64 ( val) ) }
10+ F64 { inner : super :: AtomicU64Type :: new ( f64_to_u64 ( val) ) }
1111 }
1212
1313 #[ inline]
@@ -34,30 +34,30 @@ impl F64 {
3434 }
3535}
3636
37- fn u64_to_f64 ( val : u64 ) -> f64 {
37+ fn u64_to_f64 ( val : super :: U64Type ) -> f64 {
3838 unsafe { transmute ( val) }
3939}
4040
41- fn f64_to_u64 ( val : f64 ) -> u64 {
41+ fn f64_to_u64 ( val : f64 ) -> super :: U64Type {
4242 unsafe { transmute ( val) }
4343}
4444
4545pub struct U64 {
46- inner : AtomicU64 ,
46+ inner : super :: AtomicU64Type ,
4747}
4848
4949impl U64 {
5050 pub fn new ( val : u64 ) -> U64 {
51- U64 { inner : AtomicU64 :: new ( val) }
51+ U64 { inner : super :: AtomicU64Type :: new ( val as super :: U64Type ) }
5252 }
5353
5454 #[ inline]
5555 pub fn get ( & self ) -> u64 {
56- self . inner . load ( Ordering :: Acquire )
56+ self . inner . load ( Ordering :: Acquire ) as u64
5757 }
5858
5959 #[ inline]
6060 pub fn inc_by ( & self , delta : u64 ) {
61- self . inner . fetch_add ( delta, Ordering :: Release ) ;
61+ self . inner . fetch_add ( delta as super :: U64Type , Ordering :: Release ) ;
6262 }
6363}
0 commit comments