This is rd_func_file.c in view mode; [Download] [Up]
#include <stdio.h>
#include <carl/carl.h>
#include <carl/defaults.h>
/*
* read_func_file - read floatsam function in file into a FUNCTION structure
* takes:
* name - name of unix file
* def_seq_type - default sequence type, one of:
* H_MONO_IN_X - data is monotonic in x
* H_XY_PAIRS - data is [x,y] pairs
* def_seq_type will be overridden by H_SEQUENCE property from header,
* if it exists.
* if using H_XY_PAIRS, H_NCHANS should be 2, for consistency.
* does:
* opens, reads file, stuffs FUNCTION structure with data, closes it
* returns:
* pointer to the FUNCTION structure
*/
FUNCTION *read_func_file(name, def_seq_type)
char *name;
char *def_seq_type;
{
FILE *fp;
FUNCTION *x;
if ((fp = fopen(name, "r")) == NULL) {
fprintf(stderr, "read_func_file: no file: %s\n", name);
return(NULL);
}
x = read_func_fid(fp, def_seq_type);
if (x->fname == NULL) {
x->fname = (char *) malloc(strlen(name)+1);
if (x->fname == NULL) {
perror("malloc");
return(NULL);
}
strcpy(x->fname, name);
}
fclose(fp);
return(x);
}
/*
* main(argc, argv)
* char **argv;
* {
* int i;
* FUNCTION *x;
*
* if (argc > 1)
* x = read_func_file(argv[1], H_XY_PAIRS);
* else
* exit(1);
* printf("name=%s\n", x->fname);
* printf("type=%s\n", x->ftype);
* printf("len=%d\n", x->flen);
* if (!strcmp(x->ftype, H_MONO_IN_X)) {
* for (i = 0; i < x->flen; i++)
* printf("y[%d]=\t%f\n", i, x->fyval[i]);
* } else {
* for (i = 0; i < x->flen; i++)
* printf("x[%d]=\t%f\ty[%d]=\t%f\n",
* i, x->fyval[i],
* i, x->fxval[i]);
* }
* exit(0);
* }
*/
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.