File: create-sets.py

package info (click to toggle)
polymake 4.14-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 35,888 kB
  • sloc: cpp: 168,933; perl: 43,407; javascript: 31,575; ansic: 3,007; java: 2,654; python: 632; sh: 268; xml: 117; makefile: 61
file content (36 lines) | stat: -rwxr-xr-x 888 bytes parent folder | download | duplicates (6)
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
#!/usr/bin/python
# -*- coding: utf-8 -*-

import os
import re
import random
from math import log

def createSet(degree, k):
    filename = "S1_%04d_%02d" % (degree, k)
    if not os.path.exists(filename):
        print "creating", filename
        file = open(filename, "w")
        omega = range(1, degree+1)
        file.write(str(k) + "\n")
        for i in range(0, 10000):
            file.write(",".join([str(o) for o in random.sample(omega, k)]) + "\n")
        file.close()

grpFilePattern = re.compile(r'G_(\d+)')

for root, dirs, files in os.walk("."):
    for f in files:
        m = grpFilePattern.match(f)
        if not m:
            continue

        file = open(f)
        _ = file.readline()
        degree = int(file.readline())
        file.close()
        
        k = int(log(degree, 2))
        for l in range(k-3, k+2):
             createSet(degree, l)