home *** CD-ROM | disk | FTP | other *** search
/ Collection of Education / collectionofeducationcarat1997.iso / COMPUSCI / NNUTL101.ZIP / NNWHERE / NNINPUTS.C < prev    next >
C/C++ Source or Header  |  1993-07-13  |  3KB  |  61 lines

  1. /*-----------------------------------------------------------------------*
  2.  * Greg Stevens                                                  6/24/93 *
  3.  *                               nninputs.c                              *
  4.  *                                             [file 2 in a series of 6] *
  5.  *                                                                       *
  6.  *  This file contains parameters for the input patterns to be used by a *
  7.  * neural net.  This file specifies a type PATTERNtype which is a struct *
  8.  * which contains an array of number of patterns by number of elements   *
  9.  * per pattern.  The number of elements per pattern is equal to          *
  10.  * INPUT_LAYER_SIZE, and the number of input patterns is specified as a  *
  11.  * constant at the beginning of this file and can be modified by the user*
  12.  * as long as the data file nninputs.dat contains that number of input   *
  13.  * blocks.  This file also specifies the function InitPatterns for       *
  14.  * getting the patterns from the file and putting them into a variable of*
  15.  * type PATTERNtype.                                                     *
  16.  *                                                                       *
  17.  *-----------------------------------------------------------------------*/
  18. #include "stdio.h"
  19. #include "nnparams.c"                                /* for net constants*/
  20.  
  21. #define NUM_PATTERNS 72                              /*number input pat's*/
  22.  
  23. typedef struct
  24.           {
  25.              float p[ NUM_PATTERNS ][ MAXNODES ];
  26.           } PATTERNtype;
  27.  
  28. /* Function Prototype */
  29. PATTERNtype InitInPatterns( int t );
  30.  
  31. /* Function Definition */
  32. PATTERNtype InitInPatterns( int t )
  33. {
  34.    FILE *InFile;                                        /*file w/ pattern*/
  35.                                                         /*data           */
  36.    PATTERNtype patns;                                   /*stores patterns*/
  37.    float val;                                           /*pattern value  */
  38.    int P,U;                                             /*loop variables */
  39.  
  40.    if (t==0)
  41.      InFile = fopen( "nninputs.dat", "rt" );            /*open: read text*/
  42.    else if (t==1)
  43.      InFile = fopen( "nnintest.dat", "rt" );
  44.  
  45.    if ( InFile==NULL )                                  /* if no file... */
  46.      {
  47.        printf( "File nninputs.dat does not exist!\n" ); /*error message  */
  48.        return( patns );                                 /*leaves function*/
  49.      }
  50.  
  51.    for (P=0; (P<NUM_PATTERNS); ++P)              /* for each pattern.... */
  52.       for (U=0; (U<INPUT_LAYER_SIZE); ++U)       /*  for each unit in it:*/
  53.         {
  54.           fscanf( InFile, "%f", &val );
  55.           patns.p[P][U] = val;
  56.         }
  57.    fclose( InFile );
  58.  
  59.    return( patns );
  60. }
  61.