2005-04-08 Thierry GERAUD <theo(a)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