68static const int size_of[6] = {4, 8, 8, 16, 4, 8};
 
   71  int *ierr, 
char* filename) {
 
   76  const char sep[] = 
"\t\n ,";
 
   79  fd = fopen(filename, 
"r");
 
   87  buf = (
char *)malloc(buf_size * 
sizeof(
char));
 
   90  if ((*output_type) == TYPE_DOUBLE) {
 
   93    while (fgets(buf, buf_size * 
sizeof(
char), 
fd) != NULL) {
 
   97        d = strtod(c, (
char **)NULL);
 
   98        memcpy(
f + 
i, &d, size_of[(*output_type)]);
 
   99        c = (
char *)strtok((
char *)NULL, sep);
 
  100        i += size_of[(*output_type)];
 
  113  int buf_size = 65536;
 
  114  const char sep[] = 
"\n\t ,";
 
  116  int64_t curr_dims[3] = {0, 0, 0};
 
  119  fd = fopen(filename, 
"r");
 
  127  buf = (
char *)malloc(buf_size * 
sizeof(
char));
 
  129  while (fgets(buf, buf_size * 
sizeof(
char), 
fd) != NULL) {
 
  130    c = strtok(buf, sep);
 
  132    prev_dims[0] = curr_dims[0];
 
  139      c = (
char *)strtok((
char *)NULL, sep);
 
  145    if (prev_dims[0] > 0 && curr_dims[0] > 0)
 
  146      assert(curr_dims[0] == prev_dims[0]);
 
  150    if (prev_dims[0] == 0 && curr_dims[0] != 0) {
 
  151      prev_dims[1] = curr_dims[1];
 
  157      if (prev_dims[1] > 0 && curr_dims[1] > 0)
 
  158        assert(prev_dims[1] == curr_dims[1]);
 
  163    if (curr_dims[0] > 0)
 
  167  dims[0] = curr_dims[0];
 
  168  dims[1] = curr_dims[1];
 
  169  dims[2] = curr_dims[2];
 
  171  if (dims[0]*dims[1]*dims[2] == 0)  *ierr=1;
 
void * memcpy(void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__((__nothrow__
 
void read_csv(int64_t *np, void *f, int *output_type, int *ierr, char *filename)
 
int fclose(FILE *__stream)
 
void get_info_csv(int64_t *dims, int *ierr, char *filename)
 
static double f(double w, void *p)