/* Last edited on 2020-12-15 22:27:24 by jstolfi */ void nmsim_elem_neuron_trace_stats_write(FILE *wr, nmsim_elem_neuron_trace_stats_t *trS) { char *ind1 = ""; /* Indentation for whole summary. */ char *ind2 = " "; /* Indentation for each parameter and state. */ /* Write the file header: */ fputs(ind1, wr); filefmt_write_header(wr, nmsim_elem_neuron_trace_stats_FILE_TYPE, nmsim_elem_neuron_trace_stats_VERSION); /* Write the neuron index and time range: */ fprintf(wr, "%sneuron_elem = %d times %ld..%ld\n", ind2, trS->ine, trS->tlo, trS->thi); fputs(ind2, wr); nmsim_stats_print(wr, "V", &(trS->V), nmsim_write_VIJ_PREC, TRUE, FALSE, FALSE); fputs(ind2, wr); nmsim_stats_print(wr, "V_fire", &(trS->V_fire), nmsim_write_VIJ_PREC, TRUE, FALSE, FALSE); fputs(ind2, wr); nmsim_stats_print(wr, "age", &(trS->age), 0.06, FALSE, FALSE, FALSE); fputs(ind2, wr); nmsim_stats_print(wr, "age_fire", &(trS->age_fire), 0.06, FALSE, FALSE, FALSE); fputs(ind2, wr); nmsim_stats_print(wr, "M", &(trS->M), nmsim_write_MH_PREC, FALSE, TRUE, TRUE); fputs(ind2, wr); nmsim_stats_print(wr, "H", &(trS->H), nmsim_write_MH_PREC, FALSE, TRUE, TRUE); fputs(ind2, wr); nmsim_stats_print(wr, "X", &(trS->X), nmsim_write_rho_PREC, FALSE, TRUE, TRUE); fputs(ind2, wr); nmsim_stats_print(wr, "I", &(trS->I), nmsim_write_VIJ_PREC, TRUE, FALSE, FALSE); fputs(ind2, wr); nmsim_stats_print(wr, "J", &(trS->J), nmsim_write_VIJ_PREC, TRUE, FALSE, FALSE); /* Write the file footer: */ fputs(ind1, wr); filefmt_write_footer(wr, nmsim_elem_neuron_trace_stats_FILE_TYPE); fflush(wr); }