Changeset 8fff00e in sasmodels
- Timestamp:
- Feb 13, 2015 3:47:26 AM (10 years ago)
- Branches:
- master, core_shell_microgels, costrafo411, magnetic_model, release_v0.94, release_v0.95, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
- Children:
- be802cb
- Parents:
- df4dc86 (diff), 3fdb4b6 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
rdf4dc86 r8fff00e 5 5 *.so 6 6 *.obj 7 /doc/_build/ 8 /doc/api/ 9 /doc/model/ 10 .mplconfig -
sasmodels/gen.py
rdf4dc86 r8fff00e 438 438 Convert code from double precision to single precision. 439 439 """ 440 source = re.sub(r'(^|[^a-zA-Z0-9_])double($|[^a-zA-Z0-9_])', 440 # Convert double keyword to float. Accept an 'n' parameter for vector 441 # values, where n is 2, 4, 8 or 16. Assume complex numbers are represented 442 # as cdouble which is typedef'd to double2. 443 source = re.sub(r'(^|[^a-zA-Z0-9_]c?)double(([248]|16)?($|[^a-zA-Z0-9_]))', 441 444 r'\1float\2', source) 445 # Convert floating point constants to single by adding 'f' to the end. 446 # OS/X driver complains if you don't do this. 442 447 source = re.sub(r'[^a-zA-Z_](\d*[.]\d+|\d+[.]\d*)([eE][+-]?\d+)?', 443 448 r'\g<0>f', source) -
sasmodels/dll.py
r216a9e1 rdf4dc86 4 4 import sys 5 5 import os 6 import tempfile 6 7 import ctypes as ct 7 8 from ctypes import c_void_p, c_int, c_double … … 15 16 if sys.platform == 'darwin': 16 17 #COMPILE = "gcc-mp-4.7 -shared -fPIC -std=c99 -fopenmp -O2 -Wall %s -o %s -lm -lgomp" 17 COMPILE = "gcc -shared -fPIC -std=c99 -O2 -Wall % s -o %s -lm"18 COMPILE = "gcc -shared -fPIC -std=c99 -O2 -Wall %(source)s -o %(output)s -lm" 18 19 elif os.name == 'nt': 19 COMPILE = "gcc -shared -fPIC -std=c99 -fopenmp -O2 -Wall %s -o %s -lm" 20 # make sure vcvarsall.bat is called first in order to set compiler, headers, lib paths, etc. 21 ##COMPILER = r'"C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe"' 22 # Can't find VCOMP90.DLL (don't know why), so remove openmp support from windows compiler build 23 #COMPILE = "cl /nologo /Ox /MD /W3 /GS- /DNDEBUG /Tp%(source)s /link /DLL /INCREMENTAL:NO /MANIFEST /OUT:%(output)s" 24 COMPILE = "cl /nologo /Ox /MD /W3 /GS- /DNDEBUG /Tp%(source)s /openmp /link /DLL /INCREMENTAL:NO /MANIFEST /OUT:%(output)s" 25 #/MANIFESTFILE:build\temp.win32-2.7\Release\src\sans\models\c_extension\libigor\c_models.pyd.manifest 26 #COMPILE = "gcc -shared -fPIC -std=c99 -fopenmp -O2 -Wall %(source)s -o %(output)s -lm" 20 27 else: 21 COMPILE = "cc -shared -fPIC -std=c99 -fopenmp -O2 -Wall %s -o %s -lm" 22 DLL_PATH = "/tmp" 28 COMPILE = "cc -shared -fPIC -std=c99 -fopenmp -O2 -Wall %(source)s -o %(output)s -lm" 29 30 DLL_PATH = tempfile.gettempdir() 23 31 24 32 … … 53 61 fid, filename = tempfile.mkstemp(suffix=".c",prefix="sas_"+info['name']) 54 62 os.fdopen(fid,"w").write(source) 55 status = os.system(COMPILE%(filename, dllpath)) 63 command = COMPILE%{"source":filename, "output":dllpath} 64 print "Compile command:",command 65 status = os.system(command) 56 66 if status != 0: 57 67 print "compile failed. File is in %r"%filename … … 91 101 Npd2d = len(self.info['partype']['pd-2d']) 92 102 103 #print "dll",self.dllpath 93 104 self.dll = ct.CDLL(self.dllpath) 94 105
Note: See TracChangeset
for help on using the changeset viewer.