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