/** * Creates a new <code>TFloatHashSet</code> instance containing the * elements of <tt>array</tt>. * * @param array an array of <code>float</code> primitives */ public TFloatHashSet( float[] array ) { this( Math.max( array.length, DEFAULT_CAPACITY ) ); addAll( array ); }
/** * Creates a new <code>TFloatHashSet</code> instance that is a copy * of the existing Collection. * * @param collection a <tt>Collection</tt> that will be duplicated. */ public TFloatHashSet( Collection<? extends Float> collection ) { this( Math.max( collection.size(), DEFAULT_CAPACITY ) ); addAll( collection ); }
/** * Creates a new <code>TFloatHashSet</code> instance that is a copy * of the existing set. * * @param collection a <tt>TFloatSet</tt> that will be duplicated. */ public TFloatHashSet( TFloatCollection collection ) { this( Math.max( collection.size(), DEFAULT_CAPACITY ) ); if ( collection instanceof TFloatHashSet ) { TFloatHashSet hashset = ( TFloatHashSet ) collection; this._loadFactor = hashset._loadFactor; this.no_entry_value = hashset.no_entry_value; //noinspection RedundantCast if ( this.no_entry_value != ( float ) 0 ) { Arrays.fill( _set, this.no_entry_value ); } setUp( (int) Math.ceil( DEFAULT_CAPACITY / _loadFactor ) ); } addAll( collection ); }
/** * Creates a new <code>TFloatHashSet</code> instance containing the * elements of <tt>array</tt>. * * @param array an array of <code>float</code> primitives */ public TFloatHashSet( float[] array ) { this( Math.max( array.length, DEFAULT_CAPACITY ) ); addAll( array ); }
/** * Creates a new <code>TFloatHashSet</code> instance containing the * elements of <tt>array</tt>. * * @param array an array of <code>float</code> primitives */ public TFloatHashSet( float[] array ) { this( Math.max( array.length, DEFAULT_CAPACITY ) ); addAll( array ); }
/** * Creates a new <code>TFloatHashSet</code> instance containing the * elements of <tt>array</tt>. * * @param array an array of <code>float</code> primitives */ public TFloatHashSet( float[] array ) { this( Math.max( array.length, DEFAULT_CAPACITY ) ); addAll( array ); }
/** * Creates a new <code>TFloatHashSet</code> instance containing the * elements of <tt>array</tt>. * * @param array an array of <code>float</code> primitives */ public TFloatHashSet( float[] array ) { this( Math.max( array.length, DEFAULT_CAPACITY ) ); addAll( array ); }
/** * Creates a new <code>TFloatHashSet</code> instance that is a copy * of the existing Collection. * * @param collection a <tt>Collection</tt> that will be duplicated. */ public TFloatHashSet( Collection<? extends Float> collection ) { this( Math.max( collection.size(), DEFAULT_CAPACITY ) ); addAll( collection ); }
/** * Creates a new <code>TFloatHashSet</code> instance that is a copy * of the existing Collection. * * @param collection a <tt>Collection</tt> that will be duplicated. */ public TFloatHashSet( Collection<? extends Float> collection ) { this( Math.max( collection.size(), DEFAULT_CAPACITY ) ); addAll( collection ); }
/** * Creates a new <code>TFloatHashSet</code> instance that is a copy * of the existing Collection. * * @param collection a <tt>Collection</tt> that will be duplicated. */ public TFloatHashSet( Collection<? extends Float> collection ) { this( Math.max( collection.size(), DEFAULT_CAPACITY ) ); addAll( collection ); }
/** * Creates a new <code>TFloatHashSet</code> instance that is a copy * of the existing Collection. * * @param collection a <tt>Collection</tt> that will be duplicated. */ public TFloatHashSet( Collection<? extends Float> collection ) { this( Math.max( collection.size(), DEFAULT_CAPACITY ) ); addAll( collection ); }
/** * Creates a new <code>TFloatHashSet</code> instance that is a copy * of the existing set. * * @param collection a <tt>TFloatSet</tt> that will be duplicated. */ public TFloatHashSet( TFloatCollection collection ) { this( Math.max( collection.size(), DEFAULT_CAPACITY ) ); if ( collection instanceof TFloatHashSet ) { TFloatHashSet hashset = ( TFloatHashSet ) collection; this._loadFactor = hashset._loadFactor; this.no_entry_value = hashset.no_entry_value; //noinspection RedundantCast if ( this.no_entry_value != ( float ) 0 ) { Arrays.fill( _set, this.no_entry_value ); } setUp( (int) Math.ceil( DEFAULT_CAPACITY / _loadFactor ) ); } addAll( collection ); }
/** * Creates a new <code>TFloatHashSet</code> instance that is a copy * of the existing set. * * @param collection a <tt>TFloatSet</tt> that will be duplicated. */ public TFloatHashSet( TFloatCollection collection ) { this( Math.max( collection.size(), DEFAULT_CAPACITY ) ); if ( collection instanceof TFloatHashSet ) { TFloatHashSet hashset = ( TFloatHashSet ) collection; this._loadFactor = hashset._loadFactor; this.no_entry_value = hashset.no_entry_value; //noinspection RedundantCast if ( this.no_entry_value != ( float ) 0 ) { Arrays.fill( _set, this.no_entry_value ); } setUp( (int) Math.ceil( DEFAULT_CAPACITY / _loadFactor ) ); } addAll( collection ); }
/** * Creates a new <code>TFloatHashSet</code> instance that is a copy * of the existing set. * * @param collection a <tt>TFloatSet</tt> that will be duplicated. */ public TFloatHashSet( TFloatCollection collection ) { this( Math.max( collection.size(), DEFAULT_CAPACITY ) ); if ( collection instanceof TFloatHashSet ) { TFloatHashSet hashset = ( TFloatHashSet ) collection; this._loadFactor = hashset._loadFactor; this.no_entry_value = hashset.no_entry_value; //noinspection RedundantCast if ( this.no_entry_value != ( float ) 0 ) { Arrays.fill( _set, this.no_entry_value ); } setUp( (int) Math.ceil( DEFAULT_CAPACITY / _loadFactor ) ); } addAll( collection ); }
/** * Creates a new <code>TFloatHashSet</code> instance that is a copy * of the existing set. * * @param collection a <tt>TFloatSet</tt> that will be duplicated. */ public TFloatHashSet( TFloatCollection collection ) { this( Math.max( collection.size(), DEFAULT_CAPACITY ) ); if ( collection instanceof TFloatHashSet ) { TFloatHashSet hashset = ( TFloatHashSet ) collection; this._loadFactor = hashset._loadFactor; this.no_entry_value = hashset.no_entry_value; //noinspection RedundantCast if ( this.no_entry_value != ( float ) 0 ) { Arrays.fill( _set, this.no_entry_value ); } setUp( saturatedCast( fastCeil( DEFAULT_CAPACITY / (double) _loadFactor ) ) ); } addAll( collection ); }
@Override public double compare(final float[] h1, final float[] h2) { TFloatHashSet union = new TFloatHashSet(h1); union.addAll(h2); TFloatHashSet intersection = new TFloatHashSet(h1); intersection.retainAll(h2.clone()); //retainAll sorts the input, so we need to make a copy return 1.0 - (((double)intersection.size()) / (double)union.size()); } },
@Override public double compare(final float[] h1, final float[] h2) { TFloatHashSet union = new TFloatHashSet(h1); union.addAll(h2); TFloatHashSet intersection = new TFloatHashSet(h1); intersection.retainAll(h2.clone()); //retainAll sorts the input, so we need to make a copy return 1.0 - (((double)intersection.size()) / (double)union.size()); } },
@Override public double compare(final SparseFloatArray h1, final SparseFloatArray h2) { float[] h1v = h1.values(); float[] h2v = h2.values(); TFloatHashSet union = new TFloatHashSet(h1v); union.addAll(h2v); if (h1v.length != h1.length || h2v.length != h2.length) union.add((float)0); TFloatHashSet intersection = new TFloatHashSet(h1v); intersection.retainAll(h2v); if (h1v.length != h1.length && h2v.length != h2.length) union.add((float)0); return 1.0 - (((double)intersection.size()) / (double)union.size()); } },
@Override public double compare(final SparseFloatArray h1, final SparseFloatArray h2) { float[] h1v = h1.values(); float[] h2v = h2.values(); TFloatHashSet union = new TFloatHashSet(h1v); union.addAll(h2v); if (h1v.length != h1.length || h2v.length != h2.length) union.add((float)0); TFloatHashSet intersection = new TFloatHashSet(h1v); intersection.retainAll(h2v); if (h1v.length != h1.length && h2v.length != h2.length) union.add((float)0); return 1.0 - (((double)intersection.size()) / (double)union.size()); } },