[Coin-discuss] CoinWarmStartBasis: proposal to add basis diff methods

Lou Hafer lou at cs.sfu.ca
Tue Oct 14 16:54:41 EDT 2003


Folks,

	I've run into the need to make another modification to 
CoinWarmStartBasis. Specifically, I'd like to add a difference object and two 
vitrual methods, generateDiff and applyDiff.

  * CoinWarmStartBasisDiff *generateDiff(CoinWarmStartBasis *oldBasis)
    
    In use, newBasis.generateDiff(oldBasis) would generate a set of
    differences to convert oldBasis to newBasis.
    
  * applyDiff(CoinWarmStartBasisDiff *diff)
  
    In use, newBasis.applyDiff(diff) would modify newBasis according to the
    information in diff.

My immediate context is removal of a final bit of hard-wired basis
modification in sbb. Introducing these functions will submerge this code
inside CoinWarmStartBasis and derived classes. My intent is that
CoinWarmStartBasisDiff be an opaque class; outsiders can pass around pointers
and delete an object, but that's it.

	I don't see any urgent reason to start derivation of these functions at 
the level of CoinWarmStart, but an (inefficient) default implementation would
be to use clone() (i.e., make a full copy, instead of a diff). Can anyone think 
of where this might be useful?

							Lou




More information about the Coin-discuss mailing list