From 469f4b022d3671e6dd5926ce37fa85a162fed1e5 Mon Sep 17 00:00:00 2001 From: Teppy Date: Wed, 15 May 2024 17:45:14 -0400 Subject: [PATCH] changes --- src/main.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main.rs b/src/main.rs index 7c1cfb6..38facb6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -18,6 +18,15 @@ impl Trader { balances: HashMap::new() } } + fn add_balance(&mut self, cur:i32, delta:u64) { + self.balances.entry(cur).and_modify(|ent| *ent+=delta ).or_insert_with(|| delta); + } + fn sub_balance(&mut self, cur:i32, delta:u64) { + self.balances.entry(cur).and_modify(|ent| *ent-=delta ); + } + fn get_balance(&self, cur:i32) -> u64 { + *self.balances.get(&cur).map(|bal| bal).unwrap_or(&0u64) + } } #[derive(Debug, Clone)] @@ -232,6 +241,11 @@ fn fxp_mult(a: u64, b: u64) -> u64 { } fn main() { + let mut t1=Trader::new("Teppy",1); + t1.add_balance(1,100); + t1.add_balance(2,150); + t1.sub_balance(1, 25); + println!("Balances are {} and {}",t1.get_balance(1),t1.get_balance(2)); let mut m=Market::new(); // USD type is 1, EUR type is 2, BTC type is 10, ETH type is 11, SOL type is 12 let usd=m.register_asset("USD"); let btc=m.register_asset("BTC");