Ejemplo n.º 1
0
/*
 *  Copy 'how_much' bytes from the input file to the output file,
 *  starting at byte 'where' in the input file.
 *
 *  Returns 0 on success, -1 on failure.
 */
herr_t
copy_to_file( FILE *infid, FILE *ofid, ssize_t _where, ssize_t how_much )
{
    static char buf[COPY_BUF_SIZE];
    off_t where = (off_t)_where;
    off_t to;
    off_t from;
    herr_t ret_value = 0;

    /* nothing to copy */
    if(how_much <= 0)
        goto done;

    /* rewind */
    HDfseek(infid, 0L, 0);

    from = where;
    to = 0;
    while(how_much > 0) {
        size_t bytes_in        = 0;    /* # of bytes to read       */
        size_t bytes_read      = 0;    /* # of bytes actually read */
        size_t bytes_wrote     = 0;    /* # of bytes written   */

        if (how_much > COPY_BUF_SIZE)
            bytes_in = COPY_BUF_SIZE;
        else
            bytes_in = how_much;

			/* Seek to correct position in input file */
        HDfseek(infid, from, SEEK_SET);

        /* Read data to buffer */
        bytes_read = HDfread(buf, (size_t)1, bytes_in, infid);
        if(0 == bytes_read && HDferror(infid)) {
            ret_value = -1;
            goto done;
        } /* end if */
        if(0 == bytes_read && HDfeof(infid)) {
            goto done;
        } /* end if */

        /* Seek to correct position in output file */
        HDfseek(ofid, to, SEEK_SET);

        /* Update positions/size */
        how_much -= bytes_read;
        from += bytes_read;
        to += bytes_read;

       /* Write nchars bytes to output file */
		bytes_wrote = HDfwrite(buf, (size_t)1, bytes_read, ofid);
		if(bytes_wrote != bytes_read || (0 == bytes_wrote && HDferror(ofid))) { /* error */
			ret_value = -1;
			goto done;
		} /* end if */
    } /* end while */

done:
    return ret_value;
}  /* end copy_to_file */
Ejemplo n.º 2
0
int
main(void)
{
    int       nrow = 3, ncol = 4, npln = 5;
    int       i, j, k;
    FILE      *sp;
    char      machine_order[3] = {0, 0, 0};

    float     row4[3], col4[4], pln4[5];
    float     rowo4 = 11.0F, colo4 = 21.0F, plno4 = 51.0F;
    float     rowi4 = 1.0F, coli4 = 2.0F, plni4 = 5.0F;

    int       b32i3[5][3][4];
    int       row4i[3], col4i[4], pln4i[5];
    int       rowo4i = 11 , colo4i = 21 , plno4i = 51 ;
    int       rowi4i = 1 , coli4i = 2 , plni4i = 5 ;

#ifdef H5_SIZEOF_LONG_LONG
    long long row4i64[3], col4i64[4], pln4i64[5];
    long long rowo4i64 = (long long)11 , colo4i64 = (long long)21 , plno4i64 = (long long)51 ;
    long long rowi4i64 = (long long)1 , coli4i64 = (long long)2 , plni4i64 = (long long)5 ;
#endif

    short     b16i3[5][3][4];
    short     row4i16[3], col4i16[4], pln4i16[5];
    short     rowo4i16 = (short)11 , colo4i16 = (short)21 , plno4i16 = (short)51 ;
    short     rowi4i16 = (short)1 , coli4i16 = (short)2 , plni4i16 = (short)5 ;

    char      b8i3[5][3][4];
    char      row4i8[3], col4i8[4], pln4i8[5];
    char      rowo4i8 = (char)11 , colo4i8 = (char)21 , plno4i8 = (char)51 ;
    char      rowi4i8 = (char)1 , coli4i8 = (char)2 , plni4i8 = (char)5 ;

    double    b64r3[5][3][4];
    double    row8[3], col8[4], pln8[5];
    double    rowo8 = 11.0F, colo8 = 21.0F, plno8 = 51.0F;
    double    rowi8 = 1.0F, coli8 = 2.0F, plni8 = 5.0F;

    /* Initialize machine endian */
    volatile uint32_t ibyte=0x01234567;
    /* 0 for big endian, 1 for little endian. */
    if ((*((uint8_t*)(&ibyte))) == 0x67)
        HDstrncpy(machine_order, "LE", 2);
    else
        HDstrncpy(machine_order, "BE", 2);


    /*
    * initialize the row, column, and plane vectors
    *
    * row values start at 11 and increment by 1 => 11, 12, 13
    * column values start at 21 and increment by 2 => 21, 23, 25, 27
    * plane values start at 51 and increment by 5 => 51, 56, 61, 66, 71
    */


    /*
    * build array elements - rank 2
    *
    * element value = sum of row value and col values
    */

    row4[0] = rowo4;
    col4[0] = colo4;
    pln4[0] = plno4;

    row8[0] = rowo8;
    col8[0] = colo8;
    pln8[0] = plno8;

    row4i[0] = rowo4i;
    col4i[0] = colo4i;
    pln4i[0] = plno4i;

#ifdef H5_SIZEOF_LONG_LONG
    row4i64[0] = rowo4i64;
    col4i64[0] = colo4i64;
    pln4i64[0] = plno4i64;
#endif

    row4i16[0] = rowo4i16;
    col4i16[0] = colo4i16;
    pln4i16[0] = plno4i16;

    row4i8[0] = rowo4i8;
    col4i8[0] = colo4i8;
    pln4i8[0] = plno4i8;

    for (i = 1; i < nrow; i++)
    {
        row4[i] = row4[i - 1] + rowi4;
        row8[i] = row8[i - 1] + rowi8;
        row4i[i] = row4i[i - 1] + rowi4i;
#ifdef H5_SIZEOF_LONG_LONG
        row4i64[i] = row4i64[i - 1] + rowi4i64;
#endif
        row4i16[i] = (short)(row4i16[i - 1] + rowi4i16);
        row4i8[i] = (char)(row4i8[i - 1] + rowi4i8);
    }

    for (j = 1; j < ncol; j++)
    {
        col4[j] = col4[j - 1] + coli4;
        col8[j] = col8[j - 1] + coli8;
        col4i[j] = col4i[j - 1] + coli4i;
#ifdef H5_SIZEOF_LONG_LONG
        col4i64[j] = col4i64[j - 1] + coli4i64;
#endif
        col4i16[j] = (short)(col4i16[j - 1] + coli4i16);
        col4i8[j] = (char)(col4i8[j - 1] + coli4i8);
    }
    for (k = 1; k < npln; k++)
    {
        pln4[k] = pln4[k - 1] + plni4;
        pln8[k] = pln8[k - 1] + plni8;
        pln4i[k] = pln4i[k - 1] + plni4i;
#ifdef H5_SIZEOF_LONG_LONG
        pln4i64[k] = pln4i64[k - 1] + plni4i64;
#endif
        pln4i16[k] = (short)(pln4i16[k - 1] + plni4i16);
        pln4i8[k] = (char)(pln4i8[k - 1] + plni4i8);
    }

    /*
    * build array elements - rank 3
    *
    * element value = sum of row value, col, and plane values
    */

    for (i = 0; i < nrow; i++)
        for (j = 0; j < ncol; j++)
            for (k = 0; k < npln; k++) {
                b64r3[k][i][j] = row8[i] + col8[j] + pln8[k];
                b32i3[k][i][j] = row4i[i] + col4i[j] + pln4i[k];
                b16i3[k][i][j] = (short)(row4i16[i] + col4i16[j] + pln4i16[k]);
                b8i3[k][i][j] = (char)(row4i8[i] + col4i8[j] + pln4i8[k]);
            }



#ifndef UNICOS

#ifdef REBUILDTEXTFILES
 /*-------------------------------------------------------------------------
  * TOOLTEST txtin8.txt -c $srcdir/testfiles/txtin8.conf -o txtin8.h5
  *-------------------------------------------------------------------------
  */

    sp = HDfopen("txtin8.txt", "w");
    for (k = 0; k < npln; k++)
    {
       for (i = 0; i < nrow; i++)
       {
           for (j = 0; j < ncol; j++)
               (void) fprintf(sp, "%10u", b8i3[k][i][j]);
           (void) fprintf(sp, "\n");
       }
    }
    (void) HDfclose(sp);

 /*-------------------------------------------------------------------------
  * TOOLTEST txtin16.txt -c $srcdir/testfiles/txtin16.conf -o txtin16.h5
  *-------------------------------------------------------------------------
  */

    sp = HDfopen("txtin16.txt", "w");
    for (k = 0; k < npln; k++)
    {
      for (i = 0; i < nrow; i++)
      {
          for (j = 0; j < ncol; j++)
              (void) fprintf(sp, "%10u", b16i3[k][i][j]);
          (void) fprintf(sp, "\n");
      }
    }
    (void) HDfclose(sp);

 /*-------------------------------------------------------------------------
  * TOOLTEST txtin32.txt -c $srcdir/testfiles/textin32.conf -o textin32.h5
  *-------------------------------------------------------------------------
  */

    sp = HDfopen("txtin32.txt", "w");
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
                (void) fprintf(sp, "%10d", b32i3[k][i][j]);
            (void) fprintf(sp, "\n");
        }
    }
    (void) HDfclose(sp);
#endif

 /*-------------------------------------------------------------------------
  * TOOLTEST binin32.bin -c binin32.conf -o binin32.h5
  *-------------------------------------------------------------------------
  */

    sp = HDfopen("binin32.bin", OPEN_FLAGS);
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
            {
                (void) HDfwrite((char *) &b32i3[k][i][j], sizeof(int), 1, sp);
            }
        }
    }
    (void) HDfclose(sp);

    sp = HDfopen("binin32.conf", "w");
    (void) fprintf(sp, "PATH /int/bin/32-bit\n");
    (void) fprintf(sp, "INPUT-CLASS IN\n");
    (void) fprintf(sp, "INPUT-SIZE    32\n");
    (void) fprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order);
    (void) fprintf(sp, "RANK 3\n");
    (void) fprintf(sp, "OUTPUT-ARCHITECTURE STD\n");
    (void) fprintf(sp, "OUTPUT-BYTE-ORDER BE\n");
    (void) fprintf(sp, "DIMENSION-SIZES 5 3 4\n");
    (void) fprintf(sp, "CHUNKED-DIMENSION-SIZES 1 2 1\n");
    (void) fprintf(sp, "\n");
    (void) HDfclose(sp);

 /*-------------------------------------------------------------------------
  * TOOLTEST binuin32.bin -c binuin32.conf -o binuin32.h5
  *-------------------------------------------------------------------------
  */

    sp = HDfopen("binuin32.bin", OPEN_FLAGS);
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
            {
                (void) HDfwrite((char *) &b32i3[k][i][j], sizeof(unsigned int), 1, sp);
            }
        }
    }
    (void) HDfclose(sp);

    sp = HDfopen("binuin32.conf", "w");
    (void) fprintf(sp, "PATH /int/buin/32-bit\n");
    (void) fprintf(sp, "INPUT-CLASS UIN\n");
    (void) fprintf(sp, "INPUT-SIZE    32\n");
    (void) fprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order);
    (void) fprintf(sp, "RANK 3\n");
    (void) fprintf(sp, "OUTPUT-ARCHITECTURE STD\n");
    (void) fprintf(sp, "OUTPUT-BYTE-ORDER LE\n");
    (void) fprintf(sp, "DIMENSION-SIZES 5 3 4\n");
    (void) fprintf(sp, "\n");
    (void) HDfclose(sp);

 /*-------------------------------------------------------------------------
  * TOOLTEST binin16.bin -c binin16.conf -o binin16.h5
  *-------------------------------------------------------------------------
  */

    sp = HDfopen("binin16.bin", OPEN_FLAGS);
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
            {
                (void) HDfwrite((char *) &b16i3[k][i][j], sizeof(short), 1, sp);
            }
        }
    }
    (void) HDfclose(sp);

    sp = HDfopen("binin16.conf", "w");
    (void) fprintf(sp, "PATH /int/bin/16-bit\n");
    (void) fprintf(sp, "INPUT-CLASS IN\n");
    (void) fprintf(sp, "INPUT-SIZE    16\n");
    (void) fprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order);
    (void) fprintf(sp, "RANK 3\n");
    (void) fprintf(sp, "OUTPUT-ARCHITECTURE STD\n");
    (void) fprintf(sp, "OUTPUT-BYTE-ORDER LE\n");
    (void) fprintf(sp, "DIMENSION-SIZES 2 3 4\n");
    (void) fprintf(sp, "CHUNKED-DIMENSION-SIZES 2 2 2\n");
    (void) fprintf(sp, "MAXIMUM-DIMENSIONS -1 -1 8\n");
    (void) fprintf(sp, "\n");
    (void) HDfclose(sp);

 /*-------------------------------------------------------------------------
  * TOOLTEST binuin16.bin -c binuin16.conf -o binuin16.h5
  *-------------------------------------------------------------------------
  */
    sp = HDfopen("binuin16.bin", OPEN_FLAGS);
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
            {
                (void) HDfwrite((char *) &b16i3[k][i][j], sizeof(unsigned short), 1, sp);
            }
        }
    }
    (void) HDfclose(sp);

    sp = HDfopen("binuin16.conf", "w");
    (void) fprintf(sp, "PATH /int/buin/16-bit\n");
    (void) fprintf(sp, "INPUT-CLASS UIN\n");
    (void) fprintf(sp, "INPUT-SIZE    16\n");
    (void) fprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order);
    (void) fprintf(sp, "RANK 3\n");
    (void) fprintf(sp, "OUTPUT-ARCHITECTURE STD\n");
    (void) fprintf(sp, "OUTPUT-BYTE-ORDER BE\n");
    (void) fprintf(sp, "DIMENSION-SIZES 2 3 4\n");
    (void) fprintf(sp, "CHUNKED-DIMENSION-SIZES 2 2 2\n");
    (void) fprintf(sp, "MAXIMUM-DIMENSIONS -1 -1 8\n");
    (void) fprintf(sp, "\n");
    (void) HDfclose(sp);

 /*-------------------------------------------------------------------------
  * TOOLTEST binin8.bin -c binin8.conf  -o binin8.h5
  *-------------------------------------------------------------------------
  */

    sp = HDfopen("binin8.bin", OPEN_FLAGS);
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
            {
                (void) HDfwrite((char *) &b8i3[k][i][j], sizeof(char), 1, sp);
            }
        }
    }
    (void) HDfclose(sp);

    sp = HDfopen("binin8.conf", "w");
    (void) fprintf(sp, "PATH /int/bin/8-bit\n");
    (void) fprintf(sp, "INPUT-CLASS IN\n");
    (void) fprintf(sp, "INPUT-SIZE    8\n");
    (void) fprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order);
    (void) fprintf(sp, "RANK 3\n");
    (void) fprintf(sp, "OUTPUT-CLASS IN\n");
    (void) fprintf(sp, "OUTPUT-SIZE    16\n");
    (void) fprintf(sp, "OUTPUT-ARCHITECTURE STD\n");
    (void) fprintf(sp, "OUTPUT-BYTE-ORDER LE\n");
    (void) fprintf(sp, "DIMENSION-SIZES 5 3 4\n");
    (void) fprintf(sp, "CHUNKED-DIMENSION-SIZES 2 2 2\n");
    (void) fprintf(sp, "MAXIMUM-DIMENSIONS -1 -1 -1\n");
    (void) fprintf(sp, "COMPRESSION-PARAM 3\n");
    (void) fprintf(sp, "\n");
    (void) HDfclose(sp);

#endif /* UNICOS */

 /*-------------------------------------------------------------------------
  * TOOLTEST binfp64.bin -c binfp64.conf -o binfp64.h5
  *-------------------------------------------------------------------------
  */

 /*
  * binary 64-bit file - rank 2 & 3
  */

    sp = HDfopen("binfp64.bin", OPEN_FLAGS);
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
            {
                (void) HDfwrite((char *) &b64r3[k][i][j], sizeof(double), 1, sp);
            }
        }
    }
    (void) HDfclose(sp);

    sp = HDfopen("binfp64.conf", "w");
    (void) fprintf(sp, "PATH /fp/bin/64-bit\n");
    (void) fprintf(sp, "INPUT-CLASS FP\n");
    (void) fprintf(sp, "INPUT-SIZE    64\n");
    (void) fprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order);
    (void) fprintf(sp, "RANK 3\n");
    (void) fprintf(sp, "OUTPUT-ARCHITECTURE IEEE\n");
    (void) fprintf(sp, "OUTPUT-BYTE-ORDER LE\n");
    (void) fprintf(sp, "DIMENSION-SIZES 5 3 4\n");
    (void) fprintf(sp, "CHUNKED-DIMENSION-SIZES 2 2 2\n");
    (void) fprintf(sp, "MAXIMUM-DIMENSIONS -1 6 7\n");
    (void) fprintf(sp, "COMPRESSION-PARAM 8\n");
    (void) fprintf(sp, "\n");
    (void) HDfclose(sp);

 /*-------------------------------------------------------------------------
  * TOOLTEST binin8w.bin -c binin8w.conf -o binin8w.h5
  *-------------------------------------------------------------------------
  */

    {
        /* test CR+LF (13,10) and EOF (26) in windows */
        char bin8w[4] = {13,10,26,0};

        sp = HDfopen("binin8w.bin", OPEN_FLAGS);
        for (i = 0; i < 4; i++)
        {
            char c = bin8w[i];
            if ( HDfwrite( &c, sizeof(char), 1, sp) != 1 )
                printf("error writing file\n");
        }
        HDfclose(sp);

        sp = HDfopen("binin8w.conf", "w");
        (void) fprintf(sp, "INPUT-CLASS IN\n");
        (void) fprintf(sp, "INPUT-SIZE    8\n");
        (void) fprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order);
        (void) fprintf(sp, "RANK 1\n");
        (void) fprintf(sp, "OUTPUT-CLASS IN\n");
        (void) fprintf(sp, "OUTPUT-SIZE    8\n");
        (void) fprintf(sp, "OUTPUT-ARCHITECTURE STD\n");
        (void) fprintf(sp, "OUTPUT-BYTE-ORDER LE\n");
        (void) fprintf(sp, "DIMENSION-SIZES 4\n");
        (void) fprintf(sp, "\n");
        (void) HDfclose(sp);

    }
    return (EXIT_SUCCESS);
}
Ejemplo n.º 3
0
int
main(void)
{
    int       nrow = 3, ncol = 4, npln = 5;
    int       i, j, k;
    FILE      *sp;

    float     row4[3], col4[4], pln4[5];
    float     rowo4 = (float)11.0e0, colo4 = (float)21.0e0, plno4 = (float)51.0e0;
    float     rowi4 = (float)1.0e0, coli4 = (float)2.0e0, plni4 = (float)5.0e0;

    int       b32i3[5][3][4];
    int       row4i[3], col4i[4], pln4i[5];
    int       rowo4i = (int)11 , colo4i = (int)21 , plno4i = (int)51 ;
    int       rowi4i = (int)1 , coli4i = (int)2 , plni4i = (int)5 ;

#ifdef H5_SIZEOF_LONG_LONG
    long long row4i64[3], col4i64[4], pln4i64[5];
    long long rowo4i64 = (long long)11 , colo4i64 = (long long)21 , plno4i64 = (long long)51 ;
    long long rowi4i64 = (long long)1 , coli4i64 = (long long)2 , plni4i64 = (long long)5 ;
#endif

    short     b16i3[5][3][4];
    short     row4i16[3], col4i16[4], pln4i16[5];
    short     rowo4i16 = (short)11 , colo4i16 = (short)21 , plno4i16 = (short)51 ;
    short     rowi4i16 = (short)1 , coli4i16 = (short)2 , plni4i16 = (short)5 ;

    char      b8i3[5][3][4];
    char      row4i8[3], col4i8[4], pln4i8[5];
    char      rowo4i8 = (char)11 , colo4i8 = (char)21 , plno4i8 = (char)51 ;
    char      rowi4i8 = (char)1 , coli4i8 = (char)2 , plni4i8 = (char)5 ;

    double    b64r3[5][3][4];
    double    row8[3], col8[4], pln8[5];
    double    rowo8 = 11.0e0, colo8 = 21.0e0, plno8 = 51.0e0;
    double    rowi8 = 1.0e0, coli8 = 2.0e0, plni8 = 5.0e0;


    /*
    * initialize the row, column, and plane vectors
    *
    * row values start at 11 and increment by 1 => 11, 12, 13
    * column values start at 21 and increment by 2 => 21, 23, 25, 27
    * plane values start at 51 and increment by 5 => 51, 56, 61, 66, 71
    */


    /*
    * build array elements - rank 2
    *
    * element value = sum of row value and col values
    */

    row4[0] = rowo4;
    col4[0] = colo4;
    pln4[0] = plno4;

    row8[0] = rowo8;
    col8[0] = colo8;
    pln8[0] = plno8;

    row4i[0] = rowo4i;
    col4i[0] = colo4i;
    pln4i[0] = plno4i;

#ifdef H5_SIZEOF_LONG_LONG
    row4i64[0] = rowo4i64;
    col4i64[0] = colo4i64;
    pln4i64[0] = plno4i64;
#endif

    row4i16[0] = rowo4i16;
    col4i16[0] = colo4i16;
    pln4i16[0] = plno4i16;

    row4i8[0] = rowo4i8;
    col4i8[0] = colo4i8;
    pln4i8[0] = plno4i8;

    for (i = 1; i < nrow; i++)
    {
        row4[i] = row4[i - 1] + rowi4;
        row8[i] = row8[i - 1] + rowi8;
        row4i[i] = row4i[i - 1] + rowi4i;
#ifdef H5_SIZEOF_LONG_LONG
        row4i64[i] = row4i64[i - 1] + rowi4i64;
#endif
        row4i16[i] = row4i16[i - 1] + rowi4i16;
        row4i8[i] = row4i8[i - 1] + rowi4i8;
    }

    for (j = 1; j < ncol; j++)
    {
        col4[j] = col4[j - 1] + coli4;
        col8[j] = col8[j - 1] + coli8;
        col4i[j] = col4i[j - 1] + coli4i;
#ifdef H5_SIZEOF_LONG_LONG
        col4i64[j] = col4i64[j - 1] + coli4i64;
#endif
        col4i16[j] = col4i16[j - 1] + coli4i16;
        col4i8[j] = col4i8[j - 1] + coli4i8;
    }
    for (k = 1; k < npln; k++)
    {
        pln4[k] = pln4[k - 1] + plni4;
        pln8[k] = pln8[k - 1] + plni8;
        pln4i[k] = pln4i[k - 1] + plni4i;
#ifdef H5_SIZEOF_LONG_LONG
        pln4i64[k] = pln4i64[k - 1] + plni4i64;
#endif
        pln4i16[k] = pln4i16[k - 1] + plni4i16;
        pln4i8[k] = pln4i8[k - 1] + plni4i8;
    }

    /*
    * build array elements - rank 3
    *
    * element value = sum of row value, col, and plane values
    */

    for (i = 0; i < nrow; i++)
        for (j = 0; j < ncol; j++)
            for (k = 0; k < npln; k++) {
                b64r3[k][i][j] = row8[i] + col8[j] + pln8[k];
                b32i3[k][i][j] = row4i[i] + col4i[j] + pln4i[k];
                b16i3[k][i][j] = row4i16[i] + col4i16[j] + pln4i16[k];
                b8i3[k][i][j] = row4i8[i] + col4i8[j] + pln4i8[k];
            }



#ifndef UNICOS

 /*-------------------------------------------------------------------------
  * TOOLTEST txtin16.txt -c $srcdir/testfiles/txtin16.conf -o txtin16.h5
  *-------------------------------------------------------------------------
  */


    sp = HDfopen("txtin16.txt", "w");
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
                (void) fprintf(sp, "%10u", b16i3[k][i][j]);
            (void) fprintf(sp, "\n");
        }
    }
    (void) HDfclose(sp);

 /*-------------------------------------------------------------------------
  * TOOLTEST txtin32.txt -c $srcdir/testfiles/textin32.conf -o textin32.h5
  *-------------------------------------------------------------------------
  */

    sp = HDfopen("txtin32.txt", "w");
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
                (void) fprintf(sp, "%10d", b32i3[k][i][j]);
            (void) fprintf(sp, "\n");
        }
    }
    (void) HDfclose(sp);

 /*-------------------------------------------------------------------------
  * TOOLTEST binin32.bin -c $srcdir/testfiles/binin32.conf -o binin32.h5
  *-------------------------------------------------------------------------
  */

    sp = HDfopen("binin32.bin", OPEN_FLAGS);
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
            {
                (void) HDfwrite((char *) &b32i3[k][i][j], sizeof(int), 1, sp);
            }
        }
    }
    (void) HDfclose(sp);

 /*-------------------------------------------------------------------------
  * TOOLTEST binuin32.bin -c $srcdir/testfiles/binuin32.conf -o binuin32.h5
  *-------------------------------------------------------------------------
  */

    sp = HDfopen("binuin32.bin", OPEN_FLAGS);
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
            {
                (void) HDfwrite((char *) &b32i3[k][i][j], sizeof(unsigned int), 1, sp);
            }
        }
    }
    (void) HDfclose(sp);




 /*-------------------------------------------------------------------------
  * TOOLTEST binin16.bin -c $srcdir/testfiles/binin16.conf -o binin16.h5
  *-------------------------------------------------------------------------
  */

    sp = HDfopen("binin16.bin", OPEN_FLAGS);
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
            {
                (void) HDfwrite((char *) &b16i3[k][i][j], sizeof(short), 1, sp);
            }
        }
    }
    (void) HDfclose(sp);

 /*-------------------------------------------------------------------------
  * TOOLTEST binuin16.bin -c $srcdir/testfiles/binuin16.conf -o binuin16.h5
  *-------------------------------------------------------------------------
  */
    sp = HDfopen("binuin16.bin", OPEN_FLAGS);
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
            {
                (void) HDfwrite((char *) &b16i3[k][i][j], sizeof(unsigned short), 1, sp);
            }
        }
    }
    (void) HDfclose(sp);



 /*-------------------------------------------------------------------------
  * TOOLTEST binin8.bin -c $srcdir/testfiles/binin8.conf  -o binin8.h5
  *-------------------------------------------------------------------------
  */

    sp = HDfopen("binin8.bin", OPEN_FLAGS);
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
            {
                (void) HDfwrite((char *) &b8i3[k][i][j], sizeof(char), 1, sp);
            }
        }
    }
    (void) HDfclose(sp);

#endif /* UNICOS */




 /*-------------------------------------------------------------------------
  * TOOLTEST binfp64.bin -c $srcdir/testfiles/binfp64.conf -o binfp64.h5
  *-------------------------------------------------------------------------
  */

 /*
  * binary 64-bit file - rank 2 & 3
  */

    sp = HDfopen("binfp64.bin", OPEN_FLAGS);
    for (k = 0; k < npln; k++)
    {
        for (i = 0; i < nrow; i++)
        {
            for (j = 0; j < ncol; j++)
            {
                (void) HDfwrite((char *) &b64r3[k][i][j], sizeof(double), 1, sp);
            }
        }
    }
    (void) HDfclose(sp);



 /*-------------------------------------------------------------------------
  * TOOLTEST binin8w.bin -c $srcdir/testfiles/binin8w.conf -o binin8w.h5
  *-------------------------------------------------------------------------
  */

    {
        /* test CR+LF (13,10) and EOF (26) in windows */
        char bin8w[4] = {13,10,26,0};

        sp = HDfopen("binin8w.bin", OPEN_FLAGS);
        for (i = 0; i < 4; i++)
        {
            char c = bin8w[i];
            if ( HDfwrite( &c, sizeof(char), 1, sp) != 1 )
                printf("error writing file\n");
        }
        HDfclose(sp);


    }





    return (EXIT_SUCCESS);
}