int Read_DT_General (DIO_GENERAL *dio_general) { int i; /* initialize basic i/o */ if (Bio_Initialize(stream,BIO_ASCII,'r')) return (1); /* head always in ACSII */ if (Bio_Read_string(buffer)) return (1);if (strcmp(buffer,DIO_TITLE_LINE)!=0) return (1); if (Bio_Read_mint(1,intList)) return (1); dio_general->mode = intList[0]; /* re-initialize basic i/o */ if (Bio_Initialize(stream,dio_general->mode,'r')) return (1); /* now special mode */ if (Bio_Read_string(dio_general->version)) return (1); if (strcmp(dio_general->version,"DATA_IO_1.6")==0) { strcpy(dio_general->version,"DATA_IO_1.7"); } else { if (Bio_Read_string(dio_general->ident)) return (1); } if (Bio_Read_string(dio_general->mgfile)) return (1); if (Bio_Read_mdouble(1,&(dio_general->time))) return (1); if (Bio_Read_mdouble(1,&(dio_general->dt))) return (1); if (Bio_Read_mdouble(1,&(dio_general->ndt))) return (1); if (Bio_Read_mint(4,intList)) return (1); dio_general->nparfiles = intList[0]; dio_general->me = intList[1]; dio_general->magic_cookie = intList[2]; dio_general->nVD = intList[3]; for (i=0; i<dio_general->nVD; i++) { if (Bio_Read_string(dio_general->VDname[i])) return (1); if (Bio_Read_mint(1,dio_general->VDncomp+i)) return (1); if (Bio_Read_mint(1,dio_general->VDtype+i)) return (1); if (Bio_Read_string(dio_general->VDcompNames[i])) return (1); } if (Bio_Read_mint(1,intList)) return (1); dio_general->ndata = intList[0]; return (0); }
BNDP *BNDP_LoadBndP_Ext (void) { BP *p; INT j; int iList[3+MAX_SEGMENTS]; double dList[DIM]; if (Bio_Read_mint(3,iList)) return (NULL); p = (BP *)malloc(sizeof(BP)+(iList[2]-1)*sizeof(int)); p->id = iList[0]; p->property = iList[1]; p->n = iList[2]; if (Bio_Read_mint(p->n,iList)) return (NULL); for (j=0; j<p->n; j++) p->segment[j] = iList[j]; if (Bio_Read_mdouble(DIM,dList)) return (NULL); for (j=0; j<DIM; j++) p->x[j] = dList[j]; return((BNDP *)p); }
BNDP *BNDP_LoadBndP (BVP *theBVP, HEAP *Heap) { BP *p; INT j; int iList[3+MAX_SEGMENTS]; double dList[DIM]; if (Bio_Read_mint(3,iList)) return (NULL); p = (BP *) GetFreelistMemory(Heap,sizeof(BP)+(iList[2]-1)*sizeof(int)); p->id = iList[0]; p->property = iList[1]; p->n = iList[2]; if (Bio_Read_mint(p->n,iList)) return (NULL); for (j=0; j<p->n; j++) p->segment[j] = iList[j]; if (Bio_Read_mdouble(DIM,dList)) return (NULL); for (j=0; j<DIM; j++) p->x[j] = dList[j]; return((BNDP *)p); }