23 int line_length = strlen(line);
25 for(k=0; k<arg_num; k++)
27 while(isspace(line[i]) && (i<line_length))
29 while(!isspace(line[i]) && (i<line_length))
33 while(isspace(line[i]) && (i<line_length))
43 double dum, dist=0.0, inveffcenter;
49 strcpy(errmsg,
"Can't write to the '");
51 strcat(errmsg,
"' file.\n");
55 for (x=1;
dim >= x; ++x)
56 dist += (pc[x]-po[x])*(pc[x]-po[x])*
scale[x]*
scale[x];
59 inveffcenter = fabs(pc[1]-po[1])/(dist*
centerpnt[1]);
60 for (x=2;
dim >= x; ++x)
61 if((dum = fabs(pc[x]-po[x])/(dist*
centerpnt[x])) > inveffcenter)
65 fprintf(fp,
"pc[0]=0\npo[0]=%f\n",dist*inveffcenter);
68 for (x=1;
dim >= x; ++x) {
69 fprintf(fp,
"pc[%i]=%f\n", x, pc[x]*
scale[x]);
70 fprintf(fp,
"po[%i]=%f\n", x, po[x]*
scale[x]);
82 strcpy(errmsg,
"Can't read the '");
84 strcat(errmsg,
"' file.\n");
87 fscanf(fp,
"%d", &concave);
94 fscanf(fp,
"%lf",&dum);
95 for (x=1;
dim >= x; ++x) {
100 for (x=0;
dim >= x; ++x)
101 fscanf(fp,
"%lf", &
delta[x]);
122 printf(
"ERROR IN FILE %s LINE: %d\n%s\n", filename, line_num, line);
129 printf(
"UNEXPECTED END OF FILE: %s\n", filename);
136 int i=0, n=strlen(line);
140 if(!isspace(line[i++]))
151 if(parameter_list==NULL)
152 end_of_list=parameter_list=
new;
154 end_of_list->
next=
new;
174 strcpy(errmssg,
"Can't read the '");
175 strcat(errmssg, filename);
176 strcat(errmssg,
"'file.\n");
179 if ((fp=fopen(filename,
"r")) == NULL)
185 }
while(in_buffer[0]==
'*');
186 if(sscanf(in_buffer,
"%d", &
dim)!=1)
197 delta = (
double *)calloc(
dim+1,
sizeof(
double));
205 }
while((in_buffer[0]==
'*') ||
blank_line(in_buffer));
207 for (x=0;
dim > x; ++x) {
208 if(sscanf(&in_buffer[k],
"%s",
names[x])!=1)
217 }
while((in_buffer[0]==
'*') ||
blank_line(in_buffer));
219 for (x=1;
dim >= x; ++x) {
220 if(sscanf(&in_buffer[k],
"%lf",
centerpnt+x)!=1)
229 }
while((in_buffer[0]==
'*') ||
blank_line(in_buffer));
231 for (x=1;
dim >= x; ++x) {
232 if(sscanf(&in_buffer[k],
"%lf",
lower+x)!=1)
241 }
while((in_buffer[0]==
'*') ||
blank_line(in_buffer));
243 for (x=1;
dim >= x; ++x) {
244 if(sscanf(&in_buffer[k],
"%lf",
upper+x)!=1)
254 }
while((in_buffer[0]==
'*') ||
blank_line(in_buffer));
256 for (x=1;
dim >= x; ++x) {
257 if(sscanf(&in_buffer[k],
"%lf",
scale+x)!=1)
266 }
while((in_buffer[0]==
'*') ||
blank_line(in_buffer));
268 for (x=1;
dim >= x; ++x) {
269 if(sscanf(&in_buffer[k],
"%d",
yield+x)!=1)
280 }
while(in_buffer[0]==
'*');
282 for (x=1;
dim >= x; ++x) {
283 if(sscanf(&in_buffer[k],
"%d", &temp)!=1)
292 for (x=1;
dim >= x; ++x) {
293 if(sscanf(&in_buffer[k],
"%d", &temp)!=1)
308 if((in_buffer[0]==
'*') ||
blank_line(in_buffer))
311 if(sscanf(in_buffer,
"%d %d %d", &tmp->
x,
318 if((tmp->
points_nr<4) || (tmp->
x<1) || (tmp->
y<1) ||
319 (tmp->
x>
dim) || (tmp->
y>
dim) || (tmp->
x==tmp->
y))
327 for (x=1;
dim >= x; ++x)
330 for (x=1;
dim >= x; ++x) {
int * ivector(int nl, int nh)
char circuit_name[NAME_LENGTH]
static int blank_line(char *line)
static void unexpctd_eof(char *filename)
PARAMETER_SET * parameter_list
void nrerror(char *error_text)
static void error_in_line(char *filename, int line_num, char *line)
char init_ext[NAME_LENGTH]
char spice_name[NAME_LENGTH]
char opt_num[NAME_LENGTH]
double * vector(int nl, int nh)
char input_dir[NAME_LENGTH]
static void add_parameter_set(PARAMETER_SET *new)
static char line[LONG_LINE_LENGTH]
char(* names)[NAME_LENGTH]
static int read_long_line(FILE *fp, char *line, int *line_no)
int addpoint(double *pc, double *po)
static char filename[LINE_LENGTH]
struct PARAMETER_SET_STRUCT * next
static int skip_arg(char *line, int arg_num)