@@ -9,7 +9,14 @@ use core::fmt;
9
9
use std:: collections:: { HashMap , HashSet } ;
10
10
use std:: mem:: swap;
11
11
use std:: ops:: { Add , AddAssign , DerefMut , Sub } ;
12
- use std:: sync:: atomic:: { AtomicBool , AtomicI64 , AtomicU64 , AtomicUsize , Ordering } ;
12
+ use std:: sync:: atomic:: { Ordering } ;
13
+
14
+ #[ cfg( not( any( target_arch = "xtensa" ) ) ) ]
15
+ use std:: sync:: atomic:: { AtomicBool , AtomicI64 , AtomicU64 , AtomicUsize } ;
16
+
17
+ #[ cfg( any( target_arch = "xtensa" ) ) ]
18
+ use portable_atomic:: { AtomicBool , AtomicI64 , AtomicU64 , AtomicUsize } ;
19
+
13
20
use std:: sync:: { Arc , OnceLock , RwLock } ;
14
21
15
22
use aggregate:: { is_under_cardinality_limit, STREAM_CARDINALITY_LIMIT } ;
@@ -439,8 +446,8 @@ mod tests {
439
446
#[ test]
440
447
fn can_add_and_get_u64_atomic_value ( ) {
441
448
let atomic = u64:: new_atomic_tracker ( 0 ) ;
442
- atomic . add ( 15 ) ;
443
- atomic . add ( 10 ) ;
449
+ AtomicTracker :: add ( & atomic , 15 ) ;
450
+ AtomicTracker :: add ( & atomic , 10 ) ;
444
451
445
452
let value = atomic. get_value ( ) ;
446
453
assert_eq ! ( value, 25 ) ;
@@ -449,7 +456,7 @@ mod tests {
449
456
#[ test]
450
457
fn can_reset_u64_atomic_value ( ) {
451
458
let atomic = u64:: new_atomic_tracker ( 0 ) ;
452
- atomic . add ( 15 ) ;
459
+ AtomicTracker :: add ( & atomic , 15 ) ;
453
460
454
461
let value = atomic. get_and_reset_value ( ) ;
455
462
let value2 = atomic. get_value ( ) ;
@@ -478,8 +485,8 @@ mod tests {
478
485
#[ test]
479
486
fn can_add_and_get_i64_atomic_value ( ) {
480
487
let atomic = i64:: new_atomic_tracker ( 0 ) ;
481
- atomic . add ( 15 ) ;
482
- atomic . add ( -10 ) ;
488
+ AtomicTracker :: add ( & atomic , 15 ) ;
489
+ AtomicTracker :: add ( & atomic , -10 ) ;
483
490
484
491
let value = atomic. get_value ( ) ;
485
492
assert_eq ! ( value, 5 ) ;
@@ -488,7 +495,7 @@ mod tests {
488
495
#[ test]
489
496
fn can_reset_i64_atomic_value ( ) {
490
497
let atomic = i64:: new_atomic_tracker ( 0 ) ;
491
- atomic . add ( 15 ) ;
498
+ AtomicTracker :: add ( & atomic , 15 ) ;
492
499
493
500
let value = atomic. get_and_reset_value ( ) ;
494
501
let value2 = atomic. get_value ( ) ;
@@ -517,8 +524,8 @@ mod tests {
517
524
#[ test]
518
525
fn can_add_and_get_f64_atomic_value ( ) {
519
526
let atomic = f64:: new_atomic_tracker ( 0.0 ) ;
520
- atomic . add ( 15.3 ) ;
521
- atomic . add ( 10.4 ) ;
527
+ AtomicTracker :: add ( & atomic , 15.3 ) ;
528
+ AtomicTracker :: add ( & atomic , 10.4 ) ;
522
529
523
530
let value = atomic. get_value ( ) ;
524
531
@@ -528,7 +535,7 @@ mod tests {
528
535
#[ test]
529
536
fn can_reset_f64_atomic_value ( ) {
530
537
let atomic = f64:: new_atomic_tracker ( 0.0 ) ;
531
- atomic . add ( 15.5 ) ;
538
+ AtomicTracker :: add ( & atomic , 15.5 ) ;
532
539
533
540
let value = atomic. get_and_reset_value ( ) ;
534
541
let value2 = atomic. get_value ( ) ;
0 commit comments