From c76929a200c49462a39e516faf5f75a57a03b0a3 Mon Sep 17 00:00:00 2001 From: Martin Reuter <> Date: Fri, 28 Mar 2025 14:17:40 +0100 Subject: [PATCH 1/4] documentation improvement of set_value --- crates/RustQuant_cashflows/src/quotes.rs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/crates/RustQuant_cashflows/src/quotes.rs b/crates/RustQuant_cashflows/src/quotes.rs index 4b138849..6cec5843 100644 --- a/crates/RustQuant_cashflows/src/quotes.rs +++ b/crates/RustQuant_cashflows/src/quotes.rs @@ -27,7 +27,26 @@ impl SimpleQuote { SimpleQuote { value } } - /// Set the quote value. + /// Sets the value of the quote and returns the difference between the new value and the old value. + /// + /// # Arguments + /// + /// * `value` - An optional new value to set. + /// + /// # Returns + /// + /// * `f64` - The difference between the new value and the old value. If either the old value or the + /// new value is not present, the difference will be 0.0. + /// + /// # Examples + /// + /// ```rust + /// use RustQuant::money::SimpleQuote; + /// + /// let mut quote = SimpleQuote::new(Some(10.0)); + /// let diff = quote.set_value(Some(15.0)); + /// assert_eq!(diff, 5.0); + /// ``` pub fn set_value(&mut self, value: Option) -> f64 { let diff = match (&self.value, &value) { (Some(old_value), Some(new_value)) => new_value - old_value, From 891ef7bd0add3dfdd01f2f5ade9a0490408df9b5 Mon Sep 17 00:00:00 2001 From: Martin Reuter <> Date: Fri, 28 Mar 2025 14:18:49 +0100 Subject: [PATCH 2/4] fix reset function, add documentation --- crates/RustQuant_cashflows/src/quotes.rs | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/crates/RustQuant_cashflows/src/quotes.rs b/crates/RustQuant_cashflows/src/quotes.rs index 6cec5843..ff34b1a3 100644 --- a/crates/RustQuant_cashflows/src/quotes.rs +++ b/crates/RustQuant_cashflows/src/quotes.rs @@ -50,6 +50,7 @@ impl SimpleQuote { pub fn set_value(&mut self, value: Option) -> f64 { let diff = match (&self.value, &value) { (Some(old_value), Some(new_value)) => new_value - old_value, + (None, Some(new_value)) => *new_value, _ => 0.0, }; @@ -62,9 +63,24 @@ impl SimpleQuote { diff } - /// Reset the quote value. + /// Resets the value of the quote to `None`. + /// + /// This method clears the current value of the quote, effectively making it invalid. + /// + /// # Examples + /// + /// ```rust + /// use RustQuant::money::{Quote, SimpleQuote}; + /// + /// let mut quote = SimpleQuote::new(Some(10.0)); + /// assert!(quote.is_valid()); + /// + /// quote.reset(); + /// assert!(!quote.is_valid()); + /// assert_eq!(quote.value(), None); + /// ``` pub fn reset(&mut self) { - self.set_value(None); + self.value = None; } } From 78058832674016a27533911ed889813d9d0717eb Mon Sep 17 00:00:00 2001 From: Martin Reuter <> Date: Fri, 28 Mar 2025 14:28:57 +0100 Subject: [PATCH 3/4] small doc adaptation according to the fix --- crates/RustQuant_cashflows/src/quotes.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/RustQuant_cashflows/src/quotes.rs b/crates/RustQuant_cashflows/src/quotes.rs index ff34b1a3..bd23d522 100644 --- a/crates/RustQuant_cashflows/src/quotes.rs +++ b/crates/RustQuant_cashflows/src/quotes.rs @@ -35,8 +35,8 @@ impl SimpleQuote { /// /// # Returns /// - /// * `f64` - The difference between the new value and the old value. If either the old value or the - /// new value is not present, the difference will be 0.0. + /// * `f64` - The difference between the new value and the old value. If the new value is not present, + /// the difference will be 0.0. /// /// # Examples /// From 3c8ca6be6c0f41dc3953342b51bd57b144507cde Mon Sep 17 00:00:00 2001 From: Martin Reuter <> Date: Fri, 28 Mar 2025 14:46:53 +0100 Subject: [PATCH 4/4] correct import in doc tests --- crates/RustQuant_cashflows/src/quotes.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/RustQuant_cashflows/src/quotes.rs b/crates/RustQuant_cashflows/src/quotes.rs index bd23d522..7bc6894d 100644 --- a/crates/RustQuant_cashflows/src/quotes.rs +++ b/crates/RustQuant_cashflows/src/quotes.rs @@ -41,7 +41,7 @@ impl SimpleQuote { /// # Examples /// /// ```rust - /// use RustQuant::money::SimpleQuote; + /// use RustQuant::cashflows::SimpleQuote; /// /// let mut quote = SimpleQuote::new(Some(10.0)); /// let diff = quote.set_value(Some(15.0)); @@ -70,7 +70,7 @@ impl SimpleQuote { /// # Examples /// /// ```rust - /// use RustQuant::money::{Quote, SimpleQuote}; + /// use RustQuant::cashflows::{Quote, SimpleQuote}; /// /// let mut quote = SimpleQuote::new(Some(10.0)); /// assert!(quote.is_valid());