This commit is contained in:
2024-09-18 20:11:38 -04:00
parent e00ae0e9ab
commit d47b3f12a7

View File

@@ -36,6 +36,7 @@
// //
#![allow(unsafe_code)] #![allow(unsafe_code)]
#![allow(unused_variables)] #![allow(unused_variables)]
#![allow(dead_code)] #![allow(dead_code)]
@@ -285,6 +286,7 @@ impl RoyaltyTree {
self.expand_to(ff1*2); self.expand_to(ff1*2);
while ff0<ff1 { while ff0<ff1 {
ff0=wt_parent(ff0); ff0=wt_parent(ff0);
println!("Setting self.tree[{}].weight to {}",ff0,self.tree[ff0].weight);
self.tree[ff0].weight=w; self.tree[ff0].weight=w;
self.tree[ff0].count=c; self.tree[ff0].count=c;
} }
@@ -294,11 +296,16 @@ impl RoyaltyTree {
let mut index=index; let mut index=index;
let ff=self.forefather(); let ff=self.forefather();
while index!=ff { while index!=ff {
if self.tree[index].weight==FiNum::zero() && weight>FiNum::zero() { self.tree[index].count+=1; } println!("self.tree[{}].weight={}",index,self.tree[index].weight);
if self.weight_here(index)==FiNum::zero() && weight>FiNum::zero() {
self.tree[index].count+=1;
}
self.tree[index].weight+=weight; self.tree[index].weight+=weight;
index=wt_parent(index); index=wt_parent(index);
} }
if self.tree[index].weight==FiNum::zero() && weight>FiNum::zero() { self.tree[index].count+=1; } if self.weight_here(index)==FiNum::zero() && weight>FiNum::zero() {
self.tree[index].count+=1;
}
self.tree[index].weight+=weight; self.tree[index].weight+=weight;
} }
fn forefather(&self) -> usize { fn forefather(&self) -> usize {
@@ -795,6 +802,7 @@ fn royalty_stuff() {
let mut rng: StdRng=StdRng::seed_from_u64(13u64); let mut rng: StdRng=StdRng::seed_from_u64(13u64);
let mut rt=RoyaltyTree::new(); let mut rt=RoyaltyTree::new();
rt.add_weight(4,FiNum::new_i32(1)); rt.add_weight(4,FiNum::new_i32(1));
rt.dump();
rt.add_weight(5,FiNum::new_i32(1)); rt.add_weight(5,FiNum::new_i32(1));
rt.dump(); rt.dump();
return; return;