00001 // CoupledPC12NetworksMinimizableDirector.cpp: implementation of the CCoupledPC12NetworksMinimizableDirector class. 00002 // 00004 00005 #include "CoupledPC12NetworksMinimizableDirector.h" 00006 00008 // Construction/Destruction 00010 00011 CCoupledPC12NetworksMinimizableDirector::CCoupledPC12NetworksMinimizableDirector(double epsSq, double deltaSq) 00012 :CCoupledReplicasMinimizableDirector(epsSq,deltaSq) 00013 { 00014 // replica one 00015 m_pReplicaOne = new PC12EGFNGFMinimizableDirector(); 00016 // replica two 00017 m_pReplicaTwo = new CPC12AlternateMinimizableDirector(); 00018 00019 // find the parameter intersection lists 00020 SetIntersectionLists(); 00021 00022 // allocate the master residuals list 00023 int masterResidualsSize = 0; 00024 masterResidualsSize = m_pReplicaOne->GetNResiduals() + m_pReplicaTwo->GetNResiduals(); 00025 // for epsilon^2 00026 masterResidualsSize += m_viIntersectOne.size(); 00027 // for delta^2 00028 masterResidualsSize += 1; 00029 if(m_dGammaSquared > 0.0) 00030 { 00031 masterResidualsSize += 1; 00032 } 00033 Allocate(masterResidualsSize); 00034 00035 cout << "Master Residuals size : " << masterResidualsSize << endl; 00036 } 00037 00038 CCoupledPC12NetworksMinimizableDirector::~CCoupledPC12NetworksMinimizableDirector() 00039 { 00040 00041 }