File: arraydesc.h

package info (click to toggle)
ga 5.9.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,472 kB
  • sloc: ansic: 192,963; fortran: 53,761; f90: 11,218; cpp: 5,784; makefile: 2,248; sh: 1,945; python: 1,734; perl: 534; csh: 134; asm: 106
file content (28 lines) | stat: -rw-r--r-- 606 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef __ARMCIARR__
#define __ARMCIARR__

#define MAXDIM 7
typedef struct {
  int rank;
  int elemsize;
  int extent[MAXDIM];
  int lo[MAXDIM];
  int hi[MAXDIM];
  int  stride[MAXDIM];
  void **aptr;
  void *amem;
}armci_arr_dsc_t;


#define HEADER_SIZE 256 

#define GET_PTR_ARR_FROM_ARRAY(ptr) (((char*)ptr)-HEADER_SIZE -armci_nproc*sizeof(void*))
#define GET_ARR_DSC_FROM_ARRAY(ptr) (armci_arr_dsc_t*)(((char*)ptr)-HEADER_SIZE)

typedef int index_size_t;

extern void _array_create(void **pptr, int elemsize, int rank,  index_size_t *lb, index_size_t *ub);
extern void _array_free(void *ptr);


#endif