B
    ž3Rcl  ã               @   s$   d d„ Z ddd„Zedkr eƒ  dS )c             C   s@   t |ƒ}|  |¡}x(t|ƒD ]\}}|  |¡r| |¡ qW |S )a9  

  >>> from rdkit import DataStructs
  >>> bv = DataStructs.ExplicitBitVect(128)
  >>> bv.SetBitsFromList((1,5,47,99,120))
  >>> r = ConstructEnsembleBV(bv,(0,1,2,3,45,46,47,48,49))
  >>> r.GetNumBits()
  9
  >>> r.GetBit(0)
  0
  >>> r.GetBit(1)
  1
  >>> r.GetBit(5)
  0
  >>> r.GetBit(6)  # old bit 47
  1

  )ÚlenÚ	__class__Ú	enumerateZGetBitZSetBit)ZbvZ
bitsToKeepZ	finalSizeZresÚiÚbit© r   ú9lib/python3.7/site-packages/rdkit/DataStructs/BitUtils.pyÚConstructEnsembleBV   s    

r   Nc             C   s2   dd l }dd l}|j|j| d\}}| |¡ d S )Né    )ZoptionflagsÚverbose)ÚsysÚdoctestZtestmodÚELLIPSISÚexit)r
   r   r   ZfailedÚ_r   r   r   Ú_runDoctests-   s    r   Ú__main__)N)r   r   Ú__name__r   r   r   r   Ú<module>   s    
