void compute_nccalignments(void) { /* Compute the alignments for all the common C data types*/ /* First for the struct*/ /* initialize*/ memset((void*)&set,0,sizeof(set)); memset((void*)vec,0,sizeof(vec)); COMP_ALIGNMENT(set.charalign,char); COMP_ALIGNMENT(set.ucharalign,unsigned char); COMP_ALIGNMENT(set.shortalign,short); COMP_ALIGNMENT(set.ushortalign,unsigned short); COMP_ALIGNMENT(set.intalign,int); COMP_ALIGNMENT(set.uintalign,unsigned int); COMP_ALIGNMENT(set.longalign,long); COMP_ALIGNMENT(set.ulongalign,unsigned long); COMP_ALIGNMENT(set.longlongalign,long long); COMP_ALIGNMENT(set.ulonglongalign,unsigned long long); COMP_ALIGNMENT(set.floatalign,float); COMP_ALIGNMENT(set.doublealign,double); COMP_ALIGNMENT(set.ptralign,void*); COMP_ALIGNMENT(set.ncvlenalign,nccalignvlen_t); /* Then the vector*/ COMP_ALIGNMENT(vec[NCCTYPECHAR],char); COMP_ALIGNMENT(vec[NCCTYPEUCHAR],unsigned char); COMP_ALIGNMENT(vec[NCCTYPESHORT],short); COMP_ALIGNMENT(vec[NCCTYPEUSHORT],unsigned short); COMP_ALIGNMENT(vec[NCCTYPEINT],int); COMP_ALIGNMENT(vec[NCCTYPEUINT],unsigned int); COMP_ALIGNMENT(vec[NCCTYPELONG],long); COMP_ALIGNMENT(vec[NCCTYPEULONG],unsigned long); COMP_ALIGNMENT(vec[NCCTYPELONGLONG],long long); COMP_ALIGNMENT(vec[NCCTYPEULONGLONG],unsigned long long); COMP_ALIGNMENT(vec[NCCTYPEFLOAT],float); COMP_ALIGNMENT(vec[NCCTYPEDOUBLE],double); COMP_ALIGNMENT(vec[NCCTYPEPTR],void*); COMP_ALIGNMENT(vec[NCCTYPENCVLEN],nccalignvlen_t); dapaligninit = 1; }
void compute_alignments(void) { /* Compute the alignments for all the common C data types*/ /* First for the struct*/ /* initialize*/ memset((void*)&set,0,sizeof(set)); memset((void*)vec,0,sizeof(vec)); COMP_ALIGNMENT(set.charalign,char); COMP_ALIGNMENT(set.ucharalign,unsigned char); COMP_ALIGNMENT(set.shortalign,short); COMP_ALIGNMENT(set.ushortalign,unsigned short); COMP_ALIGNMENT(set.intalign,int); COMP_ALIGNMENT(set.uintalign,unsigned int); COMP_ALIGNMENT(set.longalign,long); COMP_ALIGNMENT(set.ulongalign,unsigned long); COMP_ALIGNMENT(set.longlongalign,long long); COMP_ALIGNMENT(set.ulonglongalign,unsigned long long); COMP_ALIGNMENT(set.floatalign,float); COMP_ALIGNMENT(set.doublealign,double); COMP_ALIGNMENT(set.ptralign,void*); COMP_ALIGNMENT(set.ncvlenalign,nc_vlen_t); /* Then the vector*/ COMP_ALIGNMENT(vec[CHARINDEX],char); COMP_ALIGNMENT(vec[UCHARINDEX],unsigned char); COMP_ALIGNMENT(vec[SHORTINDEX],short); COMP_ALIGNMENT(vec[USHORTINDEX],unsigned short); COMP_ALIGNMENT(vec[INTINDEX],int); COMP_ALIGNMENT(vec[UINTINDEX],unsigned int); COMP_ALIGNMENT(vec[LONGINDEX],long); COMP_ALIGNMENT(vec[ULONGINDEX],unsigned long); COMP_ALIGNMENT(vec[LONGLONGINDEX],long long); COMP_ALIGNMENT(vec[ULONGLONGINDEX],unsigned long long); COMP_ALIGNMENT(vec[FLOATINDEX],float); COMP_ALIGNMENT(vec[DOUBLEINDEX],double); COMP_ALIGNMENT(vec[PTRINDEX],void*); COMP_ALIGNMENT(vec[NCVLENINDEX],nc_vlen_t); }