#!/usr/bin/python3 import re, string, os import facfile haskell = facfile.facfile('src/haskell/.haskell.fac') os.chdir('src/haskell') importre = re.compile('^import\s+(\S+)', re.MULTILINE) mainre = re.compile('^main\s+=', re.MULTILINE) hsfiles = """ C CodeGen Expression ExternalLennardJones ExternalPotentialTest FMT functionals HughesSaft IdealGas LatexDouble latex-functionals Latex LogN0 NewCode Optimize QuadraticGaussian Quadratic QuadraticN0 Rosenfeld SFMT Statement WaterSaft WhiteBear SW_liquid """.split() # see also test all_objects = sorted([x+'.o' for x in hsfiles]) generated_names = """ ExternalPotentialTest HomogeneousSFMTFluid HomogeneousWaterSaftByHand HomogeneousWaterSaft HomogeneousWhiteBear HomogeneousWhiteBearFluid WhiteBearFluidVeff LogN0 Phi1 Phi2 Phi3 QuadraticGaussian Quadratic QuadraticN0 SFMTFluid SFMTFluidVeff SPhi1 SPhi2 SPhi3
#!/usr/bin/python3 import facfile import string src = facfile.facfile('.monte-carlos.fac') monte_carlos = """ monte-carlo soft-monte-carlo pair-monte-carlo triplet-monte-carlo polyhedra-monte-carlo polyhedra-talk square-well-monte-carlo liquid-vapor-monte-carlo radial-distribution-monte-carlo free-energy-monte-carlo free-energy-monte-carlo-infinite-case """.split() utility_files = """ polyhedra square-well InitBox """.split() for x in utility_files: src.compile('src/Monte-Carlo/%s.cpp' % x) for x in monte_carlos: src.link('src/Monte-Carlo/%s.cpp' % x, x)
#!/usr/bin/python3 import facfile import string src = facfile.facfile('.dft.fac') generic_sources = """ lattice utilities Faddeeva GridDescription Grid ReciprocalGrid IdealGas ChemicalPotential HardSpheres ExternalPotential Functional ContactDensity Gaussian Pow WaterSaftFast WaterSaft_by_handFast EffectivePotentialToDensity equation-of-state water-constants compute-surface-tension Minimizer Downhill Precision ConjugateGradient QuadraticLineMinimizer SteepestDescent vector3d new/Minimize new/NewFunctional """.split() for x in generic_sources: src.compile('src/%s.cpp' % x) mkdats = """ papers/fuzzy-fmt/figs/homogeneous
#!/usr/bin/python3 import re, string, os import facfile haskell = facfile.facfile('src/haskell/.haskell.fac') os.chdir('src/haskell') importre = re.compile('^import\s+(\S+)', re.MULTILINE) mainre = re.compile('^main\s+=', re.MULTILINE) hsfiles = """ C CodeGen Expression ExternalLennardJones ExternalPotentialTest FMT functionals HughesSaft IdealGas LatexDouble latex-functionals Latex LogN0 NewCode Optimize QuadraticGaussian Quadratic QuadraticN0 Rosenfeld SFMT Statement WaterSaft WhiteBear SW_liquid """.split() # see also test all_objects = sorted([x + '.o' for x in hsfiles]) generated_names = """ ExternalPotentialTest HomogeneousSFMTFluid HomogeneousWaterSaftByHand HomogeneousWaterSaft HomogeneousWhiteBear HomogeneousWhiteBearFluid WhiteBearFluidVeff LogN0 Phi1 Phi2 Phi3 QuadraticGaussian Quadratic QuadraticN0 SFMTFluid SFMTFluidVeff SPhi1 SPhi2 SPhi3
import re, string, sys, os import facfile if len(sys.argv) > 1: texfs = sys.argv[1:] else: print("Need arguments") os.exit(1) documentclassre = re.compile(r'\\documentclass(\[[^\]]+\])?{') graphicre = re.compile(r'^[^%\n]*\\includegraphics(\[[^\]]+\])?{([^}]+)}', re.MULTILINE) inputre = re.compile(r'\\input(\[[^\]]+\])?{([^}]+)}') for t in texfs: fac = facfile.facfile(os.path.dirname(t)+'/.'+os.path.basename(t)+'.fac') fname = os.path.basename(t) f = open(t, 'r') latex = f.read() inputs = {fname} outputs = {fname[:-3]+'pdf'} os.chdir(os.path.dirname(t)) # so we can look up figures easily def graphics_name(x): if len(x) > 4 and x[-4:] in ['.pdf', '.png', '.jpg']: return x return x+'.pdf' inputs |= set([graphics_name(x[1]) for x in graphicre.findall(latex)]) inputs |= set([x[1]+'.tex' for x in inputre.findall(latex)]) fac.default('pdflatex %s && pdflatex %s && bibtex %s && pdflatex %s && pdflatex %s'
#!/usr/bin/python3 import facfile doc = facfile.facfile('.doc.fac') for pdf in """ Association WhiteBear TensorWhiteBear WhiteBearMarkII Dispersion SaftFluid SimpDispersion EntropySaftFluid GradDispersion JoinedGradDispersion SW_liquid SimpGradDispersion SFMT """.split(): doc.default('src/haskell/latex-functionals.exe doc/%s.pdf' % pdf, ['src/haskell/latex-functionals.exe'], ['doc/%s.pdf' % pdf])
#!/usr/bin/python3 import facfile import string src = facfile.facfile('.dft.fac') generic_sources = """ lattice utilities Faddeeva GridDescription Grid ReciprocalGrid IdealGas ChemicalPotential HardSpheres ExternalPotential Functional ContactDensity Gaussian Pow WaterSaftFast WaterSaft_by_handFast EffectivePotentialToDensity equation-of-state water-constants compute-surface-tension Minimizer Downhill Precision ConjugateGradient QuadraticLineMinimizer SteepestDescent vector3d new/Minimize new/NewFunctional """.split() for x in generic_sources: src.compile('src/%s.cpp' % x) mkdats = """ papers/fuzzy-fmt/figs/homogeneous papers/fuzzy-fmt/figs/homogeneous-bh
import facfile if len(sys.argv) > 1: texfs = sys.argv[1:] else: print("Need arguments") os.exit(1) documentclassre = re.compile(r'\\documentclass(\[[^\]]+\])?{') graphicre = re.compile(r'^[^%\n]*\\includegraphics(\[[^\]]+\])?{([^}]+)}', re.MULTILINE) inputre = re.compile(r'\\input(\[[^\]]+\])?{([^}]+)}') for t in texfs: fac = facfile.facfile( os.path.dirname(t) + '/.' + os.path.basename(t) + '.fac') fname = os.path.basename(t) f = open(t, 'r') latex = f.read() inputs = {fname} outputs = {fname[:-3] + 'pdf'} os.chdir(os.path.dirname(t)) # so we can look up figures easily def graphics_name(x): if len(x) > 4 and x[-4:] in ['.pdf', '.png', '.jpg']: return x return x + '.pdf' inputs |= set([graphics_name(x[1]) for x in graphicre.findall(latex)])