NUMDdump(): add binary mode
fopen() with wb write operating point (external state) for true binary output
This commit is contained in:
parent
80ca57eb76
commit
40e8f868da
|
|
@ -69,7 +69,7 @@ NUMDdump(GENmodel *inModel, CKTcircuit *ckt)
|
||||||
anyOutput = 1;
|
anyOutput = 1;
|
||||||
sprintf(fileName, "%s%s.%d.%s", output->OUTProotFile, prefix,
|
sprintf(fileName, "%s%s.%d.%s", output->OUTProotFile, prefix,
|
||||||
*state_num, inst->NUMDname);
|
*state_num, inst->NUMDname);
|
||||||
if ((fpState = fopen(fileName, "w")) == NULL) {
|
if ((fpState = fopen(fileName, "wb")) == NULL) {
|
||||||
perror(fileName);
|
perror(fileName);
|
||||||
} else {
|
} else {
|
||||||
NUMDputHeader(fpState, ckt, inst);
|
NUMDputHeader(fpState, ckt, inst);
|
||||||
|
|
@ -124,6 +124,8 @@ NUMDputHeader(FILE *file, CKTcircuit *ckt, NUMDinstance *inst)
|
||||||
fprintf(file, "\t%d i1 current\n", numVars++);
|
fprintf(file, "\t%d i1 current\n", numVars++);
|
||||||
fprintf(file, "\t%d i2 current\n", numVars++);
|
fprintf(file, "\t%d i2 current\n", numVars++);
|
||||||
fprintf(file, "\t%d g11 conductance\n", numVars++);
|
fprintf(file, "\t%d g11 conductance\n", numVars++);
|
||||||
|
|
||||||
|
if (0/*AsciiRawFile*/) {
|
||||||
fprintf(file, "Values:\n0");
|
fprintf(file, "Values:\n0");
|
||||||
if (reference) {
|
if (reference) {
|
||||||
fprintf(file, "\t% e\n", refVal);
|
fprintf(file, "\t% e\n", refVal);
|
||||||
|
|
@ -133,6 +135,18 @@ NUMDputHeader(FILE *file, CKTcircuit *ckt, NUMDinstance *inst)
|
||||||
fprintf(file, "\t% e\n", - *(ckt->CKTstate0 + inst->NUMDid));
|
fprintf(file, "\t% e\n", - *(ckt->CKTstate0 + inst->NUMDid));
|
||||||
fprintf(file, "\t% e\n", *(ckt->CKTstate0 + inst->NUMDconduct));
|
fprintf(file, "\t% e\n", *(ckt->CKTstate0 + inst->NUMDconduct));
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
double tmpval = - *(ckt->CKTstate0 + inst->NUMDid);
|
||||||
|
fprintf(file, "Binary:\n");
|
||||||
|
if (reference) {
|
||||||
|
fwrite(&refVal, sizeof (double), 1, file);
|
||||||
|
}
|
||||||
|
fwrite((ckt->CKTstate0 + inst->NUMDvoltage), sizeof (double), 1, file);
|
||||||
|
fwrite((ckt->CKTstate0 + inst->NUMDid), sizeof (double), 1, file);
|
||||||
|
fwrite(&tmpval, sizeof (double), 1, file);
|
||||||
|
fwrite((ckt->CKTstate0 + inst->NUMDconduct), sizeof (double), 1, file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
NUMDacct(GENmodel *inModel, CKTcircuit *ckt, FILE *file)
|
NUMDacct(GENmodel *inModel, CKTcircuit *ckt, FILE *file)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue