source: sans/XOP_Dev/MonteCarlo/MonteCarlo.r @ 758

Last change on this file since 758 was 758, checked in by srkline, 12 years ago

Changes to DebyeSpheres? to convert everything to double, rather than float.

Changes to MonteCarlo? to use a local definition of round(), since it's not a standard function in Visual Studio's math.h. Easier to just write my own and give it an odd name - MC_round()

File size: 3.0 KB
Line 
1#include "XOPStandardHeaders.r"
2
3resource 'vers' (1) {                                           /* XOP version info */
4        0x01, 0x00, final, 0x00, 0,                             /* version bytes and country integer */
5        "1.00",
6        "1.00, © 1993 WaveMetrics, Inc., all rights reserved."
7};
8
9resource 'vers' (2) {                                           /* Igor version info */
10        0x05, 0x00, release, 0x00, 0,                   /* version bytes and country integer */
11        "5.00",
12        "(for Igor 5.00 or later)"
13};
14
15resource 'STR#' (1100) {                                        /* custom error messages */
16        {
17                /* [1] */
18                "SANSMonteCarlo requires Igor Pro 6.1 or later.",
19                /* [2] */
20                "Wave does not exist.",
21                /* [3] */
22                "This function requires a 3D wave.",
23        }
24};
25
26/* no menu item */
27
28resource 'XOPI' (1100) {
29        XOP_VERSION,                                                    // XOP protocol version.
30        DEV_SYS_CODE,                                                   // Development system information.
31        0,                                                                              // Obsolete - set to zero.
32        0,                                                                              // Obsolete - set to zero.
33        XOP_TOOLKIT_VERSION,                                    // XOP Toolkit version.
34};
35
36resource 'XOPF' (1100) {
37        {
38                "Monte_SANSX",          /* function name */
39                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
40                NT_FP64,                                                        /* return value type */                 
41                {
42                        NT_FP64 + WAVE_TYPE,
43                        NT_FP64 + WAVE_TYPE,
44                        NT_FP64 + WAVE_TYPE,
45                        NT_FP64 + WAVE_TYPE,
46                        NT_FP64 + WAVE_TYPE,
47                        NT_FP64 + WAVE_TYPE,
48                        NT_FP64 + WAVE_TYPE,
49                        NT_FP64 + WAVE_TYPE,
50                },
51                "Monte_SANSX2",         /* function name */
52                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
53                NT_FP64,                                                        /* return value type */                 
54                {
55                        NT_FP64 + WAVE_TYPE,
56                        NT_FP64 + WAVE_TYPE,
57                        NT_FP64 + WAVE_TYPE,
58                        NT_FP64 + WAVE_TYPE,
59                        NT_FP64 + WAVE_TYPE,
60                        NT_FP64 + WAVE_TYPE,
61                        NT_FP64 + WAVE_TYPE,
62                        NT_FP64 + WAVE_TYPE,
63                },
64               
65                "DebyeSpheresX",                                                /* function name */
66                F_UTIL | F_THREADSAFE | F_EXTERNAL,                             /* function category == Utility */
67                NT_FP64,                                                        /* return value type */ 
68                {
69                                                NT_FP64,                        /* single precision wave (q-wave) */
70                        NT_FP64 + WAVE_TYPE,                            /* single precision wave (x coordinates) */
71                        NT_FP64 + WAVE_TYPE,                            /* single precision wave (y coordinates) */
72                        NT_FP64 + WAVE_TYPE,                            /* single precision wave (z coordinates) */
73                        NT_FP64 + WAVE_TYPE,                            /* single precision wave (rho at xyz) */
74                        NT_FP64,                                // Rprimary, the primary sphere radius
75                        NT_FP64,                                // grid, should be passed as 0.62*Rprimary
76                },
77               
78                "Monte_SANSX3",         /* function name */
79                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
80                NT_FP64,                                                        /* return value type */                 
81                {
82                        NT_FP64 + WAVE_TYPE,
83                        NT_FP64 + WAVE_TYPE,
84                        NT_FP64 + WAVE_TYPE,
85                        NT_FP64 + WAVE_TYPE,
86                        NT_FP64 + WAVE_TYPE,
87                        NT_FP64 + WAVE_TYPE,
88                        NT_FP64 + WAVE_TYPE,
89                        NT_FP64 + WAVE_TYPE,
90                },
91               
92                "Monte_SANSX4",         /* function name */
93                F_UTIL | F_THREADSAFE | F_EXTERNAL,                                     /* function category == UTILITY */
94                NT_FP64,                                                        /* return value type */                 
95                {
96                        NT_FP64 + WAVE_TYPE,
97                        NT_FP64 + WAVE_TYPE,
98                        NT_FP64 + WAVE_TYPE,
99                        NT_FP64 + WAVE_TYPE,
100                        NT_FP64 + WAVE_TYPE,
101                        NT_FP64 + WAVE_TYPE,
102                        NT_FP64 + WAVE_TYPE,
103                        NT_FP64 + WAVE_TYPE,
104                },
105               
106        }
107};
Note: See TracBrowser for help on using the repository browser.