/** {@inheritDoc} */ public byte[] toArray() { byte[] result = new byte[ size() ]; byte[] set = _set; byte[] states = _states; for ( int i = states.length, j = 0; i-- > 0; ) { if ( states[i] == FULL ) { result[j++] = set[i]; } } return result; }
/** {@inheritDoc} */ public boolean equals( Object other ) { if ( ! ( other instanceof TByteSet ) ) { return false; } TByteSet that = ( TByteSet ) other; if ( that.size() != this.size() ) { return false; } for ( int i = _states.length; i-- > 0; ) { if ( _states[i] == FULL ) { if ( ! that.contains( _set[i] ) ) { return false; } } } return true; }
/** {@inheritDoc} */ public byte[] toArray() { byte[] result = new byte[ size() ]; byte[] set = _set; byte[] states = _states; for ( int i = states.length, j = 0; i-- > 0; ) { if ( states[i] == FULL ) { result[j++] = set[i]; } } return result; }
/** {@inheritDoc} */ public byte[] toArray() { byte[] result = new byte[ size() ]; byte[] set = _set; byte[] states = _states; for ( int i = states.length, j = 0; i-- > 0; ) { if ( states[i] == FULL ) { result[j++] = set[i]; } } return result; }
/** {@inheritDoc} */ @Override public byte[] toArray() { byte[] result = new byte[ size() ]; byte[] set = _set; byte[] states = _states; for ( int i = states.length, j = 0; i-- > 0; ) { if ( states[i] == FULL ) { result[j++] = set[i]; } } return result; }
/** {@inheritDoc} */ public boolean equals( Object other ) { if ( ! ( other instanceof TByteSet ) ) { return false; } TByteSet that = ( TByteSet ) other; if ( that.size() != this.size() ) { return false; } for ( int i = _states.length; i-- > 0; ) { if ( _states[i] == FULL ) { if ( ! that.contains( _set[i] ) ) { return false; } } } return true; }
@Override public double compare(final byte[] h1, final byte[] h2) { TByteHashSet union = new TByteHashSet(h1); union.addAll(h2); TByteHashSet intersection = new TByteHashSet(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 byte[] h1, final byte[] h2) { TByteHashSet union = new TByteHashSet(h1); union.addAll(h2); TByteHashSet intersection = new TByteHashSet(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()); } },
/** {@inheritDoc} */ public boolean equals( Object other ) { if ( ! ( other instanceof TByteSet ) ) { return false; } TByteSet that = ( TByteSet ) other; if ( that.size() != this.size() ) { return false; } for ( int i = _states.length; i-- > 0; ) { if ( _states[i] == FULL ) { if ( ! that.contains( _set[i] ) ) { return false; } } } return true; }
/** {@inheritDoc} */ public boolean equals( Object other ) { if ( ! ( other instanceof TByteSet ) ) { return false; } TByteSet that = ( TByteSet ) other; if ( that.size() != this.size() ) { return false; } for ( int i = _states.length; i-- > 0; ) { if ( _states[i] == FULL ) { if ( ! that.contains( _set[i] ) ) { return false; } } } return true; }
/** {@inheritDoc} */ @Override public boolean equals( Object other ) { if ( ! ( other instanceof TByteSet ) ) { return false; } TByteSet that = ( TByteSet ) other; if ( that.size() != this.size() ) { return false; } for ( int i = _states.length; i-- > 0; ) { if ( _states[i] == FULL ) { if ( ! that.contains( _set[i] ) ) { return false; } } } return true; }
@Override public double compare(final SparseByteArray h1, final SparseByteArray h2) { byte[] h1v = h1.values(); byte[] h2v = h2.values(); TByteHashSet union = new TByteHashSet(h1v); union.addAll(h2v); if (h1v.length != h1.length || h2v.length != h2.length) union.add((byte)0); TByteHashSet intersection = new TByteHashSet(h1v); intersection.retainAll(h2v); if (h1v.length != h1.length && h2v.length != h2.length) union.add((byte)0); return 1.0 - (((double)intersection.size()) / (double)union.size()); } },
@Override public double compare(final SparseByteArray h1, final SparseByteArray h2) { byte[] h1v = h1.values(); byte[] h2v = h2.values(); TByteHashSet union = new TByteHashSet(h1v); union.addAll(h2v); if (h1v.length != h1.length || h2v.length != h2.length) union.add((byte)0); TByteHashSet intersection = new TByteHashSet(h1v); intersection.retainAll(h2v); if (h1v.length != h1.length && h2v.length != h2.length) union.add((byte)0); return 1.0 - (((double)intersection.size()) / (double)union.size()); } },