
2005-04-08 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> * mlc/bool.hh: Extend. Index: mlc/bool.hh =================================================================== --- mlc/bool.hh (revision 125) +++ mlc/bool.hh (working copy) @@ -85,10 +85,12 @@ /// Logical binary operators between a couple of Boolean types - template <typename L, typename R> struct and_ : public value <bool, (L::b && R::b)> {}; - template <typename L, typename R> struct or_ : public value <bool, (L::b || R::b)> {}; - template <typename L, typename R> struct nand_ : public value <bool, (L::b && !R::b)> {}; - template <typename L, typename R> struct xor_ : public value <bool, ((L::b && !R::b) || (!L::b && R::b))> {}; + template <typename L, typename R> struct and_ : public value <bool, (L::b && R::b) > {}; + template <typename L, typename R> struct nand_ : public value <bool, (!(L::b && R::b))> {}; + template <typename L, typename R> struct or_ : public value <bool, (L::b || R::b) > {}; + template <typename L, typename R> struct nor_ : public value <bool, (!(L::b || R::b))> {}; + template <typename L, typename R> struct xor_ : public value <bool, (L::b != R::b) > {}; + template <typename L, typename R> struct xnor_ : public value <bool, (!(L::b != R::b))> {}; } // end of namespace mlc