1 /*
2  * Copyright (c) 2013-2016, The University of Oxford
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  * 1. Redistributions of source code must retain the above copyright notice,
8  *    this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright notice,
10  *    this list of conditions and the following disclaimer in the documentation
11  *    and/or other materials provided with the distribution.
12  * 3. Neither the name of the University of Oxford nor the names of its
13  *    contributors may be used to endorse or promote products derived from this
14  *    software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26  * POSSIBILITY OF SUCH DAMAGE.
27  */
28 
29 #include "sky/private_sky.h"
30 #include "sky/oskar_sky_accessors.h"
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
oskar_sky_precision(const oskar_Sky * sky)36 int oskar_sky_precision(const oskar_Sky* sky)
37 {
38     return sky->precision;
39 }
40 
oskar_sky_mem_location(const oskar_Sky * sky)41 int oskar_sky_mem_location(const oskar_Sky* sky)
42 {
43     return sky->mem_location;
44 }
45 
oskar_sky_capacity(const oskar_Sky * sky)46 int oskar_sky_capacity(const oskar_Sky* sky)
47 {
48     return sky->capacity;
49 }
50 
oskar_sky_num_sources(const oskar_Sky * sky)51 int oskar_sky_num_sources(const oskar_Sky* sky)
52 {
53     return sky->num_sources;
54 }
55 
oskar_sky_use_extended(const oskar_Sky * sky)56 int oskar_sky_use_extended(const oskar_Sky* sky)
57 {
58     return sky->use_extended;
59 }
60 
oskar_sky_set_use_extended(oskar_Sky * sky,int value)61 void oskar_sky_set_use_extended(oskar_Sky* sky, int value)
62 {
63     sky->use_extended = value;
64 }
65 
oskar_sky_reference_ra_rad(const oskar_Sky * sky)66 double oskar_sky_reference_ra_rad(const oskar_Sky* sky)
67 {
68     return sky->reference_ra_rad;
69 }
70 
oskar_sky_reference_dec_rad(const oskar_Sky * sky)71 double oskar_sky_reference_dec_rad(const oskar_Sky* sky)
72 {
73     return sky->reference_dec_rad;
74 }
75 
oskar_sky_ra_rad(oskar_Sky * sky)76 oskar_Mem* oskar_sky_ra_rad(oskar_Sky* sky)
77 {
78     return sky->ra_rad;
79 }
80 
oskar_sky_ra_rad_const(const oskar_Sky * sky)81 const oskar_Mem* oskar_sky_ra_rad_const(const oskar_Sky* sky)
82 {
83     return sky->ra_rad;
84 }
85 
oskar_sky_dec_rad(oskar_Sky * sky)86 oskar_Mem* oskar_sky_dec_rad(oskar_Sky* sky)
87 {
88     return sky->dec_rad;
89 }
90 
oskar_sky_dec_rad_const(const oskar_Sky * sky)91 const oskar_Mem* oskar_sky_dec_rad_const(const oskar_Sky* sky)
92 {
93     return sky->dec_rad;
94 }
95 
oskar_sky_I(oskar_Sky * sky)96 oskar_Mem* oskar_sky_I(oskar_Sky* sky)
97 {
98     return sky->I;
99 }
100 
oskar_sky_I_const(const oskar_Sky * sky)101 const oskar_Mem* oskar_sky_I_const(const oskar_Sky* sky)
102 {
103     return sky->I;
104 }
105 
oskar_sky_Q(oskar_Sky * sky)106 oskar_Mem* oskar_sky_Q(oskar_Sky* sky)
107 {
108     return sky->Q;
109 }
110 
oskar_sky_Q_const(const oskar_Sky * sky)111 const oskar_Mem* oskar_sky_Q_const(const oskar_Sky* sky)
112 {
113     return sky->Q;
114 }
115 
oskar_sky_U(oskar_Sky * sky)116 oskar_Mem* oskar_sky_U(oskar_Sky* sky)
117 {
118     return sky->U;
119 }
120 
oskar_sky_U_const(const oskar_Sky * sky)121 const oskar_Mem* oskar_sky_U_const(const oskar_Sky* sky)
122 {
123     return sky->U;
124 }
125 
oskar_sky_V(oskar_Sky * sky)126 oskar_Mem* oskar_sky_V(oskar_Sky* sky)
127 {
128     return sky->V;
129 }
130 
oskar_sky_V_const(const oskar_Sky * sky)131 const oskar_Mem* oskar_sky_V_const(const oskar_Sky* sky)
132 {
133     return sky->V;
134 }
135 
oskar_sky_reference_freq_hz(oskar_Sky * sky)136 oskar_Mem* oskar_sky_reference_freq_hz(oskar_Sky* sky)
137 {
138     return sky->reference_freq_hz;
139 }
140 
oskar_sky_reference_freq_hz_const(const oskar_Sky * sky)141 const oskar_Mem* oskar_sky_reference_freq_hz_const(const oskar_Sky* sky)
142 {
143     return sky->reference_freq_hz;
144 }
145 
oskar_sky_spectral_index(oskar_Sky * sky)146 oskar_Mem* oskar_sky_spectral_index(oskar_Sky* sky)
147 {
148     return sky->spectral_index;
149 }
150 
oskar_sky_spectral_index_const(const oskar_Sky * sky)151 const oskar_Mem* oskar_sky_spectral_index_const(const oskar_Sky* sky)
152 {
153     return sky->spectral_index;
154 }
155 
oskar_sky_rotation_measure_rad(oskar_Sky * sky)156 oskar_Mem* oskar_sky_rotation_measure_rad(oskar_Sky* sky)
157 {
158     return sky->rm_rad;
159 }
160 
oskar_sky_rotation_measure_rad_const(const oskar_Sky * sky)161 const oskar_Mem* oskar_sky_rotation_measure_rad_const(const oskar_Sky* sky)
162 {
163     return sky->rm_rad;
164 }
165 
oskar_sky_l(oskar_Sky * sky)166 oskar_Mem* oskar_sky_l(oskar_Sky* sky)
167 {
168     return sky->l;
169 }
170 
oskar_sky_l_const(const oskar_Sky * sky)171 const oskar_Mem* oskar_sky_l_const(const oskar_Sky* sky)
172 {
173     return sky->l;
174 }
175 
oskar_sky_m(oskar_Sky * sky)176 oskar_Mem* oskar_sky_m(oskar_Sky* sky)
177 {
178     return sky->m;
179 }
180 
oskar_sky_m_const(const oskar_Sky * sky)181 const oskar_Mem* oskar_sky_m_const(const oskar_Sky* sky)
182 {
183     return sky->m;
184 }
185 
oskar_sky_n(oskar_Sky * sky)186 oskar_Mem* oskar_sky_n(oskar_Sky* sky)
187 {
188     return sky->n;
189 }
190 
oskar_sky_n_const(const oskar_Sky * sky)191 const oskar_Mem* oskar_sky_n_const(const oskar_Sky* sky)
192 {
193     return sky->n;
194 }
195 
oskar_sky_fwhm_major_rad(oskar_Sky * sky)196 oskar_Mem* oskar_sky_fwhm_major_rad(oskar_Sky* sky)
197 {
198     return sky->fwhm_major_rad;
199 }
200 
oskar_sky_fwhm_major_rad_const(const oskar_Sky * sky)201 const oskar_Mem* oskar_sky_fwhm_major_rad_const(const oskar_Sky* sky)
202 {
203     return sky->fwhm_major_rad;
204 }
205 
oskar_sky_fwhm_minor_rad(oskar_Sky * sky)206 oskar_Mem* oskar_sky_fwhm_minor_rad(oskar_Sky* sky)
207 {
208     return sky->fwhm_minor_rad;
209 }
210 
oskar_sky_fwhm_minor_rad_const(const oskar_Sky * sky)211 const oskar_Mem* oskar_sky_fwhm_minor_rad_const(const oskar_Sky* sky)
212 {
213     return sky->fwhm_minor_rad;
214 }
215 
oskar_sky_position_angle_rad(oskar_Sky * sky)216 oskar_Mem* oskar_sky_position_angle_rad(oskar_Sky* sky)
217 {
218     return sky->pa_rad;
219 }
220 
oskar_sky_position_angle_rad_const(const oskar_Sky * sky)221 const oskar_Mem* oskar_sky_position_angle_rad_const(const oskar_Sky* sky)
222 {
223     return sky->pa_rad;
224 }
225 
oskar_sky_gaussian_a(oskar_Sky * sky)226 oskar_Mem* oskar_sky_gaussian_a(oskar_Sky* sky)
227 {
228     return sky->gaussian_a;
229 }
230 
oskar_sky_gaussian_a_const(const oskar_Sky * sky)231 const oskar_Mem* oskar_sky_gaussian_a_const(const oskar_Sky* sky)
232 {
233     return sky->gaussian_a;
234 }
235 
oskar_sky_gaussian_b(oskar_Sky * sky)236 oskar_Mem* oskar_sky_gaussian_b(oskar_Sky* sky)
237 {
238     return sky->gaussian_b;
239 }
240 
oskar_sky_gaussian_b_const(const oskar_Sky * sky)241 const oskar_Mem* oskar_sky_gaussian_b_const(const oskar_Sky* sky)
242 {
243     return sky->gaussian_b;
244 }
245 
oskar_sky_gaussian_c(oskar_Sky * sky)246 oskar_Mem* oskar_sky_gaussian_c(oskar_Sky* sky)
247 {
248     return sky->gaussian_c;
249 }
250 
oskar_sky_gaussian_c_const(const oskar_Sky * sky)251 const oskar_Mem* oskar_sky_gaussian_c_const(const oskar_Sky* sky)
252 {
253     return sky->gaussian_c;
254 }
255 
256 #ifdef __cplusplus
257 }
258 #endif
259