< prev index next >

src/jdk.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/AbstractProfiledItem.java

Print this page




  34     public AbstractProfiledItem(T item, double probability) {
  35         assert item != null;
  36         assert probability >= 0.0D && probability <= 1.0D;
  37         this.item = item;
  38         this.probability = probability;
  39     }
  40 
  41     protected T getItem() {
  42         return item;
  43     }
  44 
  45     /**
  46      * Returns the estimated probability of {@link #getItem()}.
  47      *
  48      * @return double value &ge; 0.0 and &le; 1.0
  49      */
  50     public double getProbability() {
  51         return probability;
  52     }
  53 




  54     @Override
  55     public int compareTo(AbstractProfiledItem<?> o) {
  56         if (getProbability() > o.getProbability()) {
  57             return -1;
  58         } else if (getProbability() < o.getProbability()) {
  59             return 1;
  60         }
  61         return 0;
  62     }
  63 
  64     @Override
  65     public int hashCode() {
  66         final int prime = 31;
  67         int result = 1;
  68         long temp;
  69         temp = Double.doubleToLongBits(probability);
  70         result = prime * result + (int) (temp ^ (temp >>> 32));
  71         result = prime * result + item.hashCode();
  72         return result;
  73     }
  74 
  75     @Override
  76     public boolean equals(Object obj) {
  77         if (this == obj) {
  78             return true;
  79         }
  80         if (obj == null) {
  81             return false;


  34     public AbstractProfiledItem(T item, double probability) {
  35         assert item != null;
  36         assert probability >= 0.0D && probability <= 1.0D;
  37         this.item = item;
  38         this.probability = probability;
  39     }
  40 
  41     protected T getItem() {
  42         return item;
  43     }
  44 
  45     /**
  46      * Returns the estimated probability of {@link #getItem()}.
  47      *
  48      * @return double value &ge; 0.0 and &le; 1.0
  49      */
  50     public double getProbability() {
  51         return probability;
  52     }
  53 
  54     /**
  55      * Returns -1 if the {@linkplain #getProbability() probability} of this item is greater than
  56      * {@code o}'s probability, 0 if there are equal otherwise 1.
  57      */
  58     @Override
  59     public int compareTo(AbstractProfiledItem<?> o) {
  60         // Need to swap the order of operands so that higher probabilities are sorted first
  61         return Double.compare(o.getProbability(), getProbability());




  62     }
  63 
  64     @Override
  65     public int hashCode() {
  66         final int prime = 31;
  67         int result = 1;
  68         long temp;
  69         temp = Double.doubleToLongBits(probability);
  70         result = prime * result + (int) (temp ^ (temp >>> 32));
  71         result = prime * result + item.hashCode();
  72         return result;
  73     }
  74 
  75     @Override
  76     public boolean equals(Object obj) {
  77         if (this == obj) {
  78             return true;
  79         }
  80         if (obj == null) {
  81             return false;
< prev index next >