4444 ** sets all fields in a base_array, i.e. data, ndims and dim_size.
4545 **/
4646
47- void base_array_create (base_array_t * dest , void * data , int ndims , va_list ap )
47+ void base_array_create (threadData_t * threadData , base_array_t * dest , void * data , int ndims , va_list ap )
4848{
4949 int i ;
5050
@@ -66,7 +66,7 @@ void base_array_create(base_array_t *dest, void *data, int ndims, va_list ap)
6666 */
6767}
6868
69- int base_array_ok (const base_array_t * a )
69+ int base_array_ok (threadData_t * threadData , const base_array_t * a )
7070{
7171 int i ;
7272 if (a == NULL ) {
@@ -94,7 +94,7 @@ int base_array_ok(const base_array_t *a)
9494 * Checks that all arrays have the same number of dimensions and same
9595 * dimension sizes.
9696 */
97- void check_base_array_dim_sizes (const base_array_t * elts , int n )
97+ void check_base_array_dim_sizes (threadData_t * threadData , const base_array_t * elts , int n )
9898{
9999 int i , curdim ;
100100 int ndims = elts [0 ].ndims ;
@@ -114,7 +114,7 @@ void check_base_array_dim_sizes(const base_array_t *elts, int n)
114114 * Checks that all arrays have the same number of dimensions and same
115115 * dimension sizes for all sizes except for dimension k.
116116 */
117- void check_base_array_dim_sizes_except (int k , const base_array_t * elts , int n )
117+ void check_base_array_dim_sizes_except (threadData_t * threadData , int k , const base_array_t * elts , int n )
118118{
119119 int i , curdim , dimsize ;
120120 int k_loc = k - 1 ;
@@ -136,7 +136,7 @@ void check_base_array_dim_sizes_except(int k, const base_array_t *elts, int n)
136136 }
137137}
138138
139- int base_array_shape_eq (const base_array_t * a , const base_array_t * b )
139+ int base_array_shape_eq (threadData_t * threadData , const base_array_t * a , const base_array_t * b )
140140{
141141 int i ;
142142
@@ -156,7 +156,7 @@ int base_array_shape_eq(const base_array_t *a, const base_array_t *b)
156156 return 1 ;
157157}
158158
159- int base_array_one_element_ok (const base_array_t * a )
159+ int base_array_one_element_ok (threadData_t * threadData , const base_array_t * a )
160160{
161161 int i ;
162162
@@ -168,7 +168,7 @@ int base_array_one_element_ok(const base_array_t *a)
168168 return 1 ;
169169}
170170
171- int index_spec_fit_base_array (const index_spec_t * s , const base_array_t * a )
171+ int index_spec_fit_base_array (threadData_t * threadData , const index_spec_t * s , const base_array_t * a )
172172{
173173 int i , j ;
174174
@@ -203,15 +203,15 @@ int index_spec_fit_base_array(const index_spec_t *s, const base_array_t *a)
203203 return 1 ;
204204}
205205
206- void simple_alloc_1d_base_array (base_array_t * dest , int n , void * data )
206+ void simple_alloc_1d_base_array (threadData_t * threadData , base_array_t * dest , int n , void * data )
207207{
208208 dest -> ndims = 1 ;
209209 dest -> dim_size = size_alloc (1 );
210210 dest -> dim_size [0 ] = n ;
211211 dest -> data = data ;
212212}
213213
214- void simple_alloc_2d_base_array (base_array_t * dest , int r , int c , void * data )
214+ void simple_alloc_2d_base_array (threadData_t * threadData , base_array_t * dest , int r , int c , void * data )
215215{
216216 dest -> ndims = 2 ;
217217 dest -> dim_size = size_alloc (2 );
@@ -220,7 +220,7 @@ void simple_alloc_2d_base_array(base_array_t *dest, int r, int c, void *data)
220220 dest -> data = data ;
221221}
222222
223- size_t alloc_base_array (base_array_t * dest , int ndims , va_list ap )
223+ size_t alloc_base_array (threadData_t * threadData , base_array_t * dest , int ndims , va_list ap )
224224{
225225 int i ;
226226 size_t nr_of_elements = 1 ;
@@ -244,10 +244,10 @@ size_t alloc_base_array(base_array_t *dest, int ndims, va_list ap)
244244 return nr_of_elements ;
245245}
246246
247- void clone_base_array_spec (const base_array_t * source , base_array_t * dest )
247+ void clone_base_array_spec (threadData_t * threadData , const base_array_t * source , base_array_t * dest )
248248{
249249 int i ;
250- assert (base_array_ok (source ));
250+ assert (base_array_ok (threadData , source ));
251251
252252 dest -> ndims = source -> ndims ;
253253 dest -> dim_size = size_alloc (dest -> ndims );
@@ -262,7 +262,7 @@ void clone_base_array_spec(const base_array_t *source, base_array_t *dest)
262262 a[1:3] := b;
263263*/
264264
265- size_t calc_base_index_spec (int ndims , const _index_t * idx_vec ,
265+ size_t calc_base_index_spec (threadData_t * threadData , int ndims , const _index_t * idx_vec ,
266266 const base_array_t * arr , const index_spec_t * spec )
267267{
268268 /* idx_vec is zero based */
@@ -271,9 +271,9 @@ size_t calc_base_index_spec(int ndims, const _index_t *idx_vec,
271271 int d2 ;
272272 size_t index = 0 ;
273273
274- assert (base_array_ok (arr ));
274+ assert (base_array_ok (threadData , arr ));
275275 assert (index_spec_ok (spec ));
276- assert (index_spec_fit_base_array (spec , arr ));
276+ assert (index_spec_fit_base_array (threadData , spec , arr ));
277277 assert ((ndims == arr -> ndims ) && (ndims == spec -> ndims ));
278278
279279 index = 0 ;
@@ -291,7 +291,7 @@ size_t calc_base_index_spec(int ndims, const _index_t *idx_vec,
291291}
292292
293293/* Uses zero based indexing */
294- size_t calc_base_index (int ndims , const _index_t * idx_vec , const base_array_t * arr )
294+ size_t calc_base_index (threadData_t * threadData , int ndims , const _index_t * idx_vec , const base_array_t * arr )
295295{
296296 int i ;
297297 size_t index = 0 ;
@@ -337,7 +337,7 @@ size_t calc_base_index_dims_subs(threadData_t *threadData, int ndims,...)
337337}
338338
339339/* 0-based index*/
340- size_t calc_base_index_va (const base_array_t * source , int ndims , va_list ap )
340+ size_t calc_base_index_va (threadData_t * threadData , const base_array_t * source , int ndims , va_list ap )
341341{
342342 int i ;
343343 size_t index ;
@@ -346,25 +346,24 @@ size_t calc_base_index_va(const base_array_t *source, int ndims, va_list ap)
346346 for (i = 0 ; i < ndims ; ++ i ) {
347347 int sub_i = va_arg (ap , _index_t ) - 1 ;
348348 if (sub_i < 0 || sub_i >= source -> dim_size [i ]) {
349- FILE_INFO info = omc_dummyFileInfo ;
350- omc_assert (NULL , info , "Dimension %d has bounds 1..%d, got array subscript %d" , i + 1 , source -> dim_size [i ], sub_i + 1 );
349+ threadData -> assert -> error (threadData , NULL , "Dimension %d has bounds 1..%d, got array subscript %d" , i + 1 , source -> dim_size [i ], sub_i + 1 );
351350 }
352351 index = (index * source -> dim_size [i ]) + sub_i ;
353352 }
354353
355354 return index ;
356355}
357356
358- int ndims_base_array (const base_array_t * a )
357+ int ndims_base_array (threadData_t * threadData , const base_array_t * a )
359358{
360- assert (base_array_ok (a ));
359+ assert (base_array_ok (threadData , a ));
361360 return a -> ndims ;
362361}
363362
364- void clone_reverse_base_array_spec (const base_array_t * source , base_array_t * dest )
363+ void clone_reverse_base_array_spec (threadData_t * threadData , const base_array_t * source , base_array_t * dest )
365364{
366365 int i ;
367- assert (base_array_ok (source ));
366+ assert (base_array_ok (threadData , source ));
368367
369368 dest -> ndims = source -> ndims ;
370369 dest -> dim_size = size_alloc (dest -> ndims );
@@ -375,16 +374,16 @@ void clone_reverse_base_array_spec(const base_array_t* source, base_array_t* des
375374 }
376375}
377376
378- void index_alloc_base_array_size (const real_array_t * source ,
377+ void index_alloc_base_array_size (threadData_t * threadData , const real_array_t * source ,
379378 const index_spec_t * source_spec ,
380379 base_array_t * dest )
381380{
382381 int i ;
383382 int j ;
384383
385- omc_assert_macro (base_array_ok (source ));
384+ omc_assert_macro (base_array_ok (threadData , source ));
386385 omc_assert_macro (index_spec_ok (source_spec ));
387- omc_assert_macro (index_spec_fit_base_array (source_spec , source ));
386+ omc_assert_macro (index_spec_fit_base_array (threadData , source_spec , source ));
388387
389388 for (i = 0 , j = 0 ; i < source_spec -> ndims ; ++ i ) {
390389 if (source_spec -> dim_size [i ] != 0 ) { /* is 'W' or 'A' */
@@ -407,15 +406,15 @@ void index_alloc_base_array_size(const real_array_t * source,
407406 }
408407}
409408
410- void indexed_assign_base_array_size_alloc (const base_array_t * source , base_array_t * dest , const index_spec_t * dest_spec , _index_t * * _idx_vec1 , _index_t * * _idx_size )
409+ void indexed_assign_base_array_size_alloc (threadData_t * threadData , const base_array_t * source , base_array_t * dest , const index_spec_t * dest_spec , _index_t * * _idx_vec1 , _index_t * * _idx_size )
411410{
412411 _index_t * idx_vec1 ;
413412 _index_t * idx_size ;
414413 int i , j ;
415- omc_assert_macro (base_array_ok (source ));
416- omc_assert_macro (base_array_ok (dest ));
414+ omc_assert_macro (base_array_ok (threadData , source ));
415+ omc_assert_macro (base_array_ok (threadData , dest ));
417416 omc_assert_macro (index_spec_ok (dest_spec ));
418- omc_assert_macro (index_spec_fit_base_array (dest_spec , dest ));
417+ omc_assert_macro (index_spec_fit_base_array (threadData , dest_spec , dest ));
419418 for (i = 0 ,j = 0 ; i < dest_spec -> ndims ; ++ i ) {
420419 if (dest_spec -> dim_size [i ] != 0 ) {
421420 ++ j ;
0 commit comments