/** * Creates a new <code>TObjectLongCustomHashMap</code> that contains the entries * in the map passed to it. * * @param map the <tt>TObjectLongMap</tt> to be copied. */ public TObjectLongCustomHashMap( HashingStrategy<? super K> strategy, TObjectLongMap<? extends K> map ) { this( strategy, map.size(), 0.5f, map.getNoEntryValue() ); if ( map instanceof TObjectLongCustomHashMap ) { TObjectLongCustomHashMap hashmap = ( TObjectLongCustomHashMap ) map; this._loadFactor = hashmap._loadFactor; this.no_entry_value = hashmap.no_entry_value; this.strategy = hashmap.strategy; //noinspection RedundantCast if ( this.no_entry_value != ( long ) 0 ) { Arrays.fill( _values, this.no_entry_value ); } setUp( (int) Math.ceil( DEFAULT_CAPACITY / _loadFactor ) ); } putAll( map ); }
/** * Creates a new <code>TObjectLongHashMap</code> that contains the entries * in the map passed to it. * * @param map the <tt>TObjectLongMap</tt> to be copied. */ @SuppressWarnings("rawtypes") public TObjectLongHashMap( TObjectLongMap<? extends K> map ) { this( map.size(), 0.5f, map.getNoEntryValue() ); if ( map instanceof TObjectLongHashMap ) { TObjectLongHashMap hashmap = ( TObjectLongHashMap ) map; this._loadFactor = hashmap._loadFactor; this.no_entry_value = hashmap.no_entry_value; //noinspection RedundantCast if ( this.no_entry_value != ( long ) 0 ) { Arrays.fill( _values, this.no_entry_value ); } setUp( (int) Math.ceil( DEFAULT_CAPACITY / _loadFactor ) ); } putAll( map ); }
/** * Creates a new <code>TObjectLongCustomHashMap</code> that contains the entries * in the map passed to it. * * @param map the <tt>TObjectLongMap</tt> to be copied. */ @SuppressWarnings({ "rawtypes", "unchecked" }) public TObjectLongCustomHashMap( HashingStrategy<? super K> strategy, TObjectLongMap<? extends K> map ) { this( strategy, map.size(), 0.5f, map.getNoEntryValue() ); if ( map instanceof TObjectLongCustomHashMap ) { TObjectLongCustomHashMap hashmap = ( TObjectLongCustomHashMap ) map; this._loadFactor = hashmap._loadFactor; this.no_entry_value = hashmap.no_entry_value; this.strategy = hashmap.strategy; //noinspection RedundantCast if ( this.no_entry_value != ( long ) 0 ) { Arrays.fill( _values, this.no_entry_value ); } setUp( (int) Math.ceil( DEFAULT_CAPACITY / _loadFactor ) ); } putAll( map ); }
/** * Creates a new <code>TObjectLongCustomHashMap</code> that contains the entries * in the map passed to it. * * @param map the <tt>TObjectLongMap</tt> to be copied. */ public TObjectLongCustomHashMap( HashingStrategy<K> strategy, TObjectLongMap<K> map ) { this( strategy, map.size(), 0.5f, map.getNoEntryValue() ); if ( map instanceof TObjectLongCustomHashMap ) { TObjectLongCustomHashMap hashmap = ( TObjectLongCustomHashMap ) map; this._loadFactor = hashmap._loadFactor; this.no_entry_value = hashmap.no_entry_value; this.strategy = hashmap.strategy; //noinspection RedundantCast if ( this.no_entry_value != ( long ) 0 ) { Arrays.fill( _values, this.no_entry_value ); } setUp( (int) Math.ceil( DEFAULT_CAPACITY / _loadFactor ) ); } putAll( map ); }
public TObjectLongMap<Rule<T>> getUsedRules() { TObjectLongMap<Rule<T>> rules = new TObjectLongHashMap<Rule<T>>(Constants.DEFAULT_CAPACITY, Constants.DEFAULT_LOAD_FACTOR, -1); List<Rule<T>> iteratedList = new ArrayList<Rule<T>>(32); List<Rule<T>> newList = new ArrayList<Rule<T>>(32); iteratedList.add(this); do { for (Rule<T> rule : iteratedList) { for (Symbol<T> sym: rule.symbols) { if (sym instanceof NonTerminal<?>) { Rule<T> newRule = ((NonTerminal<T>)sym).getRule(); if (rules.adjustOrPutValue(newRule, 1, 1) == 1) // increase counter. new rule? newList.add(newRule); } } } List<Rule<T>> nextNewList = iteratedList; iteratedList = newList; newList = nextNewList; newList.clear(); } while (!iteratedList.isEmpty()); return rules; }
/** * Creates a new <code>TObjectLongHashMap</code> that contains the entries * in the map passed to it. * * @param map the <tt>TObjectLongMap</tt> to be copied. */ public TObjectLongHashMap( TObjectLongMap<? extends K> map ) { this( map.size(), 0.5f, map.getNoEntryValue() ); if ( map instanceof TObjectLongHashMap ) { TObjectLongHashMap hashmap = ( TObjectLongHashMap ) map; this._loadFactor = hashmap._loadFactor; this.no_entry_value = hashmap.no_entry_value; //noinspection RedundantCast if ( this.no_entry_value != ( long ) 0 ) { Arrays.fill( _values, this.no_entry_value ); } setUp( (int) Math.ceil( DEFAULT_CAPACITY / _loadFactor ) ); } putAll( map ); }
/** * Compares this map with another map for equality of their stored * entries. * * @param other an <code>Object</code> value * @return a <code>boolean</code> value */ public boolean equals( Object other ) { if ( ! ( other instanceof TObjectLongMap ) ) { return false; } TObjectLongMap that = ( TObjectLongMap ) other; if ( that.size() != this.size() ) { return false; } try { TObjectLongIterator iter = this.iterator(); while ( iter.hasNext() ) { iter.advance(); Object key = iter.key(); long value = iter.value(); if ( value == no_entry_value ) { if ( !( that.get( key ) == that.getNoEntryValue() && that.containsKey( key ) ) ) { return false; } } else { if ( value != that.get( key ) ) { return false; } } } } catch ( ClassCastException ex ) { // unused. } return true; }
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { // VERSION in.readByte(); // MAP //noinspection unchecked _map = ( TObjectLongMap<K> ) in.readObject(); }
/** * Compares this map with another map for equality of their stored * entries. * * @param other an <code>Object</code> value * @return a <code>boolean</code> value */ @Override @SuppressWarnings("rawtypes") public boolean equals( Object other ) { if ( ! ( other instanceof TObjectLongMap ) ) { return false; } TObjectLongMap that = ( TObjectLongMap ) other; if ( that.size() != this.size() ) { return false; } try { TObjectLongIterator iter = this.iterator(); while ( iter.hasNext() ) { iter.advance(); Object key = iter.key(); long value = iter.value(); if ( value == no_entry_value ) { if ( !( that.get( key ) == that.getNoEntryValue() && that.containsKey( key ) ) ) { return false; } } else { if ( value != that.get( key ) ) { return false; } } } } catch ( ClassCastException ex ) { // unused. } return true; }
@Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { // VERSION in.readByte(); // MAP //noinspection unchecked _map = ( TObjectLongMap<K> ) in.readObject(); }
/** * Creates a new <code>TObjectLongHashMap</code> that contains the entries * in the map passed to it. * * @param map the <tt>TObjectLongMap</tt> to be copied. */ public TObjectLongHashMap( TObjectLongMap<K> map ) { this( map.size(), 0.5f, map.getNoEntryValue() ); if ( map instanceof TObjectLongHashMap ) { TObjectLongHashMap hashmap = ( TObjectLongHashMap ) map; this._loadFactor = hashmap._loadFactor; this.no_entry_value = hashmap.no_entry_value; //noinspection RedundantCast if ( this.no_entry_value != ( long ) 0 ) { Arrays.fill( _values, this.no_entry_value ); } setUp( (int) Math.ceil( DEFAULT_CAPACITY / _loadFactor ) ); } putAll( map ); }