Category : Files from Magazines
Archive   : CUJ9209.ZIP
Filename : 1009078A

 
Output of file : 1009078A contained in archive : CUJ9209.ZIP

/*
adamain.c


Dwayne Phillips
February 1992

This file contains the main calling
routine for the Adaline (Adaptive
Linear Element) program.



Notes:

the inputs array x has N+2 elements
x[0] is always 1
then there are 1 to N elements
then the last element is the target
the weights array w has N+1 elements
w[0] is the bias
then there are 1 to N elements

*/



#include
#include
#include


main(argc, argv)
int argc;
char *argv[];
{
char inputs_file[80], weights_file[80];
FILE *inputs, *weights;
int working_mode = 0,
training_mode = 0,
input_mode = 0,
files_ok = 1;
long *w, *x, N;


if(argc < 5){
printf("\n\nUsage: adaline inputs_file weights_file ");
printf("size_of_vectors mode");
printf("\n where mode=t (training)");
printf("\n where mode=i (input data)");
printf("\n where mode=w (working)");
exit(1);
}

strcpy(inputs_file, argv[1]);
strcpy(weights_file, argv[2]);

N = atoi(argv[3]);

if(argv[4][0] == 't' || argv[4][0] == 'T')
training_mode = 1;
if(argv[4][0] == 'i' || argv[4][0] == 'I')
input_mode = 1;
if(argv[4][0] == 'w' || argv[4][0] == 'W')
working_mode = 1;


/* the last element of the inputs vector will
hold the target */
x = (long *) malloc((N+2) * sizeof(long));
w = (long *) malloc((N+1) * sizeof(long));




/* I N P U T M O D E */

if(input_mode){
if( (inputs = fopen(inputs_file, "w+b")) == '\0'){
printf("\n\nERROR - cannot open input vector file\n");
exit(0);
}
else
get_straight_input_vectors(inputs, x, N);
} /* ends if input_mode */




/* T R A I N I N G M O D E */

if(training_mode){

if( (inputs = fopen(inputs_file, "r+b")) == '\0'){
printf("\n\nERROR - cannot open input vector file\n");
files_ok = 0;
exit(0);
}

if( (weights = fopen(weights_file, "w+b")) == '\0'){
printf("\n\nERROR - cannot open weights vector file\n");
files_ok = 0;
exit(0);
}

if(files_ok)
train_the_adaline(inputs, weights, x, w, N);

} /* ends training_mode */




/* W O R K I N G M O D E */

if(working_mode){

if( (weights = fopen(weights_file, "r+b")) == '\0'){
printf("\n\nERROR - cannot open weights vector file\n");
exit(0);
}
else
process_new_case(weights, x, w, N);

} /* ends if working_mode */

free(x);
free(w);


} /* ends main */


  3 Responses to “Category : Files from Magazines
Archive   : CUJ9209.ZIP
Filename : 1009078A

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/