Changeset df4dc86 in sasmodels
- Timestamp:
- Feb 13, 2015 1:36:42 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:
- 8fff00e
- Parents:
- 8a3e0af
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
r6798848 rdf4dc86 4 4 *.cl 5 5 *.so 6 *.obj -
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 -
sasmodels/gen.py
r994d77f rdf4dc86 226 226 // Note: if using a C++ compiler, then define kernel as extern "C" 227 227 #ifndef USE_OPENCL 228 # include <math.h> 228 # ifdef __cplusplus 229 #include <cmath> 230 #if defined(_MSC_VER) 231 #define kernel extern "C" __declspec( dllexport ) 232 #else 233 #define kernel extern "C" 234 #endif 235 using namespace std; 236 inline void SINCOS(double angle, double &svar, double &cvar) 237 { svar=sin(angle); cvar=cos(angle); } 238 # else 239 #include <math.h> 240 #if defined(_MSC_VER) 241 #define kernel __declspec( dllexport ) 242 #else 243 #define kernel 244 #endif 245 #define SINCOS(angle,svar,cvar) do {svar=sin(angle);cvar=cos(angle);} while (0) 246 # endif 229 247 # define global 230 248 # define local 231 249 # define constant const 232 # define kernel233 # define SINCOS(angle,svar,cvar) do {svar=sin(angle);cvar=cos(angle);} while (0)234 250 # define powr(a,b) pow(a,b) 235 251 #else
Note: See TracChangeset
for help on using the changeset viewer.