diff options
| author | Ulf Lilleengen <[email protected]> | 2025-02-04 11:40:57 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-02-04 11:40:57 +0000 |
| commit | e0eefbb81f859845e720ec84fbcd4fab1b65890e (patch) | |
| tree | 42037778d1e93057d47e0a5f2933fe079838be18 | |
| parent | 2c8a550410653d58b103d71b7571668872dd79fa (diff) | |
| parent | 865266a4ae0a1e12174fbe0de0956e0a94f32800 (diff) | |
Merge pull request #3846 from wackazong/patch-4
Add saturating_add and saturating_sub to Instant
| -rw-r--r-- | embassy-time/src/instant.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/embassy-time/src/instant.rs b/embassy-time/src/instant.rs index cae80e51f..7fc93c2ec 100644 --- a/embassy-time/src/instant.rs +++ b/embassy-time/src/instant.rs | |||
| @@ -115,6 +115,18 @@ impl Instant { | |||
| 115 | pub fn checked_sub(&self, duration: Duration) -> Option<Instant> { | 115 | pub fn checked_sub(&self, duration: Duration) -> Option<Instant> { |
| 116 | self.ticks.checked_sub(duration.ticks).map(|ticks| Instant { ticks }) | 116 | self.ticks.checked_sub(duration.ticks).map(|ticks| Instant { ticks }) |
| 117 | } | 117 | } |
| 118 | |||
| 119 | /// Adds a Duration to self. In case of overflow, the maximum value is returned. | ||
| 120 | pub fn saturating_add(mut self, duration: Duration) -> Self { | ||
| 121 | self.ticks = self.ticks.saturating_add(duration.ticks); | ||
| 122 | self | ||
| 123 | } | ||
| 124 | |||
| 125 | /// Subtracts a Duration from self. In case of overflow, the minimum value is returned. | ||
| 126 | pub fn saturating_sub(mut self, duration: Duration) -> Self { | ||
| 127 | self.ticks = self.ticks.saturating_sub(duration.ticks); | ||
| 128 | self | ||
| 129 | } | ||
| 118 | } | 130 | } |
| 119 | 131 | ||
| 120 | impl Add<Duration> for Instant { | 132 | impl Add<Duration> for Instant { |
