Main Page | Data Structures | File List | Data Fields | Globals

/home/kevin/Documents/PYLikeC/fitness_function.c

Go to the documentation of this file.
00001 #include <stdio.h>
00002 #include "currents.h"
00003 #include "pga.h"
00004 
00005 #ifdef SINGLE_BUILD
00006 int main(void)
00007 {
00008    double params[NUM_PARAMS];
00009    double read_dummy;
00010 #endif
00011 #ifndef SINGLE_BUILD
00012 double fitness_function(double params[])
00013 {
00014 #endif
00015    struct input_data model_data;
00016    int exp_delay_count;
00017    double exp_time[MAX_DAT];
00018    double exp_delay[MAX_DAT];
00019    int model_delay_count;
00020    double model_delay[MAX_DAT];
00021    double spike_times[MAX_SPIKES];
00022    int model_spike_count;
00023    int i;
00024    int min_delay_count;
00025    
00026    model_data.position = 0;
00027    model_data.filled = 0;
00028 #ifdef SINGLE_BUILD
00029    scanf("%lf", &read_dummy);
00030    for (i = 0; i < NUM_PARAMS; i++)
00031      scanf("%lf %lf", &model_data.params[i], &read_dummy);
00032 #endif
00033 #ifndef SINGLE_BUILD
00034    for (i = 0; i < NUM_PARAMS; i++)
00035      model_data.params[i] = params[i];
00036 #endif
00037    
00038    fill_struct(&model_data); 
00039     
00040    model_spike_count = model(&model_data, spike_times);
00041    /* removed for all spike runs 
00042    exp_delay_count = get_exp_delay(exp_time, exp_delay);
00043    model_delay_count = get_delay(spike_times, model_spike_count, exp_time, exp_delay_count, model_delay);
00044    if (model_delay_count < exp_delay_count)
00045      min_delay_count = model_delay_count;
00046    else
00047      min_delay_count = exp_delay_count;
00048    if (min_delay_count > 500)
00049      return 1 / err(exp_delay, model_delay,  min_delay_count);
00050    else 
00051      {
00052         fprintf(stderr, "too few spikes %i\n", model_delay_count);
00053         return 0.0;
00054      }
00055     */
00056    
00057 #ifdef SINGLE_BUILD
00058    fprintf(stderr, "Fit = %f\n", all_spike_fit(spike_times, model_spike_count));
00059    return 0;
00060 #endif
00061 #ifndef SINGLE_BUILD
00062    return all_spike_fit(spike_times, model_spike_count);
00063 #endif
00064 }

Generated on Thu Mar 3 11:45:32 2005 for spga by  doxygen 1.3.9.1