#ifndef NonlinearFunction_CCA_H
#define NonlinearFunction_CCA_H

#include "ports/Function_CCA.h"

namespace functions
{
  namespace ccaimpl
  {

    /**
     * This class implements the Function interface for a nonlinear function.
     */
    class NonlinearFunction:
      public virtual functions::ccaports::Function,
      public virtual gov::cca::Component
    {

    public:
      NonlinearFunction ();
      ~NonlinearFunction ();
      virtual double evaluate (double x);

      virtual void setServices (gov::cca::Services * services);

    private:
        gov::cca::Services * frameworkServices;
    };
  }
}
#endif                          //  NonlinearFunction_CCA_H