source: sans/Analysis/branches/ajj_23APR07/XOPs/SANSAnalysis/SANSAnalysis.r @ 93

Last change on this file since 93 was 93, checked in by ajj, 15 years ago

Add combined XOP code. Currently only contains XCode project file to build Universal binary suitable for Igor 6.

  • Property svn:executable set to *
File size: 18.2 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 */
8        0x01, 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 */
14        0x02, 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                "CylinderFit Help",                                     // 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                "CylinderFormX",                                                /* function name */
49                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
50                NT_FP64,                                                /* return value type */                 
51                {
52                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
53                        NT_FP64,                                        /* double precision x */
54                },
55               
56                "EllipCyl76X",                                  /* function name */
57                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
58                NT_FP64,                                                /* return value type */                 
59                {
60                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
61                        NT_FP64,                                        /* double precision x */
62                },
63               
64                "EllipCyl20X",                                  /* function name */
65                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
66                NT_FP64,                                                /* return value type */                 
67                {
68                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
69                        NT_FP64,                                        /* double precision x */
70                },
71               
72                "TriaxialEllipsoidX",
73                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
74                NT_FP64,                                                /* return value type */                 
75                {
76                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
77                        NT_FP64,                                        /* double precision x */
78                },
79               
80                "ParallelepipedX",
81                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
82                NT_FP64,                                                /* return value type */                 
83                {
84                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
85                        NT_FP64,                                        /* double precision x */
86                },
87               
88                "HollowCylinderX",
89                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
90                NT_FP64,                                                /* return value type */                 
91                {
92                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
93                        NT_FP64,                                        /* double precision x */
94                },
95               
96                "EllipsoidFormX",
97                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
98                NT_FP64,                                                /* return value type */                 
99                {
100                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
101                        NT_FP64,                                        /* double precision x */
102                },
103
104                "Cyl_PolyRadiusX",
105                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
106                NT_FP64,                                                /* return value type */                 
107                {
108                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
109                        NT_FP64,                                        /* double precision x */
110                },
111               
112                "Cyl_PolyLengthX",
113                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
114                NT_FP64,                                                /* return value type */                 
115                {
116                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
117                        NT_FP64,                                        /* double precision x */
118                },
119               
120                "CoreShellCylinderX",
121                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
122                NT_FP64,                                                /* return value type */                 
123                {
124                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
125                        NT_FP64,                                        /* double precision x */
126                },
127               
128                "OblateFormX",
129                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
130                NT_FP64,                                                /* return value type */                 
131                {
132                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
133                        NT_FP64,                                        /* double precision x */
134                },
135               
136                "ProlateFormX",
137                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
138                NT_FP64,                                                /* return value type */                 
139                {
140                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
141                        NT_FP64,                                        /* double precision x */
142                },
143               
144                "FlexExclVolCylX",
145                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
146                NT_FP64,                                                /* return value type */                 
147                {
148                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
149                        NT_FP64,                                        /* double precision x */
150                },
151               
152                "FlexCyl_PolyLenX",
153                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
154                NT_FP64,                                                /* return value type */                 
155                {
156                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
157                        NT_FP64,                                        /* double precision x */
158                },
159               
160                "FlexCyl_PolyRadX",
161                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
162                NT_FP64,                                                /* return value type */                 
163                {
164                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
165                        NT_FP64,                                        /* double precision x */
166                },
167               
168                "FlexCyl_EllipX",
169                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
170                NT_FP64,                                                /* return value type */                 
171                {
172                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
173                        NT_FP64,                                        /* double precision x */
174                },
175               
176                "PolyCoShCylinderX",
177                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
178                NT_FP64,                                                /* return value type */                 
179                {
180                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
181                        NT_FP64,                                        /* double precision x */
182                },
183               
184                "StackedDiscsX",
185                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
186                NT_FP64,                                                /* return value type */                 
187                {
188                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
189                        NT_FP64,                                        /* double precision x */
190                },
191               
192                "LamellarFFX",
193                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
194                NT_FP64,                                                /* return value type */                 
195                {
196                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
197                        NT_FP64,                                        /* double precision x */
198                },
199               
200                "LamellarFF_HGX",
201                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
202                NT_FP64,                                                /* return value type */                 
203                {
204                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
205                        NT_FP64,                                        /* double precision x */
206                },
207               
208                "LamellarPSX",
209                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
210                NT_FP64,                                                /* return value type */                 
211                {
212                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
213                        NT_FP64,                                        /* double precision x */
214                },
215               
216                "LamellarPS_HGX",
217                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
218                NT_FP64,                                                /* return value type */                 
219                {
220                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
221                        NT_FP64,                                        /* double precision x */
222                },
223                "Smear_Model_20_X",
224                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
225                NT_FP64,                                                /* return value type */                 
226                {
227                        HSTRING_TYPE,
228                        NT_FP64,                                        /* double precision x */
229                        NT_FP64,                                        /* double precision x */
230                        NT_FP64,                                        /* double precision x */
231                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
232                        NT_FP64,                                        /* double precision x */
233                },
234                "Smear_Model_76_X",
235                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
236                NT_FP64,                                                /* return value type */                 
237                {
238                        HSTRING_TYPE,
239                        NT_FP64,                                        /* double precision x */
240                        NT_FP64,                                        /* double precision x */
241                        NT_FP64,                                        /* double precision x */
242                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
243                        NT_FP64,                                        /* double precision x */
244                },
245                                "MultiShellX",                                          /* function name */
246                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
247                NT_FP64,                                                        /* return value type */                 
248                {
249                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
250                        NT_FP64,                                                /* double precision x */
251                },
252               
253                "PolyMultiShellX",                                              /* function name */
254                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
255                NT_FP64,                                                        /* return value type */                 
256                {
257                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
258                        NT_FP64,                                                /* double precision x */
259                },
260               
261                "SphereFormX",                                          /* function name */
262                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
263                NT_FP64,                                                        /* return value type */                 
264                {
265                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
266                        NT_FP64,                                                /* double precision x */
267                },
268               
269                "CoreShellFormX",                                               /* function name */
270                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
271                NT_FP64,                                                        /* return value type */                 
272                {
273                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
274                        NT_FP64,                                                /* double precision x */
275                },
276               
277                "PolyCoreFormX",                                                /* function name */
278                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
279                NT_FP64,                                                        /* return value type */                 
280                {
281                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
282                        NT_FP64,                                                /* double precision x */
283                },
284               
285                "PolyCoreShellRatioX",                                          /* function name */
286                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
287                NT_FP64,                                                        /* return value type */                 
288                {
289                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
290                        NT_FP64,                                                /* double precision x */
291                },
292               
293                "VesicleFormX",                                         /* function name */
294                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
295                NT_FP64,                                                        /* return value type */                 
296                {
297                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
298                        NT_FP64,                                                /* double precision x */
299                },
300
301                "SchulzSpheresX",                                               /* function name */
302                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
303                NT_FP64,                                                        /* return value type */                 
304                {
305                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
306                        NT_FP64,                                                /* double precision x */
307                },
308               
309                "PolyRectSpheresX",                                             /* function name */
310                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
311                NT_FP64,                                                        /* return value type */                 
312                {
313                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
314                        NT_FP64,                                                /* double precision x */
315                },
316               
317                "PolyHardSphereIntensityX",                                             /* function name */
318                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
319                NT_FP64,                                                        /* return value type */                 
320                {
321                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
322                        NT_FP64,                                                /* double precision x */
323                },
324               
325                "BimodalSchulzSpheresX",                                                /* function name */
326                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
327                NT_FP64,                                                        /* return value type */                 
328                {
329                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
330                        NT_FP64,                                                /* double precision x */
331                },
332               
333                "GaussPolySphereX",                                             /* function name */
334                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
335                NT_FP64,                                                        /* return value type */                 
336                {
337                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
338                        NT_FP64,                                                /* double precision x */
339                },
340               
341                "LogNormalPolySphereX",                                         /* function name */
342                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
343                NT_FP64,                                                        /* return value type */                 
344                {
345                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
346                        NT_FP64,                                                /* double precision x */
347                },
348           
349                "BinaryHSX",                                            /* function name */
350                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
351                NT_FP64,                                                        /* return value type */                 
352                {
353                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
354                        NT_FP64,                                                /* double precision x */
355                },
356               
357                "BinaryHS_PSF11X",                                              /* function name */
358                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
359                NT_FP64,                                                        /* return value type */                 
360                {
361                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
362                        NT_FP64,                                                /* double precision x */
363                },
364               
365                "BinaryHS_PSF12X",                                              /* function name */
366                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
367                NT_FP64,                                                        /* return value type */                 
368                {
369                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
370                        NT_FP64,                                                /* double precision x */
371                },
372               
373                "BinaryHS_PSF22X",                                              /* function name */
374                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
375                NT_FP64,                                                        /* return value type */                 
376                {
377                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
378                        NT_FP64,                                                /* double precision x */
379                },
380                "HardSphereStructX",                                            /* function name */
381                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
382                NT_FP64,                                                        /* return value type */                 
383                {
384                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
385                        NT_FP64,                                                /* double precision x */
386                },
387                "SquareWellStructX",                                            /* function name */
388                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
389                NT_FP64,                                                        /* return value type */                 
390                {
391                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
392                        NT_FP64,                                                /* double precision x */
393                },
394                "StickyHS_StructX",                                             /* function name */
395                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
396                NT_FP64,                                                        /* return value type */                 
397                {
398                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
399                        NT_FP64,                                                /* double precision x */
400                },
401                "HayterPenfoldMSAX",                                            /* function name */
402                F_UTIL | 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                "DiamCylX",                                             /* function name */
409                F_UTIL | F_EXTERNAL,                            /* function category */
410                NT_FP64,                                                        /* return value type */                 
411                {
412                        NT_FP64,                                                /* parameter types */
413                        NT_FP64,
414                },
415                "DiamEllipX",                                           /* function name */
416                F_UTIL | F_EXTERNAL,                            /* function category */
417                NT_FP64,                                                        /* return value type */                 
418                {
419                        NT_FP64,                                                /* parameter types */
420                        NT_FP64,
421                },
422                                "TeubnerStreyModelX",                                           /* function name */
423                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
424                NT_FP64,                                                        /* return value type */                 
425                {
426                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
427                        NT_FP64,                                                /* double precision x */
428                },
429               
430                "Power_Law_ModelX",                                             /* function name */
431                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
432                NT_FP64,                                                        /* return value type */                 
433                {
434                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
435                        NT_FP64,                                                /* double precision x */
436                },
437               
438                "Peak_Lorentz_ModelX",                                          /* function name */
439                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
440                NT_FP64,                                                        /* return value type */                 
441                {
442                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
443                        NT_FP64,                                                /* double precision x */
444                },
445               
446                "Peak_Gauss_ModelX",                                            /* function name */
447                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
448                NT_FP64,                                                        /* return value type */                 
449                {
450                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
451                        NT_FP64,                                                /* double precision x */
452                },
453               
454                "Lorentz_ModelX",                                               /* function name */
455                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
456                NT_FP64,                                                        /* return value type */                 
457                {
458                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
459                        NT_FP64,                                                /* double precision x */
460                },
461               
462                "FractalX",                                             /* function name */
463                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
464                NT_FP64,                                                        /* return value type */                 
465                {
466                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
467                        NT_FP64,                                                /* double precision x */
468                },
469               
470                "DAB_ModelX",                                           /* function name */
471                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
472                NT_FP64,                                                        /* return value type */                 
473                {
474                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
475                        NT_FP64,                                                /* double precision x */
476                },
477               
478                "OneLevelX",                                            /* function name */
479                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
480                NT_FP64,                                                        /* return value type */                 
481                {
482                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
483                        NT_FP64,                                                /* double precision x */
484                },
485               
486                "TwoLevelX",                                            /* function name */
487                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
488                NT_FP64,                                                        /* return value type */                 
489                {
490                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
491                        NT_FP64,                                                /* double precision x */
492                },
493               
494                "ThreeLevelX",                                          /* function name */
495                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
496                NT_FP64,                                                        /* return value type */                 
497                {
498                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
499                        NT_FP64,                                                /* double precision x */
500                },
501               
502                "FourLevelX",                                           /* function name */
503                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
504                NT_FP64,                                                        /* return value type */                 
505                {
506                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
507                        NT_FP64,                                                /* double precision x */
508                },
509               
510        }
511};
Note: See TracBrowser for help on using the repository browser.