#ifndef AFFINE_COMBINATION_H
#define AFFINE_COMBINATION_H
#include "Linear_combination.h"

#ifndef LINEAR_COMBINATION_PROTOCOL_H
#include "Linear_combination_protocol.h"
#endif

namespace MM
{

class Affine_combination : public Linear_combination
{
    double          sum_;

public:        
    Affine_combination (double a, Parameter & target)
    :   Linear_combination (a, target), sum_(a) { }

    /*~Affine_combination()
    {
        ENSURE ("", sum_ < 1.000001 && sum_ > -1.000001);
    }

    Linear_combination_protocol & plus (double a, Parameter_value const& v)
    {
        sum_ += a;
        return Linear_combination (a, v);
    }//*/
};

}//MM

#endif //AFFINE_COMBINATION_H
