Skip to content

Commit 7194e58

Browse files
Merge pull request #21 from mitchmindtree/master
Add assignment operator impls. Publish 0.12.1.
2 parents c09d02a + c746979 commit 7194e58

File tree

7 files changed

+161
-11
lines changed

7 files changed

+161
-11
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "time_calc"
33
description = "A library for music/DSP time conversions! Provides functions and methods for converting between ticks, ms, samples, bars, beats and measures."
4-
version = "0.12.0"
4+
version = "0.12.1"
55
authors = ["[email protected]"]
66
readme = "README.md"
77
keywords = ["time", "dsp", "audio", "music", "conversion"]

src/bars.rs

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
//!
77
88
use num::{FromPrimitive, ToPrimitive};
9-
use std::ops::{Add, Sub, Mul, Div, Rem, Neg};
9+
use std::ops::{Add, Sub, Mul, Div, Rem, Neg,
10+
AddAssign, SubAssign, MulAssign, DivAssign, RemAssign};
1011
use super::calc;
1112
use super::{
1213
Bpm,
@@ -132,6 +133,36 @@ impl Neg for Bars {
132133
}
133134
}
134135

136+
impl AddAssign for Bars {
137+
fn add_assign(&mut self, rhs: Bars) {
138+
*self = *self + rhs;
139+
}
140+
}
141+
142+
impl SubAssign for Bars {
143+
fn sub_assign(&mut self, rhs: Bars) {
144+
*self = *self - rhs;
145+
}
146+
}
147+
148+
impl MulAssign for Bars {
149+
fn mul_assign(&mut self, rhs: Bars) {
150+
*self = *self * rhs;
151+
}
152+
}
153+
154+
impl DivAssign for Bars {
155+
fn div_assign(&mut self, rhs: Bars) {
156+
*self = *self / rhs;
157+
}
158+
}
159+
160+
impl RemAssign for Bars {
161+
fn rem_assign(&mut self, rhs: Bars) {
162+
*self = *self % rhs;
163+
}
164+
}
165+
135166
impl ToPrimitive for Bars {
136167
fn to_u64(&self) -> Option<u64> {
137168
self.bars().to_u64()

src/beats.rs

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
//!
77
88
use num::{FromPrimitive, ToPrimitive};
9-
use std::ops::{Add, Sub, Mul, Div, Rem, Neg};
9+
use std::ops::{Add, Sub, Mul, Div, Rem, Neg,
10+
AddAssign, SubAssign, MulAssign, DivAssign, RemAssign};
1011
use super::calc;
1112
use super::{
1213
Bpm,
@@ -132,6 +133,36 @@ impl Neg for Beats {
132133
}
133134
}
134135

136+
impl AddAssign for Beats {
137+
fn add_assign(&mut self, rhs: Beats) {
138+
*self = *self + rhs;
139+
}
140+
}
141+
142+
impl SubAssign for Beats {
143+
fn sub_assign(&mut self, rhs: Beats) {
144+
*self = *self - rhs;
145+
}
146+
}
147+
148+
impl MulAssign for Beats {
149+
fn mul_assign(&mut self, rhs: Beats) {
150+
*self = *self * rhs;
151+
}
152+
}
153+
154+
impl DivAssign for Beats {
155+
fn div_assign(&mut self, rhs: Beats) {
156+
*self = *self / rhs;
157+
}
158+
}
159+
160+
impl RemAssign for Beats {
161+
fn rem_assign(&mut self, rhs: Beats) {
162+
*self = *self % rhs;
163+
}
164+
}
165+
135166
impl ToPrimitive for Beats {
136167
fn to_u64(&self) -> Option<u64> {
137168
self.beats().to_u64()
@@ -149,4 +180,3 @@ impl FromPrimitive for Beats {
149180
Some(Beats(n as NumDiv))
150181
}
151182
}
152-

src/division.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,4 +210,3 @@ impl Sub<isize> for DivType {
210210
self.to_isize().unwrap() - rhs
211211
}
212212
}
213-

src/ms.rs

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
//!
77
88
use num::{FromPrimitive, ToPrimitive};
9-
use std::ops::{Add, Sub, Mul, Div, Rem, Neg};
9+
use std::ops::{Add, Sub, Mul, Div, Rem, Neg,
10+
AddAssign, SubAssign, MulAssign, DivAssign, RemAssign};
1011
use super::calc;
1112
use super::{
1213
Bars,
@@ -122,6 +123,36 @@ impl Neg for Ms {
122123
}
123124
}
124125

126+
impl AddAssign for Ms {
127+
fn add_assign(&mut self, rhs: Ms) {
128+
*self = *self + rhs;
129+
}
130+
}
131+
132+
impl SubAssign for Ms {
133+
fn sub_assign(&mut self, rhs: Ms) {
134+
*self = *self - rhs;
135+
}
136+
}
137+
138+
impl MulAssign for Ms {
139+
fn mul_assign(&mut self, rhs: Ms) {
140+
*self = *self * rhs;
141+
}
142+
}
143+
144+
impl DivAssign for Ms {
145+
fn div_assign(&mut self, rhs: Ms) {
146+
*self = *self / rhs;
147+
}
148+
}
149+
150+
impl RemAssign for Ms {
151+
fn rem_assign(&mut self, rhs: Ms) {
152+
*self = *self % rhs;
153+
}
154+
}
155+
125156
impl ToPrimitive for Ms {
126157
fn to_u64(&self) -> Option<u64> {
127158
self.ms().to_u64()
@@ -139,4 +170,3 @@ impl FromPrimitive for Ms {
139170
Some(Ms(n as calc::Ms))
140171
}
141172
}
142-

src/samples.rs

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
//!
77
88
use num::{FromPrimitive, ToPrimitive};
9-
use std::ops::{Add, Sub, Mul, Div, Rem, Neg};
9+
use std::ops::{Add, Sub, Mul, Div, Rem, Neg,
10+
AddAssign, SubAssign, MulAssign, DivAssign, RemAssign};
1011
use super::calc;
1112
use super::{
1213
Bars,
@@ -121,6 +122,36 @@ impl Neg for Samples {
121122
}
122123
}
123124

125+
impl AddAssign for Samples {
126+
fn add_assign(&mut self, rhs: Samples) {
127+
*self = *self + rhs;
128+
}
129+
}
130+
131+
impl SubAssign for Samples {
132+
fn sub_assign(&mut self, rhs: Samples) {
133+
*self = *self - rhs;
134+
}
135+
}
136+
137+
impl MulAssign for Samples {
138+
fn mul_assign(&mut self, rhs: Samples) {
139+
*self = *self * rhs;
140+
}
141+
}
142+
143+
impl DivAssign for Samples {
144+
fn div_assign(&mut self, rhs: Samples) {
145+
*self = *self / rhs;
146+
}
147+
}
148+
149+
impl RemAssign for Samples {
150+
fn rem_assign(&mut self, rhs: Samples) {
151+
*self = *self % rhs;
152+
}
153+
}
154+
124155
impl ToPrimitive for Samples {
125156
fn to_u64(&self) -> Option<u64> {
126157
self.samples().to_u64()
@@ -138,4 +169,3 @@ impl FromPrimitive for Samples {
138169
Some(Samples(n as calc::Samples))
139170
}
140171
}
141-

src/ticks.rs

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
//!
77
88
use num::{FromPrimitive, ToPrimitive};
9-
use std::ops::{Add, Sub, Mul, Div, Rem, Neg};
9+
use std::ops::{Add, Sub, Mul, Div, Rem, Neg,
10+
AddAssign, SubAssign, MulAssign, DivAssign, RemAssign};
1011
use super::calc;
1112
use super::{
1213
Bars,
@@ -120,6 +121,36 @@ impl Neg for Ticks {
120121
}
121122
}
122123

124+
impl AddAssign for Ticks {
125+
fn add_assign(&mut self, rhs: Ticks) {
126+
*self = *self + rhs;
127+
}
128+
}
129+
130+
impl SubAssign for Ticks {
131+
fn sub_assign(&mut self, rhs: Ticks) {
132+
*self = *self - rhs;
133+
}
134+
}
135+
136+
impl MulAssign for Ticks {
137+
fn mul_assign(&mut self, rhs: Ticks) {
138+
*self = *self * rhs;
139+
}
140+
}
141+
142+
impl DivAssign for Ticks {
143+
fn div_assign(&mut self, rhs: Ticks) {
144+
*self = *self / rhs;
145+
}
146+
}
147+
148+
impl RemAssign for Ticks {
149+
fn rem_assign(&mut self, rhs: Ticks) {
150+
*self = *self % rhs;
151+
}
152+
}
153+
123154
impl ToPrimitive for Ticks {
124155
fn to_u64(&self) -> Option<u64> {
125156
self.ticks().to_u64()
@@ -137,4 +168,3 @@ impl FromPrimitive for Ticks {
137168
Some(Ticks(n as calc::Ticks))
138169
}
139170
}
140-

0 commit comments

Comments
 (0)