File: buildDistMat.py

package info (click to toggle)
rdkit 201203-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 37,840 kB
  • sloc: cpp: 93,902; python: 51,897; java: 5,192; ansic: 3,497; xml: 2,499; sql: 1,641; yacc: 1,518; lex: 1,076; makefile: 325; fortran: 183; sh: 153; cs: 51
file content (42 lines) | stat: -rw-r--r-- 668 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
def buildDistMat(sz):
  mask = 0x1
  ds = []
  for i in range(sz):
    for j in range(sz):
      dist=0
      a=i
      b=j
      while a or b:
        ta = a&mask
        tb = b&mask
        if ta^tb:
          dist+=1
        a >>= 1
        b >>= 1
      ds.append(dist)
  return ds
def numOnBits(sz):
  mask = 0x1
  ds = []
  for i in range(sz):
    nOn = 0
    a = i
    while a:
      if a&mask:
        nOn+=1
      a >>= 1
    ds.append(nOn)
  return ds
if __name__=='__main__':
  sz = 256
  #ds = buildDistMat(sz)
  ds = numOnBits(sz)

  step = 32
  i=0
  while i<len(ds):
    print '  %s,'%(','.join([str(x) for x in ds[i:i+step]]))
    i+=step