printf() ---> out_printf(): allow output redirection into file

This commit is contained in:
h_vogt 2012-07-11 18:56:19 +02:00
parent 9b34d99e51
commit 4ca6e56863
1 changed files with 23 additions and 22 deletions

View File

@ -16,7 +16,7 @@ AUTHORS
MODIFICATIONS
<date> <person name> <nature of modifications>
7/11/2012 Holger Vogt Replace printf by out_printf to allow output redirection
SUMMARY
@ -43,9 +43,9 @@ NON-STANDARD FEATURES
#include <string.h>
#include "ngspice/ngspice.h"
//#include "misc.h"
#include "ngspice/cpstd.h"
#include "ngspice/cpextern.h"
#include "ngspice/mif.h"
#include "ngspice/evt.h"
@ -90,7 +90,7 @@ in the following areas:
#define EPRINT_MAXARGS 16
#define EPRINT_MAXARGS 32
void EVTprint(
@ -140,7 +140,7 @@ void EVTprint(
return;
}
if(nargs > EPRINT_MAXARGS) {
printf("ERROR - eprint currently limited to 16 arguments\n");
printf("ERROR - eprint currently limited to 32 arguments\n");
return;
}
@ -163,15 +163,16 @@ void EVTprint(
w = w->wl_next;
}
out_init();
/* Print results data */
printf("\n**** Results Data ****\n\n");
out_printf("\n**** Results Data ****\n\n");
/* Print the column identifiers */
printf("Time or Step\n");
out_printf("Time or Step\n");
for(i = 0; i < nargs; i++)
printf("%s\n",node_name[i]);
printf("\n\n");
out_printf("%s\n",node_name[i]);
out_printf("\n\n");
/* Scan the node data and determine if the first vector */
/* is for a DCOP analysis or the first step in a swept DC */
@ -229,11 +230,11 @@ void EVTprint(
print_data(MIF_FALSE, this_step, node_value, nargs);
} /* end while there is more data */
printf("\n\n");
out_printf("\n\n");
/* Print messages for all ports */
printf("\n**** Messages ****\n\n");
out_printf("\n**** Messages ****\n\n");
num_ports = ckt->evt->counts.num_ports;
port_table = ckt->evt->info.port_table;
@ -248,7 +249,7 @@ void EVTprint(
continue;
/* Print the port description */
printf("Node: %s Inst: %s Conn: %s Port: %d\n\n",
out_printf("Node: %s Inst: %s Conn: %s Port: %d\n\n",
port_table[i]->node_name,
port_table[i]->inst_name,
port_table[i]->conn_name,
@ -263,27 +264,27 @@ void EVTprint(
printf("%s\n", msg_data->text);
msg_data = msg_data->next;
}
printf("\n\n");
out_printf("\n\n");
} /* end for number of ports */
/* Print statistics */
printf("\n**** Statistics ****\n\n");
out_printf("\n**** Statistics ****\n\n");
statistics = ckt->evt->data.statistics;
printf("Operating point analog/event alternations: %d\n",
out_printf("Operating point analog/event alternations: %d\n",
statistics->op_alternations);
printf("Operating point load calls: %d\n",
out_printf("Operating point load calls: %d\n",
statistics->op_load_calls);
printf("Operating point event passes: %d\n",
out_printf("Operating point event passes: %d\n",
statistics->op_event_passes);
printf("Transient analysis load calls: %d\n",
out_printf("Transient analysis load calls: %d\n",
statistics->tran_load_calls);
printf("Transient analysis timestep backups: %d\n",
out_printf("Transient analysis timestep backups: %d\n",
statistics->tran_time_backups);
printf("\n\n");
out_printf("\n\n");
}
@ -362,8 +363,8 @@ static void print_data(
else
sprintf(step_str, "%-16.9e", step);
printf("%s", step_str);
out_printf("%s", step_str);
for(i = 0; i < nargs; i++)
printf(" %s", node_value[i]);
printf("\n");
out_printf(" %s", node_value[i]);
out_printf("\n");
}