Browse Source

unify, use memcpy for CKTstate copy operations

pre-master-46
rlar 10 years ago
parent
commit
5b42d09618
  1. 5
      src/maths/ni/niiter.c
  2. 23
      src/spicelib/analysis/cktop.c
  3. 8
      src/spicelib/analysis/dcpss.c
  4. 8
      src/spicelib/analysis/dctran.c

5
src/maths/ni/niiter.c

@ -153,9 +153,8 @@ NIiter(CKTcircuit *ckt, int maxIter)
CKTnumStates the first time it is run */
if(!OldCKTstate0)
OldCKTstate0=TMALLOC(double, ckt->CKTnumStates + 1);
for(i=0; i<ckt->CKTnumStates; i++) {
OldCKTstate0[i] = ckt->CKTstate0[i];
}
memcpy(OldCKTstate0, ckt->CKTstate0,
(size_t) ckt->CKTnumStates * sizeof(double));
startTime = SPfrontEnd->IFseconds();
SMPsolve(ckt->CKTmatrix,ckt->CKTrhs,ckt->CKTrhsSpare);

23
src/spicelib/analysis/cktop.c

@ -184,9 +184,8 @@ dynamic_gmin (CKTcircuit * ckt, long int firstmode,
i++;
}
for (i = 0; i < ckt->CKTnumStates; i++) {
OldCKTstate0[i] = ckt->CKTstate0[i];
}
memcpy(OldCKTstate0, ckt->CKTstate0,
(size_t) ckt->CKTnumStates * sizeof(double));
if (iters <= (ckt->CKTdcTrcvMaxIter / 4)) {
factor *= sqrt (factor);
@ -223,9 +222,8 @@ dynamic_gmin (CKTcircuit * ckt, long int firstmode,
i++;
}
for (i = 0; i < ckt->CKTnumStates; i++) {
ckt->CKTstate0[i] = OldCKTstate0[i];
}
memcpy(ckt->CKTstate0, OldCKTstate0,
(size_t) ckt->CKTnumStates * sizeof(double));
}
}
}
@ -449,9 +447,8 @@ gillespie_src (CKTcircuit * ckt, long int firstmode,
i++;
}
for (i = 0; i < ckt->CKTnumStates; i++)
OldCKTstate0[i] = ckt->CKTstate0[i];
memcpy(OldCKTstate0, ckt->CKTstate0,
(size_t) ckt->CKTnumStates * sizeof(double));
SPfrontEnd->IFerrorf (ERR_INFO,
"One successful source step");
@ -486,8 +483,8 @@ gillespie_src (CKTcircuit * ckt, long int firstmode,
i++;
}
for (i = 0; i < ckt->CKTnumStates; i++)
OldCKTstate0[i] = ckt->CKTstate0[i];
memcpy(OldCKTstate0, ckt->CKTstate0,
(size_t) ckt->CKTnumStates * sizeof(double));
SPfrontEnd->IFerrorf (ERR_INFO,
"One successful source step");
@ -522,8 +519,8 @@ gillespie_src (CKTcircuit * ckt, long int firstmode,
i++;
}
for (i = 0; i < ckt->CKTnumStates; i++)
ckt->CKTstate0[i] = OldCKTstate0[i];
memcpy(ckt->CKTstate0, OldCKTstate0,
(size_t) ckt->CKTnumStates * sizeof(double));
}

8
src/spicelib/analysis/dcpss.c

@ -1399,10 +1399,10 @@ resume:
ckt->CKTstat->STATtimePts ++;
ckt->CKTmode = (ckt->CKTmode&MODEUIC)|MODETRAN | MODEINITPRED;
if(firsttime) {
for(i=0;i<ckt->CKTnumStates;i++) {
ckt->CKTstate2[i] = ckt->CKTstate1[i];
ckt->CKTstate3[i] = ckt->CKTstate1[i];
}
memcpy(ckt->CKTstate2, ckt->CKTstate1,
(size_t) ckt->CKTnumStates * sizeof(double));
memcpy(ckt->CKTstate3, ckt->CKTstate1,
(size_t) ckt->CKTnumStates * sizeof(double));
}
/* txl, cpl addition */
if (converged == 1111) {

8
src/spicelib/analysis/dctran.c

@ -781,10 +781,10 @@ resume:
ckt->CKTstat->STATtimePts ++;
ckt->CKTmode = (ckt->CKTmode&MODEUIC)|MODETRAN | MODEINITPRED;
if(firsttime) {
for(i=0;i<ckt->CKTnumStates;i++) {
ckt->CKTstate2[i] = ckt->CKTstate1[i];
ckt->CKTstate3[i] = ckt->CKTstate1[i];
}
memcpy(ckt->CKTstate2, ckt->CKTstate1,
(size_t) ckt->CKTnumStates * sizeof(double));
memcpy(ckt->CKTstate3, ckt->CKTstate1,
(size_t) ckt->CKTnumStates * sizeof(double));
}
/* txl, cpl addition */
if (converged == 1111) {

Loading…
Cancel
Save