source: sans/XOP_Dev/SANSAnalysis/XOP/SANSAnalysis.r @ 452

Last change on this file since 452 was 452, checked in by srkline, 14 years ago

Changes to the XOP code to use the newly added functions (2008 models).

XOPs have been verified against the Igor version of the code.

  • Property svn:executable set to *
File size: 26.8 KB
Line 
1/*      CylinderFit.r -- resources for CylinderFit
2//now compatible with Project Builder
3*/
4
5#include "XOPStandardHeaders.r"
6
7resource 'vers' (1) {                                           /* XOP version info */
80x01, 0x02, final, 0x00, 0,                             /* version bytes and country integer */
9"1.02",
10"1.02, © 1996 WaveMetrics, Inc., all rights reserved."
11};
12
13resource 'vers' (2) {                                           /* Igor version info */
140x02, 0x00, release, 0x00, 0,                   /* version bytes and country integer */
15"2.00",
16"(for Igor 2.00 or later)"
17};
18
19resource 'STR#' (1100) {                                        /* custom error messages */
20{
21        /* [1] */
22        "CylinderFit requires Igor Pro 2.0 or later",
23        /* [2] */
24        "Wave does not exist.",
25        /* [3] */
26        "Coefficient wave must be single or double precision floating point.",
27}
28};
29
30resource 'STR#' (1101) {                                        // Misc strings for XOP.
31{
32        "-1",                                                           // -1 means we don't want to add a menu item.
33        "No Menu Item",                                         // Igor ignores item 2 because item 1 is -1.
34        "SANS_Model_Docs_v3.01",                                        // Name of XOP's help file.
35}
36};
37
38resource 'XOPI' (1100) {
39        XOP_VERSION,                    /* Tells Igor XOP Toolkit version used to compile XOP */
40        DEV_SYS_CODE,                   /* Identifies MPW C or THINK C. See XOPTypes.r. */
41        0,                              /* this XOP requires hierarchichal menus */
42        0,                              /* this XOP does NOT require a coprocessor */
43        XOP_TOOLKIT_VERSION,            /* this XOP does not require an MMU */
44};
45
46resource 'XOPF' (1100) {
47{
48/// Sphere functions           
49                "MultiShellSphereX",                                            /* function name */
50                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
51                NT_FP64,                                                        /* return value type */                 
52                {
53                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
54                        NT_FP64,                                                /* double precision x */
55                },
56
57                "PolyMultiShellX",                                              /* function name */
58                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
59                NT_FP64,                                                        /* return value type */                 
60                {
61                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
62                        NT_FP64,                                                /* double precision x */
63                },
64
65                "SphereFormX",                                          /* function name */
66                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
67                NT_FP64,                                                        /* return value type */                 
68                {
69                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
70                        NT_FP64,                                                /* double precision x */
71                },
72
73                "CoreShellSphereX",                                             /* function name */
74                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
75                NT_FP64,                                                        /* return value type */                 
76                {
77                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
78                        NT_FP64,                                                /* double precision x */
79                },
80
81                "PolyCoreFormX",                                                /* function name */
82                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
83                NT_FP64,                                                        /* return value type */                 
84                {
85                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
86                        NT_FP64,                                                /* double precision x */
87                },
88
89                "PolyCoreShellRatioX",                                          /* function name */
90                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
91                NT_FP64,                                                        /* return value type */                 
92                {
93                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
94                        NT_FP64,                                                /* double precision x */
95                },
96
97                "VesicleFormX",                                         /* function name */
98                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
99                NT_FP64,                                                        /* return value type */                 
100                {
101                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
102                        NT_FP64,                                                /* double precision x */
103                },
104
105                "SchulzSpheresX",                                               /* function name */
106                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
107                NT_FP64,                                                        /* return value type */                 
108                {
109                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
110                        NT_FP64,                                                /* double precision x */
111                },
112
113                "PolyRectSpheresX",                                             /* function name */
114                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
115                NT_FP64,                                                        /* return value type */                 
116                {
117                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
118                        NT_FP64,                                                /* double precision x */
119                },
120
121                "PolyHardSpheresX",                                             /* function name */
122                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
123                NT_FP64,                                                        /* return value type */                 
124                {
125                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
126                        NT_FP64,                                                /* double precision x */
127                },
128
129                "BimodalSchulzSpheresX",                                                /* function name */
130                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
131                NT_FP64,                                                        /* return value type */                 
132                {
133                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
134                        NT_FP64,                                                /* double precision x */
135                },
136
137                "GaussSpheresX",                                                /* function name */
138                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
139                NT_FP64,                                                        /* return value type */                 
140                {
141                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
142                        NT_FP64,                                                /* double precision x */
143                },
144
145                "LogNormalSphereX",                                             /* function name */
146                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
147                NT_FP64,                                                        /* return value type */                 
148                {
149                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
150                        NT_FP64,                                                /* double precision x */
151                },
152
153                "BinaryHSX",                                            /* function name */
154                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
155                NT_FP64,                                                        /* return value type */                 
156                {
157                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
158                        NT_FP64,                                                /* double precision x */
159                },
160
161                "BinaryHS_PSF11X",                                              /* function name */
162                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
163                NT_FP64,                                                        /* return value type */                 
164                {
165                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
166                        NT_FP64,                                                /* double precision x */
167                },
168
169                "BinaryHS_PSF12X",                                              /* function name */
170                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
171                NT_FP64,                                                        /* return value type */                 
172                {
173                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
174                        NT_FP64,                                                /* double precision x */
175                },
176
177                "BinaryHS_PSF22X",                                              /* function name */
178                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
179                NT_FP64,                                                        /* return value type */                 
180                {
181                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
182                        NT_FP64,                                                /* double precision x */
183                },
184/// Cylinder functions
185                "CylinderFormX",                                                /* function name */
186                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
187                NT_FP64,                                                /* return value type */                 
188                {
189                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
190                        NT_FP64,                                        /* double precision x */
191                },
192
193                "EllipCyl76X",                                  /* function name */
194                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
195                NT_FP64,                                                /* return value type */                 
196                {
197                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
198                        NT_FP64,                                        /* double precision x */
199                },
200
201                "EllipticalCylinderX",                                  /* function name */
202                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
203                NT_FP64,                                                /* return value type */                 
204                {
205                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
206                        NT_FP64,                                        /* double precision x */
207                },
208
209                "TriaxialEllipsoidX",
210                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
211                NT_FP64,                                                /* return value type */                 
212                {
213                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
214                        NT_FP64,                                        /* double precision x */
215                },
216
217                "ParallelepipedX",
218                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
219                NT_FP64,                                                /* return value type */                 
220                {
221                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
222                        NT_FP64,                                        /* double precision x */
223                },
224
225                "HollowCylinderX",
226                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
227                NT_FP64,                                                /* return value type */                 
228                {
229                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
230                        NT_FP64,                                        /* double precision x */
231                },
232
233                "EllipsoidFormX",
234                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
235                NT_FP64,                                                /* return value type */                 
236                {
237                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
238                        NT_FP64,                                        /* double precision x */
239                },
240
241                "Cyl_PolyRadiusX",
242                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
243                NT_FP64,                                                /* return value type */                 
244                {
245                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
246                        NT_FP64,                                        /* double precision x */
247                },
248
249                "Cyl_PolyLengthX",
250                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
251                NT_FP64,                                                /* return value type */                 
252                {
253                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
254                        NT_FP64,                                        /* double precision x */
255                },
256
257                "CoreShellCylinderX",
258                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
259                NT_FP64,                                                /* return value type */                 
260                {
261                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
262                        NT_FP64,                                        /* double precision x */
263                },
264
265                "OblateFormX",
266                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
267                NT_FP64,                                                /* return value type */                 
268                {
269                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
270                        NT_FP64,                                        /* double precision x */
271                },
272
273                "ProlateFormX",
274                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
275                NT_FP64,                                                /* return value type */                 
276                {
277                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
278                        NT_FP64,                                        /* double precision x */
279                },
280
281                "FlexExclVolCylX",
282                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
283                NT_FP64,                                                /* return value type */                 
284                {
285                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
286                        NT_FP64,                                        /* double precision x */
287                },
288
289                "FlexCyl_PolyLenX",
290                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
291                NT_FP64,                                                /* return value type */                 
292                {
293                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
294                        NT_FP64,                                        /* double precision x */
295                },
296
297                "FlexCyl_PolyRadX",
298                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
299                NT_FP64,                                                /* return value type */                 
300                {
301                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
302                        NT_FP64,                                        /* double precision x */
303                },
304
305                "FlexCyl_EllipX",
306                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
307                NT_FP64,                                                /* return value type */                 
308                {
309                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
310                        NT_FP64,                                        /* double precision x */
311                },
312
313                "PolyCoShCylinderX",
314                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
315                NT_FP64,                                                /* return value type */                 
316                {
317                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
318                        NT_FP64,                                        /* double precision x */
319                },
320
321                "StackedDiscsX",
322                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
323                NT_FP64,                                                /* return value type */                 
324                {
325                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
326                        NT_FP64,                                        /* double precision x */
327                },
328
329                "LamellarFFX",
330                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
331                NT_FP64,                                                /* return value type */                 
332                {
333                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
334                        NT_FP64,                                        /* double precision x */
335                },
336
337                "LamellarFF_HGX",
338                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
339                NT_FP64,                                                /* return value type */                 
340                {
341                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
342                        NT_FP64,                                        /* double precision x */
343                },
344
345                "LamellarPSX",
346                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
347                NT_FP64,                                                /* return value type */                 
348                {
349                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
350                        NT_FP64,                                        /* double precision x */
351                },
352
353                "LamellarPS_HGX",
354                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
355                NT_FP64,                                                /* return value type */                 
356                {
357                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
358                        NT_FP64,                                        /* double precision x */
359                },
360/// Two phase models
361                "TeubnerStreyModelX",                                           /* function name */
362                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
363                NT_FP64,                                                        /* return value type */                 
364                {
365                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
366                        NT_FP64,                                                /* double precision x */
367                },
368
369                "Power_Law_ModelX",                                             /* function name */
370                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
371                NT_FP64,                                                        /* return value type */                 
372                {
373                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
374                        NT_FP64,                                                /* double precision x */
375                },
376
377                "Peak_Lorentz_ModelX",                                          /* function name */
378                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
379                NT_FP64,                                                        /* return value type */                 
380                {
381                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
382                        NT_FP64,                                                /* double precision x */
383                },
384
385                "Peak_Gauss_ModelX",                                            /* function name */
386                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
387                NT_FP64,                                                        /* return value type */                 
388                {
389                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
390                        NT_FP64,                                                /* double precision x */
391                },
392
393                "Lorentz_ModelX",                                               /* function name */
394                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
395                NT_FP64,                                                        /* return value type */                 
396                {
397                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
398                        NT_FP64,                                                /* double precision x */
399                },
400
401                "FractalX",                                             /* function name */
402                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
403                NT_FP64,                                                        /* return value type */                 
404                {
405                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
406                        NT_FP64,                                                /* double precision x */
407                },
408
409                "DAB_ModelX",                                           /* function name */
410                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
411                NT_FP64,                                                        /* return value type */                 
412                {
413                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
414                        NT_FP64,                                                /* double precision x */
415                },
416
417                "OneLevelX",                                            /* function name */
418                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
419                NT_FP64,                                                        /* return value type */                 
420                {
421                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
422                        NT_FP64,                                                /* double precision x */
423                },
424
425                "TwoLevelX",                                            /* function name */
426                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
427                NT_FP64,                                                        /* return value type */                 
428                {
429                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
430                        NT_FP64,                                                /* double precision x */
431                },
432
433                "ThreeLevelX",                                          /* function name */
434                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
435                NT_FP64,                                                        /* return value type */                 
436                {
437                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
438                        NT_FP64,                                                /* double precision x */
439                },
440
441                "FourLevelX",                                           /* function name */
442                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
443                NT_FP64,                                                        /* return value type */                 
444                {
445                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
446                        NT_FP64,                                                /* double precision x */
447                },
448/// Structure Factor Functions         
449                "HardSphereStructX",                                            /* function name */
450                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
451                NT_FP64,                                                        /* return value type */                 
452                {
453                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
454                        NT_FP64,                                                /* double precision x */
455                },
456               
457                "SquareWellStructX",                                            /* function name */
458                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
459                NT_FP64,                                                        /* return value type */                 
460                {
461                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
462                        NT_FP64,                                                /* double precision x */
463                },
464               
465                "StickyHS_StructX",                                             /* function name */
466                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
467                NT_FP64,                                                        /* return value type */                 
468                {
469                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
470                        NT_FP64,                                                /* double precision x */
471                },
472               
473                "HayterPenfoldMSAX",                                            /* function name */
474                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == Utility */
475                NT_FP64,                                                        /* return value type */                 
476                {
477                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
478                        NT_FP64,                                                /* double precision x */
479                },
480               
481                "DiamCylX",                                             /* function name */
482                F_UTIL | F_THREADSAFE | F_EXTERNAL,                             /* function category */
483                NT_FP64,                                                        /* return value type */                 
484                {
485                        NT_FP64,                                                /* parameter types */
486                        NT_FP64,
487                },
488               
489                "DiamEllipX",                                           /* function name */
490                F_UTIL | F_THREADSAFE | F_EXTERNAL,                             /* function category */
491                NT_FP64,                                                        /* return value type */                 
492                {
493                        NT_FP64,                                                /* parameter types */
494                        NT_FP64,
495                },
496               
497/// Resolution smearing functions
498                "Smear_Model_20_X",
499                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
500                NT_FP64,                                                /* return value type */                 
501                {
502                        HSTRING_TYPE,
503                        NT_FP64,                                        /* double precision x */
504                        NT_FP64,                                        /* double precision x */
505                        NT_FP64,                                        /* double precision x */
506                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
507                        NT_FP64,                                        /* double precision x */
508                },
509               
510                "Smear_Model_76_X",
511                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
512                NT_FP64,                                                /* return value type */                 
513                {
514                        HSTRING_TYPE,
515                        NT_FP64,                                        /* double precision x */
516                        NT_FP64,                                        /* double precision x */
517                        NT_FP64,                                        /* double precision x */
518                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
519                        NT_FP64,                                        /* double precision x */
520                },
521               
522                "SmearedCyl_PolyRadiusX",
523                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
524                NT_FP64,                                                /* return value type */                 
525                {
526                        NT_FP64,                                        /* double precision x */
527                        NT_FP64,                                        /* double precision x */
528                        NT_FP64,                                        /* double precision x */
529                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
530                        NT_FP64,                                        /* double precision x */
531                },
532
533// 2D Functions
534                "Cylinder_2DX",
535                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
536                NT_FP64,                                                /* return value type */                 
537                {
538                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
539                        NT_FP64,                                        /* double precision x */
540                        NT_FP64,                                        /* double precision x */
541                },
542               
543                "Cylinder_2D_Weight2DX",
544                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
545                NT_FP64,
546                {
547                        NT_FP64 + WAVE_TYPE,
548                        NT_FP64 + WAVE_TYPE,
549                        NT_FP64 + WAVE_TYPE,
550                        NT_FP64,
551                        NT_FP64,
552                },
553
554               
555                "CoreShellCylinder_2DX",
556                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
557                NT_FP64,                                                /* return value type */                 
558                {
559                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
560                        NT_FP64,                                        /* double precision x */
561                        NT_FP64,                                        /* double precision x */
562                },
563               
564                "CoreShellCylinder_2D_Weight2DX",
565                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
566                NT_FP64,
567                {
568                        NT_FP64 + WAVE_TYPE,
569                        NT_FP64 + WAVE_TYPE,
570                        NT_FP64 + WAVE_TYPE,
571                        NT_FP64,
572                        NT_FP64,
573                },
574
575               
576                "Ellipsoid_2DX",
577                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
578                NT_FP64,                                                /* return value type */                 
579                {
580                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
581                        NT_FP64,                                        /* double precision x */
582                        NT_FP64,                                        /* double precision x */
583                },
584               
585                "Ellipsoid_2D_Weight2DX",
586                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
587                NT_FP64,
588                {
589                        NT_FP64 + WAVE_TYPE,
590                        NT_FP64 + WAVE_TYPE,
591                        NT_FP64 + WAVE_TYPE,
592                        NT_FP64,
593                        NT_FP64,
594                },
595               
596                "EllipticalCylinder_2DX",
597                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
598                NT_FP64,                                                /* return value type */                 
599                {
600                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
601                        NT_FP64,                                        /* double precision x */
602                        NT_FP64,                                        /* double precision x */
603                },
604               
605                "EllipticalCylinder_2D_Weight2DX",
606                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
607                NT_FP64,
608                {
609                        NT_FP64 + WAVE_TYPE,
610                        NT_FP64 + WAVE_TYPE,
611                        NT_FP64 + WAVE_TYPE,
612                        NT_FP64,
613                        NT_FP64,
614                },
615
616                "Sphere_2DX",
617                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
618                NT_FP64,                                                /* return value type */                 
619                {
620                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
621                        NT_FP64,                                        /* double precision x */
622                        NT_FP64,                                        /* double precision x */
623                },
624               
625/// new models in 2008 (starts index 68)
626
627                "SpherocylinderX",
628                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
629                NT_FP64,                                                /* return value type */                 
630                {
631                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
632                        NT_FP64,                                        /* double precision x */
633                },
634               
635                "ConvexLensX",
636                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
637                NT_FP64,                                                /* return value type */                 
638                {
639                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
640                        NT_FP64,                                        /* double precision x */
641                },
642               
643                "DumbbellX",
644                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
645                NT_FP64,                                                /* return value type */                 
646                {
647                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
648                        NT_FP64,                                        /* double precision x */
649                },
650               
651                "CappedCylinderX",
652                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
653                NT_FP64,                                                /* return value type */                 
654                {
655                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
656                        NT_FP64,                                        /* double precision x */
657                },
658               
659                "BarbellX",
660                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
661                NT_FP64,                                                /* return value type */                 
662                {
663                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
664                        NT_FP64,                                        /* double precision x */
665                },
666// index # 73 is Lamellar_ParaCrystalX         
667                "Lamellar_ParaCrystalX",                               
668                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
669                NT_FP64,                                                /* return value type */                 
670                {
671                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
672                        NT_FP64,                                        /* double precision x */
673                },
674               
675                "BCC_ParaCrystalX",                             
676                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
677                NT_FP64,                                                /* return value type */                 
678                {
679                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
680                        NT_FP64,                                        /* double precision x */
681                },
682               
683                "FCC_ParaCrystalX",                             
684                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
685                NT_FP64,                                                /* return value type */                 
686                {
687                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
688                        NT_FP64,                                        /* double precision x */
689                },
690               
691                "SC_ParaCrystalX",                             
692                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
693                NT_FP64,                                                /* return value type */                 
694                {
695                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
696                        NT_FP64,                                        /* double precision x */
697                },
698               
699                "OneShellX",                           
700                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
701                NT_FP64,                                                /* return value type */                 
702                {
703                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
704                        NT_FP64,                                        /* double precision x */
705                },
706               
707                "TwoShellX",                           
708                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
709                NT_FP64,                                                /* return value type */                 
710                {
711                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
712                        NT_FP64,                                        /* double precision x */
713                },
714               
715                "ThreeShellX",                         
716                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
717                NT_FP64,                                                /* return value type */                 
718                {
719                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
720                        NT_FP64,                                        /* double precision x */
721                },
722               
723                "FourShellX",                           
724                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
725                NT_FP64,                                                /* return value type */                 
726                {
727                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
728                        NT_FP64,                                        /* double precision x */
729                },
730               
731                "PolyOneShellX",                               
732                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
733                NT_FP64,                                                /* return value type */                 
734                {
735                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
736                        NT_FP64,                                        /* double precision x */
737                },
738               
739                "PolyTwoShellX",                               
740                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
741                NT_FP64,                                                /* return value type */                 
742                {
743                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
744                        NT_FP64,                                        /* double precision x */
745                },
746               
747                "PolyThreeShellX",                             
748                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
749                NT_FP64,                                                /* return value type */                 
750                {
751                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
752                        NT_FP64,                                        /* double precision x */
753                },
754               
755                "PolyFourShellX",               //case # 84
756                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
757                NT_FP64,                                                /* return value type */                 
758                {
759                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
760                        NT_FP64,                                        /* double precision x */
761                },
762                               
763                "BroadPeakX",           //case # 85
764                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
765                NT_FP64,                                                /* return value type */                 
766                {
767                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
768                        NT_FP64,                                        /* double precision x */
769                },
770               
771                "CorrLengthX",          //case # 86
772                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
773                NT_FP64,                                                /* return value type */                 
774                {
775                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
776                        NT_FP64,                                        /* double precision x */
777                },
778               
779                "TwoLorentzianX",               //case # 87
780                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
781                NT_FP64,                                                /* return value type */                 
782                {
783                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
784                        NT_FP64,                                        /* double precision x */
785                },
786               
787                "TwoPowerLawX",         //case # 88
788                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
789                NT_FP64,                                                /* return value type */                 
790                {
791                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
792                        NT_FP64,                                        /* double precision x */
793                },
794
795                "PolyGaussCoilX",               //case # 89
796                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
797                NT_FP64,                                                /* return value type */                 
798                {
799                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
800                        NT_FP64,                                        /* double precision x */
801                },
802               
803                "GaussLorentzGelX",             //case # 90
804                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
805                NT_FP64,                                                /* return value type */                 
806                {
807                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
808                        NT_FP64,                                        /* double precision x */
809                },
810
811                "GaussianShellX",               //case # 91
812                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
813                NT_FP64,                                                /* return value type */                 
814                {
815                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
816                        NT_FP64,                                        /* double precision x */
817                },
818
819
820        }
821};
Note: See TracBrowser for help on using the repository browser.