static void swap_struct(ng_t *ng) { int i; ngram_sz_t j; for (i=1;i<=ng->n-1;i++) { for (j=0;j<=ng->num_kgrams[i];j++){ SWAPWORD(&ng->word_id[i][j]); } if (ng->four_byte_counts) { for (j=0;j<=ng->num_kgrams[i];j++) SWAPWORD(&ng->count4[i][j]); }else { for (j=0;j<=ng->num_kgrams[i];j++) SWAPHALF(&ng->count[i][j]); } } for (i=1;i<=ng->n-2;i++) { for (j=0;j<=ng->num_kgrams[i];j++) { if (ng->four_byte_alphas){ SWAPWORD(&ng->bo_weight4[i][j]); }else{ SWAPHALF(&ng->bo_weight[i][j]); } } for (j=0;j<=ng->num_kgrams[i];j++) { SWAPWORD(&ng->ind[i][j]); } } }
void *rr_fread(char *ptr, int elsize, int n_elem, FILE *fp, char *header, int not_more) { int n_read, i; char dummychar; if (n_elem > 0) { n_read = fread(ptr,elsize,n_elem,fp); if (n_read != n_elem) quit(-1, "rr_fread: problems reading %s. Only %d of %d elements were read\n", header, n_read, n_elem); if (elsize == sizeof(int)) { for (i=0; i<n_elem; i++) { SWAPWORD(ptr+(elsize*i)); } } else if (elsize == sizeof(short)) { for (i=0; i<n_elem; i++) { SWAPHALF(ptr+(elsize*i)); } } else if (elsize == sizeof(double)) { for (i=0; i<n_elem; i++) { SWAPDOUBLE(ptr+(elsize*i)); } } } if (not_more) { if (fread(&dummychar,1,1,fp) != 0) quit(-1,"rr_fread: more data after %s - should not be there\n",header); } return(0); /* Not relevant, but stops compilation warnings. */ }