URL:
https://svn.lrde.epita.fr/svn/oln/trunk/milena
ChangeLog:
2007-10-05 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
Add scalar() to "scalarise" values.
* mln/metal/vec.hh: Add equiv and enc typedef.
* mln/value/concept/floating.hh,
* mln/value/concept/integer.hh,
* mln/value/concept/scalar.hh,
* mln/value/concept/structured.hh,
* mln/value/concept/symbolic.hh,
* mln/value/concept/vectorial.hh: Fix include order.
* mln/value/rgb.hh: Fix enc typedef.
---
metal/vec.hh | 3 +++
value/concept/floating.hh | 6 +++---
value/concept/integer.hh | 6 +++---
value/concept/scalar.hh | 9 ++++-----
value/concept/structured.hh | 9 ++++-----
value/concept/symbolic.hh | 9 ++++-----
value/concept/vectorial.hh | 9 ++++-----
value/rgb.hh | 2 +-
8 files changed, 26 insertions(+), 27 deletions(-)
Index: trunk/milena/mln/metal/vec.hh
===================================================================
--- trunk/milena/mln/metal/vec.hh (revision 1255)
+++ trunk/milena/mln/metal/vec.hh (revision 1256)
@@ -130,6 +130,9 @@
public:
+ typedef T equiv[n];
+ typedef T enc[n];
+
typedef T value_type;
enum { dim = n };
Index: trunk/milena/mln/value/concept/symbolic.hh
===================================================================
--- trunk/milena/mln/value/concept/symbolic.hh (revision 1255)
+++ trunk/milena/mln/value/concept/symbolic.hh (revision 1256)
@@ -25,16 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_VALUE_SYMBOLIC_HH
-# define MLN_VALUE_SYMBOLIC_HH
+#ifndef MLN_VALUE_CONCEPT_VALUE_SYMBOLIC_HH
+# define MLN_VALUE_CONCEPT_VALUE_SYMBOLIC_HH
/*! \file mln/value/symbolic.hh
*
* \brief Define a generic class for symbolic values.
*/
-# include <mln/core/concept/value.hh>
-
namespace mln
{
@@ -70,5 +68,6 @@
} // end of namespace mln
+# include <mln/core/concept/value.hh>
-#endif // ! MLN_VALUE_SYMBOLIC_HH
+#endif // ! MLN_VALUE_CONCEPT_VALUE_SYMBOLIC_HH
Index: trunk/milena/mln/value/concept/floating.hh
===================================================================
--- trunk/milena/mln/value/concept/floating.hh (revision 1255)
+++ trunk/milena/mln/value/concept/floating.hh (revision 1256)
@@ -25,8 +25,8 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_VALUE_FLOATING_HH
-# define MLN_VALUE_FLOATING_HH
+#ifndef MLN_VALUE_CONCEPT_VALUE_FLOATING_HH
+# define MLN_VALUE_CONCEPT_VALUE_FLOATING_HH
/*! \file mln/value/floating.hh
*
@@ -66,4 +66,4 @@
} // end of namespace mln
-#endif // ! MLN_VALUE_FLOATING_HH
+#endif // ! MLN_VALUE_CONCEPT_VALUE_FLOATING_HH
Index: trunk/milena/mln/value/concept/structured.hh
===================================================================
--- trunk/milena/mln/value/concept/structured.hh (revision 1255)
+++ trunk/milena/mln/value/concept/structured.hh (revision 1256)
@@ -25,16 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_VALUE_STRUCTURED_HH
-# define MLN_VALUE_STRUCTURED_HH
+#ifndef MLN_VALUE_CONCEPT_VALUE_STRUCTURED_HH
+# define MLN_VALUE_CONCEPT_VALUE_STRUCTURED_HH
/*! \file mln/value/structured.hh
*
* \brief Define a generic class for structured values.
*/
-# include <mln/core/concept/value.hh>
-
namespace mln
{
@@ -69,5 +67,6 @@
} // end of namespace mln
+# include <mln/core/concept/value.hh>
-#endif // ! MLN_VALUE_STRUCTURED_HH
+#endif // ! MLN_VALUE_CONCEPT_VALUE_STRUCTURED_HH
Index: trunk/milena/mln/value/concept/scalar.hh
===================================================================
--- trunk/milena/mln/value/concept/scalar.hh (revision 1255)
+++ trunk/milena/mln/value/concept/scalar.hh (revision 1256)
@@ -25,16 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_VALUE_SCALAR_HH
-# define MLN_VALUE_SCALAR_HH
+#ifndef MLN_VALUE_CONCEPT_VALUE_SCALAR_HH
+# define MLN_VALUE_CONCEPT_VALUE_SCALAR_HH
/*! \file mln/value/scalar.hh
*
* \brief Define a generic class for scalar values.
*/
-# include <mln/core/concept/value.hh>
-
namespace mln
{
@@ -68,5 +66,6 @@
} // end of namespace mln
+# include <mln/core/concept/value.hh>
-#endif // ! MLN_VALUE_SCALAR_HH
+#endif // ! MLN_VALUE_CONCEPT_VALUE_SCALAR_HH
Index: trunk/milena/mln/value/concept/vectorial.hh
===================================================================
--- trunk/milena/mln/value/concept/vectorial.hh (revision 1255)
+++ trunk/milena/mln/value/concept/vectorial.hh (revision 1256)
@@ -25,16 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_VALUE_VECTORIEL_HH
-# define MLN_VALUE_VECTORIEL_HH
+#ifndef MLN_VALUE_CONCEPT_VALUE_VECTORIEL_HH
+# define MLN_VALUE_CONCEPT_VALUE_VECTORIEL_HH
/*! \file mln/value/vectorial.hh
*
* \brief Define a generic class for vectorial values.
*/
-# include <mln/core/concept/value.hh>
-
namespace mln
{
@@ -70,5 +68,6 @@
} // end of namespace mln
+# include <mln/core/concept/value.hh>
-#endif // ! MLN_VALUE_VECTORIEL_HH
+#endif // ! MLN_VALUE_CONCEPT_VALUE_VECTORIEL_HH
Index: trunk/milena/mln/value/concept/integer.hh
===================================================================
--- trunk/milena/mln/value/concept/integer.hh (revision 1255)
+++ trunk/milena/mln/value/concept/integer.hh (revision 1256)
@@ -25,8 +25,8 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_VALUE_INTEGER_HH
-# define MLN_VALUE_INTEGER_HH
+#ifndef MLN_VALUE_CONCEPT_VALUE_INTEGER_HH
+# define MLN_VALUE_CONCEPT_VALUE_INTEGER_HH
/*! \file mln/value/integer.hh
*
@@ -65,4 +65,4 @@
} // end of namespace mln
-#endif // ! MLN_VALUE_INTEGER_HH
+#endif // ! MLN_VALUE_CONCEPT_VALUE_INTEGER_HH
Index: trunk/milena/mln/value/rgb.hh
===================================================================
--- trunk/milena/mln/value/rgb.hh (revision 1255)
+++ trunk/milena/mln/value/rgb.hh (revision 1256)
@@ -59,7 +59,7 @@
public:
/// Encoding associated type.
- typedef int_u<n> enc;
+ typedef int_u<n> enc[3];
/// Equivalent associated type.
typedef int_u<n> equiv[3];