source: CIVL/examples/omp/shtns/sht_fly.c

main
Last change on this file was ea777aa, checked in by Alex Wilton <awilton@…>, 3 years ago

Moved examples, include, build_default.properties, common.xml, and README out from dev.civl.com into the root of the repo.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5704 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 6.3 KB
RevLine 
[2131108]1/*
2 * Copyright (c) 2010-2015 Centre National de la Recherche Scientifique.
3 * written by Nathanael Schaeffer (CNRS, ISTerre, Grenoble, France).
4 *
5 * nathanael.schaeffer@ujf-grenoble.fr
6 *
7 * This software is governed by the CeCILL license under French law and
8 * abiding by the rules of distribution of free software. You can use,
9 * modify and/or redistribute the software under the terms of the CeCILL
10 * license as circulated by CEA, CNRS and INRIA at the following URL
11 * "http://www.cecill.info".
12 *
13 * The fact that you are presently reading this means that you have had
14 * knowledge of the CeCILL license and that you accept its terms.
15 *
16 */
17
18#include "sht_private.h"
19
20#define MTR MMAX
21#define SHT_VAR_LTR
22
23#define GEN(name,sfx) GLUE2(name,sfx)
24#define GEN3(name,nw,sfx) GLUE3(name,nw,sfx)
25
26// genaral case
27#undef SUFFIX
28#define SUFFIX _l
29
30 #define NWAY 1
31 #include "SHT/spat_to_SHst_fly.c"
32 #include "SHT/SHst_to_spat_fly.c"
33 #undef NWAY
34 #define NWAY 2
35 #include "SHT/spat_to_SH_fly.c"
36 #include "SHT/SH_to_spat_fly.c"
37 #include "SHT/spat_to_SHst_fly.c"
38 #include "SHT/SHst_to_spat_fly.c"
39 #undef NWAY
40 #define NWAY 3
41 #include "SHT/spat_to_SH_fly.c"
42 #include "SHT/SH_to_spat_fly.c"
43 #include "SHT/spat_to_SHst_fly.c"
44 #include "SHT/SHst_to_spat_fly.c"
45 #undef NWAY
46 #define NWAY 4
47 #include "SHT/spat_to_SH_fly.c"
48 #include "SHT/SH_to_spat_fly.c"
49 #undef NWAY
50 #define NWAY 6
51 #include "SHT/spat_to_SH_fly.c"
52 #include "SHT/SH_to_spat_fly.c"
53 #undef NWAY
54 #define NWAY 8
55 #include "SHT/spat_to_SH_fly.c"
56 #include "SHT/SH_to_spat_fly.c"
57 #undef NWAY
58
59#define SHT_GRAD
60 #define NWAY 1
61 #include "SHT/SHs_to_spat_fly.c"
62 #include "SHT/SHt_to_spat_fly.c"
63 #undef NWAY
64 #define NWAY 2
65 #include "SHT/SHs_to_spat_fly.c"
66 #include "SHT/SHt_to_spat_fly.c"
67 #undef NWAY
68 #define NWAY 3
69 #include "SHT/SHs_to_spat_fly.c"
70 #include "SHT/SHt_to_spat_fly.c"
71 #undef NWAY
72 #define NWAY 4
73 #include "SHT/SHs_to_spat_fly.c"
74 #include "SHT/SHt_to_spat_fly.c"
75 #undef NWAY
76#undef SHT_GRAD
77
78#define SHT_3COMP
79 #define NWAY 1
80 #include "SHT/spat_to_SHqst_fly.c"
81 #include "SHT/SHqst_to_spat_fly.c"
82 #undef NWAY
83 #define NWAY 2
84 #include "SHT/spat_to_SHqst_fly.c"
85 #include "SHT/SHqst_to_spat_fly.c"
86 #undef NWAY
87 #define NWAY 3
88 #include "SHT/spat_to_SHqst_fly.c"
89 #include "SHT/SHqst_to_spat_fly.c"
90 #undef NWAY
91#undef SHT_3COMP
92
93// axisymmetric
94#define SHT_AXISYM
95#undef SUFFIX
96#define SUFFIX _m0l
97
98 #define NWAY 1
99 #include "SHT/spat_to_SHst_fly.c"
100 #include "SHT/SHst_to_spat_fly.c"
101 #undef NWAY
102 #define NWAY 2
103 #include "SHT/spat_to_SH_fly.c"
104 #include "SHT/SH_to_spat_fly.c"
105 #include "SHT/spat_to_SHst_fly.c"
106 #include "SHT/SHst_to_spat_fly.c"
107 #undef NWAY
108 #define NWAY 3
109 #include "SHT/spat_to_SH_fly.c"
110 #include "SHT/SH_to_spat_fly.c"
111 #include "SHT/spat_to_SHst_fly.c"
112 #include "SHT/SHst_to_spat_fly.c"
113 #undef NWAY
114 #define NWAY 4
115 #include "SHT/spat_to_SH_fly.c"
116 #include "SHT/SH_to_spat_fly.c"
117 #undef NWAY
118 #define NWAY 6
119 #include "SHT/spat_to_SH_fly.c"
120 #include "SHT/SH_to_spat_fly.c"
121 #undef NWAY
122 #define NWAY 8
123 #include "SHT/spat_to_SH_fly.c"
124 #include "SHT/SH_to_spat_fly.c"
125 #undef NWAY
126
127#define SHT_GRAD
128 #define NWAY 1
129 #include "SHT/SHs_to_spat_fly.c"
130 #include "SHT/SHt_to_spat_fly.c"
131 #undef NWAY
132 #define NWAY 2
133 #include "SHT/SHs_to_spat_fly.c"
134 #include "SHT/SHt_to_spat_fly.c"
135 #undef NWAY
136 #define NWAY 3
137 #include "SHT/SHs_to_spat_fly.c"
138 #include "SHT/SHt_to_spat_fly.c"
139 #undef NWAY
140 #define NWAY 4
141 #include "SHT/SHs_to_spat_fly.c"
142 #include "SHT/SHt_to_spat_fly.c"
143 #undef NWAY
144#undef SHT_GRAD
145
146#define SHT_3COMP
147 #define NWAY 1
148 #include "SHT/spat_to_SHqst_fly.c"
149 #include "SHT/SHqst_to_spat_fly.c"
150 #undef NWAY
151 #define NWAY 2
152 #include "SHT/spat_to_SHqst_fly.c"
153 #include "SHT/SHqst_to_spat_fly.c"
154 #undef NWAY
155 #define NWAY 3
156 #include "SHT/spat_to_SHqst_fly.c"
157 #include "SHT/SHqst_to_spat_fly.c"
158 #undef NWAY
159#undef SHT_3COMP
160
161
162
163void* ffly[6][SHT_NTYP] = {
164 { NULL, NULL, SHsphtor_to_spat_fly1_l, spat_to_SHsphtor_fly1_l,
165 SHsph_to_spat_fly1_l, SHtor_to_spat_fly1_l, SHqst_to_spat_fly1_l, spat_to_SHqst_fly1_l },
166 { SH_to_spat_fly2_l, spat_to_SH_fly2_l, SHsphtor_to_spat_fly2_l, spat_to_SHsphtor_fly2_l,
167 SHsph_to_spat_fly2_l, SHtor_to_spat_fly2_l, SHqst_to_spat_fly2_l, spat_to_SHqst_fly2_l },
168 { SH_to_spat_fly3_l, spat_to_SH_fly3_l, SHsphtor_to_spat_fly3_l, spat_to_SHsphtor_fly3_l,
169 SHsph_to_spat_fly3_l, SHtor_to_spat_fly3_l, SHqst_to_spat_fly3_l, spat_to_SHqst_fly3_l },
170 { SH_to_spat_fly4_l, spat_to_SH_fly4_l, NULL, NULL,
171 SHsph_to_spat_fly4_l, SHtor_to_spat_fly4_l, NULL, NULL },
172 { SH_to_spat_fly6_l, spat_to_SH_fly6_l, NULL, NULL,
173 NULL, NULL, NULL, NULL },
174 { SH_to_spat_fly8_l, spat_to_SH_fly8_l, NULL, NULL,
175 NULL, NULL, NULL, NULL }
176};
177
178void* ffly_m0[6][SHT_NTYP] = {
179 { NULL, NULL, SHsphtor_to_spat_fly1_m0l, spat_to_SHsphtor_fly1_m0l,
180 SHsph_to_spat_fly1_m0l, SHtor_to_spat_fly1_m0l, SHqst_to_spat_fly1_m0l, spat_to_SHqst_fly1_m0l },
181 { SH_to_spat_fly2_m0l, spat_to_SH_fly2_m0l, SHsphtor_to_spat_fly2_m0l, spat_to_SHsphtor_fly2_m0l,
182 SHsph_to_spat_fly2_m0l, SHtor_to_spat_fly2_m0l, SHqst_to_spat_fly2_m0l, spat_to_SHqst_fly2_m0l },
183 { SH_to_spat_fly3_m0l, spat_to_SH_fly3_m0l, SHsphtor_to_spat_fly3_m0l, spat_to_SHsphtor_fly3_m0l,
184 SHsph_to_spat_fly3_m0l, SHtor_to_spat_fly3_m0l, SHqst_to_spat_fly3_m0l, spat_to_SHqst_fly3_m0l },
185 { SH_to_spat_fly4_m0l, spat_to_SH_fly4_m0l, NULL, NULL,
186 SHsph_to_spat_fly4_m0l, SHtor_to_spat_fly4_m0l, NULL, NULL },
187 { SH_to_spat_fly6_m0l, spat_to_SH_fly6_m0l, NULL, NULL,
188 NULL, NULL, NULL, NULL },
189 { SH_to_spat_fly8_m0l, spat_to_SH_fly8_m0l, NULL, NULL,
190 NULL, NULL, NULL, NULL }
191};
192
193void* ffly_m[6][SHT_NTYP] = {
194 { NULL, NULL, SHsphtor_m_to_spat_fly1_l, spat_to_SHsphtor_m_fly1_l,
195 SHsph_m_to_spat_fly1_l, SHtor_m_to_spat_fly1_l, SHqst_m_to_spat_fly1_l, spat_to_SHqst_m_fly1_l },
196 { SH_m_to_spat_fly2_l, spat_to_SH_m_fly2_l, SHsphtor_m_to_spat_fly2_l, spat_to_SHsphtor_m_fly2_l,
197 SHsph_m_to_spat_fly2_l, SHtor_m_to_spat_fly2_l, SHqst_m_to_spat_fly2_l, spat_to_SHqst_m_fly2_l },
198 { SH_m_to_spat_fly3_l, spat_to_SH_m_fly3_l, SHsphtor_m_to_spat_fly3_l, spat_to_SHsphtor_m_fly3_l,
199 SHsph_m_to_spat_fly3_l, SHtor_m_to_spat_fly3_l, SHqst_m_to_spat_fly3_l, spat_to_SHqst_m_fly3_l },
200 { SH_m_to_spat_fly4_l, spat_to_SH_m_fly4_l, NULL, NULL,
201 SHsph_m_to_spat_fly4_l, SHtor_m_to_spat_fly4_l, NULL, NULL },
202 { SH_m_to_spat_fly6_l, spat_to_SH_m_fly6_l, NULL, NULL,
203 NULL, NULL, NULL, NULL },
204 { SH_m_to_spat_fly8_l, spat_to_SH_m_fly8_l, NULL, NULL,
205 NULL, NULL, NULL, NULL }
206};
Note: See TracBrowser for help on using the repository browser.