Changeset 0a9686d in sasview for sansmodels
- Timestamp:
- Jun 25, 2012 9:07:41 AM (13 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 33c671e
- Parents:
- f8be87d
- Location:
- sansmodels/src
- Files:
-
- 2 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
sansmodels/src/c_models/c_models.cpp.template
r3764dbd7 r0a9686d 10 10 #include "arrayobject.h" 11 11 12 // [TAG_1] 12 13 13 void addCCylinderModel(PyObject *module);14 void addCBarBellModel(PyObject *module);15 void addCCappedCylinderModel(PyObject *module);16 void addCTriaxialEllipsoidModel(PyObject *module);17 void addCParallelepipedModel(PyObject *module);18 void addCCSParallelepipedModel(PyObject *module);19 void addCSphereModel(PyObject *module);20 void addCSphereSLDModel(PyObject *module);21 void addCOnionModel(PyObject *module);22 void addCLinearPearlsModel(PyObject *module);23 void addCPearlNecklaceModel(PyObject *module);24 void addCReflModel(PyObject *module);25 void addCReflAdvModel(PyObject *module);26 void addCFuzzySphereModel(PyObject *module);27 void addCRaspBerryModel(PyObject *module);28 void addCHardsphereStructure(PyObject *module);29 void addCStickyHSStructure(PyObject *module);30 void addCSCCrystalModel(PyObject *module);31 void addCFCCrystalModel(PyObject *module);32 void addCBCCrystalModel(PyObject *module);33 void addCSquareWellStructure(PyObject *module);34 void addCHayterMSAStructure(PyObject *module);35 void addCCoreShellModel(PyObject *module);36 void addCCore2ndMomentModel(PyObject *module);37 void addCCoreFourShellModel(PyObject *module);38 void addCCoreShellCylinderModel(PyObject *module);39 void addCCoreShellBicelleModel(PyObject *module);40 void addCEllipsoidModel(PyObject *module);41 void addCEllipticalCylinderModel(PyObject *module);42 void addCTriaxialEllipsoidModel(PyObject *module);43 void addCFlexibleCylinderModel(PyObject *module);44 void addCFlexCylEllipXModel(PyObject *module);45 void addCStackedDisksModel(PyObject *module);46 void addCLamellarPSModel(PyObject *module);47 void addCLamellarPSHGModel(PyObject *module);48 void addCLamellarPCrystalModel(PyObject *module);49 void addCCoreShellEllipsoidModel(PyObject *module);50 void addCDiamEllipFunc(PyObject *module);51 void addCDiamCylFunc(PyObject *module);52 void addCSLDCalFunc(PyObject *module);53 54 void addCLamellarModel(PyObject *module);55 void addCLamellarFFHGModel(PyObject *module);56 void addCHollowCylinderModel(PyObject *module);57 void addCMultiShellModel(PyObject *module);58 void addCVesicleModel(PyObject *module);59 void addCBinaryHSModel(PyObject *module);60 void addCRPAModel(PyObject *module);61 void addCFractalModel(PyObject *module);62 void addCMassSurfaceFractal(PyObject *module);63 void addCSurfaceFractalModel(PyObject *module);64 void addCMassFractalModel(PyObject *module);65 void addCPoly_GaussCoil(PyObject *module);66 14 67 15 … … 69 17 void addDisperser(PyObject *module); 70 18 } 71 void addCLorentzian(PyObject *module);72 void addCSchulz(PyObject *module);73 void addCGaussian(PyObject *module);74 void addCLogNormal(PyObject *module);75 19 76 20 /** … … 250 194 import_array(); 251 195 252 addCCylinderModel(m); 253 addCBarBellModel(m); 254 addCCappedCylinderModel(m); 255 addCParallelepipedModel(m); 256 addCCSParallelepipedModel(m); 257 addCCoreShellCylinderModel(m); 258 addCCoreShellBicelleModel(m); 259 addCCoreShellModel(m); 260 addCCoreFourShellModel(m); 261 addCCore2ndMomentModel(m); 262 addCEllipsoidModel(m); 263 addCSphereModel(m); 264 addCSphereSLDModel(m); 265 addCOnionModel(m); 266 addCReflModel(m); 267 addCReflAdvModel(m); 268 addCFuzzySphereModel(m); 269 addCRaspBerryModel(m); 270 addCHardsphereStructure(m); 271 addCStickyHSStructure(m); 272 addCSCCrystalModel(m); 273 addCFCCrystalModel(m); 274 addCBCCrystalModel(m); 275 addCSquareWellStructure(m); 276 addCHayterMSAStructure(m); 277 addCEllipticalCylinderModel(m); 278 addCTriaxialEllipsoidModel(m); 279 addCFlexibleCylinderModel(m); 280 addCFlexCylEllipXModel(m); 281 addCStackedDisksModel(m); 282 addCLamellarPSModel(m); 283 addCLamellarPSHGModel(m); 284 addCLamellarPCrystalModel(m); 285 addCCoreShellEllipsoidModel(m); 286 addCDiamEllipFunc(m); 287 addCDiamCylFunc(m); 288 addCSLDCalFunc(m); 289 addCLinearPearlsModel(m); 290 addCPearlNecklaceModel(m); 291 addCLamellarModel(m); 292 addCLamellarFFHGModel(m); 293 addCHollowCylinderModel(m); 294 addCMultiShellModel(m); 295 addCBinaryHSModel(m); 296 addDisperser(m); 297 addCGaussian(m); 298 addCSchulz(m); 299 addCLogNormal(m); 300 addCLorentzian(m); 301 addCVesicleModel(m); 302 addCPoly_GaussCoil(m); 303 addCRPAModel(m); 304 addCFractalModel(m); 305 addCMassSurfaceFractal(m); 306 addCMassFractalModel(m); 307 addCSurfaceFractalModel(m); 196 // [TAG_2] 197 308 198 } -
sansmodels/src/python_wrapper/WrapperGenerator.py
r0ea247e r0a9686d 93 93 self.output_dir = output_dir 94 94 self.c_wrapper_dir = c_wrapper_dir 95 95 96 96 97 … … 201 202 202 203 203 204 204 205 for line in lines: 205 206 … … 209 210 try: 210 211 index = line.index(key) 211 #toks = string.split( line[index:], "=" )212 212 toks = line[index:].split("=" ) 213 213 self.pythonClass = toks[1].lstrip().rstrip() 214 214 215 except: 215 216 raise ValueError, "Could not parse file %s" % self.file … … 287 288 except: 288 289 raise ValueError, "Could not parse file %s" % self.file 289 290 291 290 292 291 def write_c_wrapper(self): 293 292 """ Writes the C file to create the python extension class … … 495 494 return newline 496 495 497 496 def getModelName(self): 497 return self.pythonClass 498 499 500 498 501 # main 499 502 if __name__ == '__main__': -
sansmodels/src/python_wrapper/wrapping.py
r101065a r0a9686d 6 6 def generate_wrappers(header_dir, output_dir='.', c_wrapper_dir='.'): 7 7 nModels=0 8 model_list = list() 9 8 10 for item in os.listdir(header_dir): 9 11 toks = os.path.splitext(os.path.basename(item)) … … 17 19 app.write_c_wrapper() 18 20 app.write_python_wrapper() 19 #print app 21 model_list.append(app.getModelName()) 22 write_c_models(model_list) 20 23 print "Total number of model wrappers created is %s" % nModels 24 25 def write_c_models(model_list): 26 # simultaneously generates 'sansmodels/installed_models.txt' 27 # and 'sansmodels/src/c_models/c_models.cpp' 28 model_list_file = open(os.path.join("sansmodels","installed_models.txt"),"w") 29 for model in model_list: 30 model_list_file.write(model + "\n") 31 32 model_list_file.close() 33 34 35 template_file = open(os.path.join("sansmodels","src","c_models","c_models.cpp.template"),"r") 36 write_file = open(os.path.join("sansmodels","src","c_models","c_models.cpp"),"w") 37 buf = template_file.read() 38 lines = buf.split('\n') 39 40 tag1 = "[TAG_1]" 41 tag2 = "[TAG_2]" 42 43 for line in lines: 44 45 if line.count(tag1) > 0: 46 write_file.write("\n // adding generated code \n") 47 for pyclass in model_list: 48 write_file.write("void addC" + pyclass 49 + "(PyObject *module); \n") 50 write_file.write(" // end generated code \n") 51 52 53 elif line.count(tag2) > 0: 54 write_file.write("\n // adding generated code \n") 55 56 for pyclass in model_list: 57 write_file.write("addC" + pyclass + "(m); \n") 58 59 write_file.write("addDisperser(m); \n") 60 write_file.write("\n // end generated code \n") 61 62 63 else: 64 write_file.write(line + "\n") 65 66 21 67 22 68 if __name__ == '__main__': … … 25 71 26 72 73 74
Note: See TracChangeset
for help on using the changeset viewer.