// -*- C++ -*- namespace OpenChams { /*! \class Operator::Constraint * * This class describes a constraint. * A constraint is used to set that a parameter's value is defined relative to another parameter value or to an equation: * deviceA.paramI = deviceB.paramJ * factor * deviceA.paramI = equation * factor */ /*! \fn Operator::Constraint::Constraint(Name ref, Name refParam, double factor) * \brief creates a new constraint. * * \param ref the reference object (device, instace or circuit). * \param refParam the reference parameter. * \param factor the factor of the constraint. */ /*! \fn inline Name Operator::Constraint::getRef() * \brief returns the name of the object referenced by the constraint. */ /*! \fn inline Name Operator::Constraint::getRefParam() * \brief returns the name of the parameter referenced by the constraint. */ /*! \fn inline double Operator::Constraint::getFactor() * \brief returns the factor of the constraint. */ /*! \class Operator * * This class describes an operator of a sizing procedure. */ /*! \fn Operator::Operator(Name name, Name simulModel, unsigned callOrder) * \brief creates a new operator. * * \param name the name of the operator. * \param simulModel the simulation model of the operator. * \param callOrder the call order of the operator in the sizing procedure. */ /*! \fn void Operator::addConstraint(Name paramName, Name ref, Name refParam) * \brief adds a Constraint to the operator. * * Constraint formula is : paramName = ref.refParam. * Since the operator is associated to an instance, it is not necessaray to precise the name of this instance. * * \param paramName the name of the parameter to set. * \param ref the name of the referenced object. * \param refParam the name of the referenced parameter. */ /*! \fn void Operator::addConstraint(Name paramName, Name ref, Name refParam, double factor) * \brief adds a Constraint to the operator. * * Constraint formula is : paramName = ref.refParam * factor. * Since the operator is associated to an instance, it is not necessaray to precise the name of this instance. * * \param paramName the name of the parameter to set. * \param ref the name of the referenced object. * \param refParam the name of the referenced parameter. * \param factor the multiplicty factor. */ /*! \fn void Operator::addConstraint(Name paramName, Name refEquation) * \brief adds an equation Constraint to the operator. * * Constraint formula is : paramName = equation. * Since the operator is associated to an instance, it is not necessaray to precise the name of this instance. * * \param paramName the name of the parameter to set. * \param refEquation the referenced equation. */ /*! \fn void Operator::addConstraint(Name paramName, Name refEquation, double factor) * \brief adds an equation Constraint to the operator. * * Constraint formula is : paramName = equation * factor. * Since the operator is associated to an instance, it is not necessaray to precise the name of this instance. * * \param paramName the name of the parameter to set. * \param refEquation the referenced equation. * \param factor the multiplicty factor. */ /*! \fn inline Name Operator::getName() * \brief returns the name of the operator. */ /*! \fn inline Name Operator::getSimulModel() * \brief returns the SimulModel of the operator. */ /*! \fn inline unsigned Operator::getCallOrder() * \brief returns the call order of the operator in the sizing procedure. */ /*! \fn inline bool Operator::hasNoConstraints() * \brief returns true if operator has no Constraint. */ /*! \fn inline const std::map& Operator::getConstraints() * \brief returns the map of operator's constraints. */ }