diff --git a/src/main.rs b/src/main.rs index 0e28c12..d9d7a47 100644 --- a/src/main.rs +++ b/src/main.rs @@ -417,8 +417,8 @@ impl Market { self.traders[bids1.peek().owner].add_balance(asset_type0,asset0_paying); log.push(format!(" {} got {} {}, {} got {} {}",self.traders[bids0.peek().owner].name,asset1_paying,asset1.name, self.traders[bids1.peek().owner].name,asset0_paying,asset0.name)); - if bids0.peek().sell_remain==FiNum::zero() { bids0.pop(); } - if bids1.peek().sell_remain==FiNum::zero() { bids1.pop(); } + if bids0.peek().sell_remain==FiNum::zero() { println!("Nope0!!!"); bids0.pop(); } // Stopped work here. Must fixup all the data structures for these pops. + if bids1.peek().sell_remain==FiNum::zero() { println!("Nope1!!!"); bids1.pop(); } } Result::ExecutedBatch(log) } @@ -970,6 +970,7 @@ fn interactive(m: &mut Market, mut out: Option) { println!("Showing all orders for {}",m.traders[trader].name); for (key0,value0) in &m.traders[trader].order_finder { let oq=m.orders.get(value0).unwrap(); // OrderQueue + println!("About to find key {}",key0); let oqi=*oq.order_finder.get(key0).unwrap(); let ord=oq.v[oqi].clone(); // Order println!(" OrderID {} is selling {} {} to buy {} {}",key0,ord.sell_remain,m.number_to_asset(value0.0).name,ord.buy_qty*ord.sell_remain/ord.sell_qty,m.number_to_asset(value0.1).name);