Some optimization
1. We are making FoldConstants first, so we are copying less amount of data in DeepCopyWithParamsAsPointers. 2. Since we already perform DeepCopyWithParamsAsPointers, PartialWrt already produces params as pointers
This commit is contained in:
parent
2f31673708
commit
3ba40230dd
@ -48,8 +48,8 @@ bool System::WriteJacobian(int tag) {
|
||||
continue;
|
||||
|
||||
mat.eq[i] = e.h;
|
||||
Expr *f = e.e->DeepCopyWithParamsAsPointers(¶m, &(SK.param));
|
||||
f = f->FoldConstants();
|
||||
Expr *f = e.e->FoldConstants();
|
||||
f = f->DeepCopyWithParamsAsPointers(¶m, &(SK.param));
|
||||
|
||||
for(j = 0; j < mat.n; j++) {
|
||||
mat.A.sym[i][j] = zero;
|
||||
@ -63,7 +63,6 @@ bool System::WriteJacobian(int tag) {
|
||||
if(j == paramToIndex.end()) continue;
|
||||
Expr *pd = f->PartialWrt(p);
|
||||
pd = pd->FoldConstants();
|
||||
pd = pd->DeepCopyWithParamsAsPointers(¶m, &(SK.param));
|
||||
mat.A.sym[i][j->second] = pd;
|
||||
}
|
||||
paramsUsed.Clear();
|
||||
|
Loading…
Reference in New Issue
Block a user