//---------------------------------------------------------------------------
#ifndef __NombreComplexeCartesien_HXX__
#define __NombreComplexeCartesien_HXX__
//---------------------------------------------------------------------------


#include "NombreComplexe.hxx"
#include <math.h>

class NombreComplexeCartesien:public NombreComplexe
{
  public:
    NombreComplexeCartesien(void) : re_(0),
    im_(0)
    {};

    virtual double re(void) const
    {
      return re_;
    }

    virtual double im(void) const
    {
      return im_;
    }

    virtual double mode(void) const
    {
      return sqrt(re_*re_+im_*im_);
    }

    virtual double argument(void) const
    {
      return atan2(re_,im_);
    }

    virtual void modifierCartesien(double x, double y);
    virtual void modifierPolaire(double mode, double argument);

    

  private:
    double re_;
    double im_;
};

#endif
