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
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
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 }