public void Add(int index, Weight weight) =>
 this.weightedStates.Add(new WeightedState(index, weight));
 public WeightedState(int index, Weight weight)
 {
     this.Index          = index;
     this.WeightHighBits = (int)(BitConverter.DoubleToInt64Bits(weight.LogValue) >> 32);
     this.Weight         = weight;
 }