[ 
https://issues.apache.org/jira/browse/COLLECTIONS-728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17003765#comment-17003765
 ] 

Claude Warren commented on COLLECTIONS-728:
-------------------------------------------

There may be some disconnect here.  The HashFunction interface is not intended 
to generically describe hash functions, but is intended to provide the 
information necessary for Bloom filter usage of a Hash function.

I am assuming that in your example code  the HashFunction does not extend 
HashFunctionIdentity and that, in fact, HashFunctionIdenty is not available.  
The issue in this case is that without being able to check how the underlying 
hash function operates all you can check is that the equals() operator works 
for the instances of the class.  Currently the `check` method you list is 
equivalent to f.getShape().equals( g.getShape() ). (e.g if the Shapes are the 
same the filters are comparable). Note: the Shape.equals() method currently 
uses the HashFunctionIdentity to  verify the functions are the same.  The 
`isUsing` method is effectively HashFunctionIdentity.COMMON_COMPARATOR.compare( 
f.getShape().getHashFunctionIdentity(), h ) == 0.  Note: the current 
HashFunction extends HashFunctionIdentity.

 

 

> BloomFilter contribution
> ------------------------
>
>                 Key: COLLECTIONS-728
>                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-728
>             Project: Commons Collections
>          Issue Type: Task
>            Reporter: Claude Warren
>            Priority: Minor
>         Attachments: BF_Func.md, BloomFilter.java, BloomFilterI2.java, 
> Usage.md
>
>
> Contribution of BloomFilter library comprising base implementation and gated 
> collections.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to