// sign.h  (-*- C++ -*-)

enum signs {negative, zero, positive, undefined};

class sign
{
  signs value;
public:
  sign (signs s = undefined) {value = s;}
  ~sign () {}
  sign (int i);
  friend char to_char (sign s1);
  friend sign operator + (sign s1, sign s2);
  friend sign operator - (sign s1);
  friend sign operator - (sign s1, sign s2);
  friend sign operator * (sign s1, sign s2);
  int operator == (sign s2) {return (value == s2.value);}
  int operator != (sign s2) {return (value != s2.value);}
  friend int operator < (sign s1, sign s2);
  friend int operator <= (sign s1, sign s2);
  friend int operator > (sign s1, sign s2);
  friend int operator >= (sign s1, sign s2);
};
