spreadsheet_ods_formula/
fin.rs1use crate::Any;
6use std::fmt::Write;
7
8pub use crate::generated::fin::*;
9
10#[doc(inline)]
11pub use crate::date::YearFracMethod;
12
13#[derive(Debug)]
15pub enum Frequency {
16 Annual,
17 Semiannual,
18 Quarterly,
19 Monthly,
20}
21
22impl Any for Frequency {
23 fn formula(&self, buf: &mut String) {
24 let _ = write!(
25 buf,
26 "{}",
27 match self {
28 Frequency::Annual => 1,
29 Frequency::Semiannual => 2,
30 Frequency::Quarterly => 4,
31 Frequency::Monthly => 12,
32 }
33 );
34 }
35}
36
37#[derive(Debug)]
39pub enum MaturityDate {
40 DueAtEnd,
42 DueAtBeginning,
44}
45
46impl Any for MaturityDate {
47 fn formula(&self, buf: &mut String) {
48 buf.push_str(match self {
49 MaturityDate::DueAtEnd => "0",
50 MaturityDate::DueAtBeginning => "1",
51 });
52 }
53}
54
55#[derive(Debug)]
57pub enum PayType {
58 DueAtEnd,
60 DueAtBeginning,
62}
63
64impl Any for PayType {
65 fn formula(&self, buf: &mut String) {
66 buf.push_str(match self {
67 PayType::DueAtEnd => "0",
68 PayType::DueAtBeginning => "1",
69 });
70 }
71}