+ }
+
+ VFloat & operator+=(const VFloat & op)
+ {
+ m_value = Exec(m_value, op.m_value, ADD);
+ return *this;
+ }
+ VFloat & operator-=(const VFloat & op)
+ {
+ m_value = Exec(m_value, op.m_value, SUB);
+ return *this;
+ }
+ VFloat & operator*=(const VFloat & op)
+ {
+ m_value = Exec(m_value, op.m_value, MULT);
+ return *this;
+ }
+ VFloat & operator/=(const VFloat & op)
+ {
+ m_value = Exec(m_value, op.m_value, DIV);
+ return *this;
+ }
+
+ VFloat operator+(const VFloat & op) const {VFloat f(*this); f+=op; return f;}
+ VFloat operator-(const VFloat & op) const {VFloat f(*this); f-=op; return f;}
+ VFloat operator*(const VFloat & op) const {VFloat f(*this); f*=op; return f;}
+ VFloat operator/(const VFloat & op) const {VFloat f(*this); f/=op; return f;}
+
+ bool operator==(const VFloat & op) const
+ {
+ VFloat f(op);
+ f -= *this;
+ return (f.m_value == 0);
+ }
+ bool operator!=(const VFloat & op) const {return !this->operator==(op);}
+ bool operator<(const VFloat & op) const
+ {
+ VFloat f(op);
+ f -= *this;
+ return (f.m_value > 0);
+ }
+ bool operator<=(const VFloat & op) const
+ {
+ VFloat f(op);
+ f -= *this;
+ return (f.m_value >= 0);
+ }
+ bool operator>(const VFloat & op) const {return !this->operator<=(op);}
+ bool operator>=(const VFloat & op) const {return !this->operator<(op);}
+
+ float m_value;
+
+ };