53 ch = (
char **)malloc(
sizeof(
char*));
54 }
else if(icont>offset){
56 ch = (
char **)realloc(ch,(i+1)*
sizeof(
char*));
62 ch[i] = (
char *) malloc(
sizeof(
char));
73 printf(
"comment %d\n",ch[i][0]);
74 if(ch[i][0]==-1)
t_error(
"ERROR: COMMENT NOT CLOSED");
82 if(i==0 && ch[i][0]==10) ch[i][0]=32;
83 if(i==0 && ch[i][0]==-1)
t_error(
"ERROR: END OF FILE ENCOUNTERED WHILE READING");
84 if(ch[i][0]<=43 || (ch[i][0]>=45 && ch[i][0]<=47) || (ch[i][0]>=58 && ch[i][0]<=64) || (ch[i][0]>=91 && ch[i][0]<=96) || ch[i][0]>=123){
85 if(ch[i][0]!=32)
t_error(
"ERROR: NOT ADMITTED COMMENTS NOT PROCEDED BY THE CHARACTER '/' OR COMMENTS NOT CLOSED");
87 }
while(ch[i][0]<=43 || (ch[i][0]>=45 && ch[i][0]<=47) || (ch[i][0]>=58 && ch[i][0]<=64) || (ch[i][0]>=91 && ch[i][0]<=96) || ch[i][0]>=123);
92 if(ch[i][j]!=44 && ch[i][j]!=10 && ch[i][j]!=13 && ch[i][j]!=-1){
94 if( (ch[i][j]>=48 && ch[i][j]<=57) || (ch[i][j]>=65 && ch[i][j]<=90) || (ch[i][j]>=97 && ch[i][j]<=122) ){
98 ch[i] = (
char *)realloc(ch[i],(j+1)*
sizeof(char));
103 }
while(ch[i][j]!=44 && ch[i][j]!=10 && ch[i][j]!=13 && ch[i][j]!=-1);
105 if(ch[i][j]==-1)
t_error(
"ERROR: END OF FILE WHILE READING HEADER");
115 }
while(k!=10 && k!=13 && k!=-1);
117 ch = (
char **)realloc(ch,(i+2)*
sizeof(
char*));
118 ch[i+1] = (
char *) malloc(
sizeof(
char));
122 t_error(
"ERROR: ATTEMPTING TO READ A CLOSED FILE");
134 void readline_array(FILE *f,
double *a,
long offset,
long ncol,
double ndef,
short *endoffile){
147 ch = (
char *) malloc(
sizeof(
char));
156 if(ch[0]==-1)
t_error(
"ERROR: COMMENT NOT CLOSED");
162 if(i==0 && ch[0]==10) ch[0]=32;
163 if(i==0 && ch[0]==-1) printf(
"\nWarning: END OF FILE ENCOUNTERED WHILE READING\n");
164 if(ch[0]<44 || ch[0]>57){
165 if(ch[0]!=32 && ch[0]!=-1)
t_error(
"ERROR: NOT ADMITTED COMMENTS NOT PROCEDED BY THE CHARACTER '/' OR COMMENTS NOT CLOSED");
167 }
while(ch[0]<-1 || (ch[0]>-1 && ch[0]<10) || (ch[0]>10 && ch[0]<13) || (ch[0]>13 && ch[0]<42) || ch[0]==47 || ch[0]>57);
170 if(ch[j]!=44 && ch[j]!=10 && ch[j]!=13 && ch[j]!=-1){
173 ch = (
char *)realloc(ch,(j+1)*
sizeof(char));
177 }
while(ch[j]!=44 && ch[j]!=10 && ch[j]!=13 && ch[j]!=-1);
179 if(ch[j]==-1) *endoffile=1;
182 a[i-offset]=
decod(ch, j, ndef);
188 }
while(i<ncol+offset && (ch[j]!=10 && ch[j]!=13 && ch[j]!=-1));
192 ch = (
char *) malloc(
sizeof(
char));
197 }
while(ch[0]!=10 && ch[j]!=13 && ch[0]!=-1);
198 if(ch[j]==-1) *endoffile=1;
200 for(k=i;k<=ncol+offset-1;k++){
208 t_error(
"ERROR: ATTEMPTING TO READ A CLOSED FILE");
218 double decod(
char *ch,
long n,
double ndef){
222 if(ch[0]==42 || ch[0]==44 || ch[0]==-1 || ch[0]==10 || ch[0]==13){
228 }
while((ch[i]<46 || ch[i]==47 || ch[i]>57) && (i<n-1));
229 if((i==n-1) && (ch[i]<46 || ch[i]==47 || ch[i]>57)){
234 if(ch[ibeg-1]==45) sgn=1;
239 }
while(ch[i]!=46 && (i<n-1));
252 for(i=idec-1;i>=ibeg;i--){
253 if(ch[i]>=48 && ch[i]<=57){
254 a+=(ch[i]-48)*pow(10.0,(
double)(idec-i-1-j));
257 if(ch[i]==69)
t_error(
"ERROR:IT IS NOT POSSIBLE TO WRITE NUMBERS IN THE EXPONENTIAL FORMAT");
261 for(i=idec+1;i<n;i++){
262 if(ch[i]>=48 && ch[i]<=57){
263 a+=(ch[i]-48)*pow(10.0,(
double)(idec-i+j));
266 if(ch[i]==69)
t_error(
"ERROR:IT IS NOT POSSIBLE TO WRITE NUMBERS IN THE EXPONENTIAL FORMAT");
306 while(a[i][0]>0) ++i;
317 a=(
double **)malloc( (n+1)*
sizeof(
double*) );
319 a[i]=(
double *)malloc( (m+1)*
sizeof(double) );
322 a[n]=(
double *)malloc(
sizeof(
double) );
330 a=(
double *)malloc( (n+1)*
sizeof(double) );
340 a=(
long **)malloc( (n+1)*
sizeof(
long*) );
351 a=(
long *)malloc((n+1)*
sizeof(long) );