1. 25 Sep, 2006 1 commit
    • Thierry Geraud's avatar
      2006-09-25 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · a5e25b0e
      Thierry Geraud authored
      	Update image_extension, add_neighborhood, and some related
      	classes.
      	
      	* oln/automatic/image.hh: New.
      	* oln/core/abstract/image.hh: Include oln/automatic/image.hh.
      	Inherit from automatic::impl.
      	(has): Add FIXME.
      	* oln/core/abstract/image_having_neighborhood.hh (neighborhood):
      	Change so that it relies on topo().  impl_neighborhood() is now
      	obsolete in image classes.
      	* oln/core/2d/aliases.hh (topo2d, fwd_piter2d, bkd_piter2d):
      	Update aliases.
      	* oln/basics2d.hh: Update.
      	* oln/core/2d/image2d.hh (topo2d, fwd_piter2d, bkd_piter2d):
      	Update and make them explicit.
      	(ctor): Add border argument with default.
      	(impl_op_read): Change fake code.
      	* oln/core/2d/neighb2d.hh: Cosmetics.
      	* oln/core/gen/bbox.hh: Include files for piter types.
      	* oln/morpher/internal/image_extension.hh (morpher_type): New.
      	This class thus factors this definition.
      	(impl_topo, impl_op_read, impl_has): Remove.  These methods
      	are expected to be automatically fetch from top implementation
      	classes.
      	(self_t, image_t, topo_t, value_t, point_t): Remove cause obsolete.
      	* oln/morpher/add_neighborhood.hh (add_neighborhood): Add second
      	parameter Neighb.
      	(include, set_super_type): Update.
      	(neighborhood_type): Change.
      	(ctor): Update.
      	(impl_neighborhood): Remove.
      	(impl_topo): New.
      	(nbh_): Remove.
      	(topo_): New.
      	* tests/add_neighborhood_morpher.cc: Update.
      	* tests/morphers.cc: Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@565 4aad255d-cdde-0310-9447-f3009e2ae8c0
      a5e25b0e
  2. 20 Sep, 2006 1 commit
  3. 18 Sep, 2006 1 commit
    • Thierry Geraud's avatar
      2006-09-18 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · a58172d2
      Thierry Geraud authored
      	Rename point set related classes.
      	
      	* oln/core/pset_entry.hh: Update and rename as...
      	* oln/core/point_set_entry.hh: ...this.
      	* oln/core/abstract/pset_fixed.hh: Update and rename as...
      	* oln/core/abstract/point_set_having_known_size.hh: ...this.
      	* oln/core/abstract/pset_ra.hh: Update and rename as...
      	* oln/core/abstract/point_set_being_random_accessible.hh: ...this.
      	* oln/core/abstract/pset_bboxed.hh: Update and rename as...
      	* oln/core/abstract/point_set_having_bbox.hh: ...this.
      	* oln/core/abstract/pset.hh: Update and rename as...
      	* oln/core/abstract/point_set.hh: ...this.
      	* oln/core/abstract/pset_hierarchies.hh: Update and rename as...
      	* oln/core/abstract/point_set_hierarchies.hh: ...this.
      	* oln/core/abstract/pset_cnx.hh: Update and rename as...
      	* oln/core/abstract/point_set_being_connected.hh: ...this.
      	* oln/core/abstract/piter.hh: Update and rename as...
      	* oln/core/abstract/iterator_on_points.hh: ...this.
      	* oln/core/abstract/iter.hh: Update and rename as...
      	* oln/core/abstract/iterator.hh: ...this.
      	* oln/core/typedefs.hh
      	(fixed_type, ra_type, cnx_type): Rename as...
      	(has_known_size_type, is_random_accessible_type): ...these and...
      	(is_connected_type): ....this.
      	* oln/core/abstract/bbox.hh: Update.
      	* oln/core/gen/fwd_piter.hh: Update.
      	* oln/core/gen/bkd_piter.hh: Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@549 4aad255d-cdde-0310-9447-f3009e2ae8c0
      a58172d2
  4. 01 Sep, 2006 2 commits
    • Thierry Geraud's avatar
      2006-09-01 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 0b71ec5a
      Thierry Geraud authored
      	* oln/core/abstract/piter.hh (to_point): New.
      	* oln/core/abstract/bbox.hh (pmin, pmax): New overloaded methods.
      	(is_valid, print, operator<<): New.
      	* oln/core/abstract/iter.hh (iter): Change inheritance from
      	any__simple to any__best_memory to fix trouble with multiple
      	inheritance.
      	(ctor): Remove dangerous call to invalidate.
      	* oln/core/abstract/point_nd.hh (operator<<): New.
      	(impl_less): Update.
      	* oln/core/abstract/pset.hh (coord_type): New.
      	* oln/core/2d/point2d.hh (coord_t): Move to public so that this
      	associated type is directly accessible from...
      	* oln/core/gen/bbox.hh (vtypes): ...this set of types.
      	* oln/core/gen/fwd_piter.hh (psup_): Remove.
      	(bbox): New accessor.
      	(impl_next): Rewrite.
      	(print, operator<<): New.
      	(invariant): Strengthen.
      	* oln/core/gen/bkd_piter.hh: Likewise.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@516 4aad255d-cdde-0310-9447-f3009e2ae8c0
      0b71ec5a
    • Thierry Geraud's avatar
      2006-09-01 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 677bbd2d
      Thierry Geraud authored
      	Add bboxes and iterators.
      	
      	* oln/core/abstract/piter.hh: New.
      	* oln/core/abstract/bbox.hh: New.
      	* oln/core/abstract/iter.hh: New.
      	* oln/core/abstract/pset.hh: New.
      	* oln/core/2d/aliases.hh: New.
      	* oln/core/gen/fwd_piter.hh: New.
      	* oln/core/gen/bkd_piter.hh: New.
      	* oln/core/gen/bbox.hh: New.
      	* oln/core/2d/point2d.hh (point2d_): New ctor.
      	(point2d, dpoint2d, point2df, dpoint2df): Move typedefs to...
      	* oln/basics2d.hh: ...this new file.
      	* oln/core/typedefs.hh (oln_type_of_): New macro.
      	(include): Update.
      	(fwd_piter_type, bkd_piter_type): New decls.
      	* oln/core/abstract/point.hh (include): Update.
      	(vtypes_): New specialization.
      	* oln/core/abstract/dpoint.hh: Likewise.
      	* oln/core/abstract/point_nd.hh (include): Update.
      	(set_super_type): New specialization.
      	* oln/core/abstract/dpoint_nd.hh: Likewise.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@513 4aad255d-cdde-0310-9447-f3009e2ae8c0
      677bbd2d
  5. 31 Aug, 2006 1 commit
    • Thierry Geraud's avatar
      2006-08-31 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 65f043b1
      Thierry Geraud authored
      	Add dpoint, oln traits, and operators on point/dpoint.
      	
      	* oln/core/type.hh: New.
      	* oln/core/traits_id.hh: New.
      	* oln/core/abstract/dpoint.hh: New.
      	* oln/core/abstract/dpoint_nd.hh: New.
      	* oln/core/traits.hh: New.
      	* oln/core/2d/dpoint2d.hh: New.
      	* oln/core/abstract/point.hh (point): Add inheritance to
      	oln::type.
      	(operators): New.
      	* oln/core/abstract/point_nd.hh (point_): New meta-function.
      	(impl_eq): Rename as...
      	(impl_equal): ...this.
      	(coord): Rename as...
      	(coord_t): ...this.
      	(impl_less): New.
      	(impl_plus_equal, impl_plus): New.
      	(impl_minus_equal, impl_minus, impl_minus): New.
      	(vec): New.
      	(case_): New specializations.
      	(point_nd): New ctor.
      	* oln/core/2d/point2d.hh: Update forward declarations.
      	(point_, dpoint_): New specializations.
      	(point2d): New ctor.
      	(coord): Rename as...
      	(coord_t): ...this.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@511 4aad255d-cdde-0310-9447-f3009e2ae8c0
      65f043b1
  6. 30 Aug, 2006 1 commit
  7. 21 Apr, 2006 1 commit
    • Roland Levillain's avatar
      Fix copyright notices. · bab301fd
      Roland Levillain authored
      	* extended/xtd/res.hh,
      	* extended/xtd/math.hh,
      	* extended/xtd/cast.hh,
      	* extended/xtd/cfun.hh,
      	* extended/xtd/mexpr.hh,
      	* extended/xtd/math/log.hh,
      	* extended/xtd/math/floor.hh,
      	* extended/xtd/math/tan.hh,
      	* extended/xtd/math/log10.hh,
      	* extended/xtd/math/atan.hh,
      	* extended/xtd/math/cos.hh,
      	* extended/xtd/math/acos.hh,
      	* extended/xtd/math/sqrt.hh,
      	* extended/xtd/math/sin.hh,
      	* extended/xtd/math/tanh.hh,
      	* extended/xtd/math/asin.hh,
      	* extended/xtd/math/cosh.hh,
      	* extended/xtd/math/id.hh,
      	* extended/xtd/math/exp.hh,
      	* extended/xtd/math/logic.hh,
      	* extended/xtd/math/sinh.hh,
      	* extended/xtd/math/abs.hh,
      	* extended/xtd/math/pow.hh,
      	* extended/xtd/math/atan2.hh,
      	* extended/xtd/math/includes.hh,
      	* extended/xtd/math/arith.hh,
      	* extended/xtd/math/constraints.hh,
      	* extended/xtd/math/ceil.hh,
      	* extended/xtd/math/cmp.hh,
      	* extended/xtd/literal.hh,
      	* extended/xtd/args.hh,
      	* extended/xtd/mfun.hh,
      	* extended/xtd/abstract/nary_fun.hh,
      	* extended/xtd/abstract/open_nary_fun.hh,
      	* extended/xtd/abstract/plain_nary_fun.hh,
      	* extended/xtd/abstract/fun_expr.hh,
      	* extended/xtd/abstract/meta_nary_fun.hh,
      	* extended/xtd/abstract/fun.hh,
      	* extended/xtd/abstract/open_fun.hh,
      	* extended/xtd/abstract/plain_fun.hh,
      	* extended/xtd/abstract/meta_fun.hh,
      	* extended/xtd/abstract/fun_nary_expr.hh,
      	* extended/xtd/optraits.hh,
      	* extended/xtd/traits.hh,
      	* extended/xtd/builtin/traits.hh,
      	* extended/xtd/arg.hh,
      	* extended/xtd/bind.hh,
      	* extended/xtd/internal/opmacros.hh,
      	* extended/xtd/internal/mlc.hh,
      	* metalic/mlc/elt.hh,
      	* metalic/mlc/ret.hh,
      	* metalic/mlc/int.hh,
      	* metalic/mlc/pair.hh,
      	* metalic/mlc/bool.hh,
      	* metalic/mlc/flags.hh,
      	* metalic/mlc/comma.hh,
      	* metalic/mlc/logic.hh,
      	* metalic/mlc/if.hh,
      	* metalic/mlc/values.hh,
      	* metalic/mlc/typedef.hh,
      	* metalic/mlc/assert.hh,
      	* metalic/mlc/switch.hh,
      	* metalic/mlc/valist.hh,
      	* metalic/mlc/implies.hh,
      	* metalic/mlc/abstract/type.hh,
      	* metalic/mlc/abstract/bexpr.hh,
      	* metalic/mlc/abort.hh,
      	* metalic/mlc/to_string.hh,
      	* metalic/mlc/wrap.hh,
      	* metalic/mlc/is_a.hh,
      	* metalic/mlc/case.hh,
      	* metalic/mlc/value.hh,
      	* metalic/mlc/char.hh,
      	* metalic/mlc/contract.hh,
      	* metalic/mlc/uint.hh,
      	* metalic/mlc/cmp.hh,
      	* metalic/mlc/bexpr.hh,
      	* static/tests/properties.cc,
      	* static/tests/entry.cc,
      	* static/tests/any.cc: Update the FSF postal address.
      
      	* extended/tests/cfun.cc,
      	* extended/tests/id.cc,
      	* extended/tests/bind.cc,
      	* extended/tests/bi_traits/bool.cc,
      	* extended/tests/bi_traits/char.cc,
      	* extended/tests/bi_traits/sint.cc,
      	* extended/tests/bi_traits/uint.cc,
      	* extended/tests/bi_traits/schar.cc,
      	* extended/tests/bi_traits/slong.cc,
      	* extended/tests/bi_traits/sshort.cc,
      	* extended/tests/bi_traits/uchar.cc,
      	* extended/tests/bi_traits/ushort.cc,
      	* extended/tests/bi_traits/ulong.cc,
      	* extended/tests/bi_traits/float.cc,
      	* extended/tests/bi_traits/ldouble.cc,
      	* extended/tests/bi_traits/double.cc,
      	* extended/tests/cos.cc,
      	* extended/tests/abs.cc,
      	* extended/tests/optraits.cc,
      	* extended/tests/lit.cc,
      	* extended/tests/math.cc,
      	* extended/tests/cast.cc,
      	* metalic/tests/is_a.cc,
      	* metalic/tests/case.cc,
      	* metalic/tests/if.cc,
      	* metalic/tests/typedef.cc,
      	* metalic/tests/or.cc,
      	* metalic/tests/switch.cc,
      	* metalic/tests/gcase.cc,
      	* metalic/tests/protected.cc,
      	* metalic/tests/ret.cc,
      	* static/stc/entry.hh,
      	* static/stc/any.hh,
      	* static/stc/properties.hh: Add missing copyright notices.
      
      	* olena/oln/core/typedefs.hh,
      	* olena/oln/core/abstract/image.hh,
      	* olena/oln/core/abstract/image_entry.hh,
      	* olena/oln/core/abstract/macros.hh,
      	* olena/oln/core/abstract/image_dimension.hh,
      	* olena/oln/core/abstract/any.hh,
      	* olena/oln/core/abstract/internal/image_impl.hh: .
      	* olena/tests/image_entry.cc: Fix the FSF postal address.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@465 4aad255d-cdde-0310-9447-f3009e2ae8c0
      bab301fd
  8. 25 Mar, 2006 1 commit
    • Thierry Geraud's avatar
      Separate xtd function expressions from meta functions. . · 78661f06
      Thierry Geraud authored
      The design has changed: now an nary_fun_expr is not a subclass of
      meta_nary_fun.  Both fun_nary_expr and meta_nary_fun inherit from
      open_nary_fun, which contains the shared part of nary_fun_expr
      and meta_nary_fun.  Precisely, it provides the operator() that accepts
      different input: values or function expressions.
      
      - xtd/res.hh: Update.
      - xtd/cast.hh: Update.
      - xtd/math/trigo.hh: Update.
      - xtd/math/arith.hh: Update.
      - xtd/math/id.hh: Update.
      - xtd/mexpr.hh: Update.
      - xtd/args.hh: Update.
      - xtd/literal.hh: Update.
      - xtd/ops_expr.hh: Update.
      - xtd/abstract/open_nary_fun.hh: New.
      - xtd/abstract/plain_nary_fun.hh: New.
      - xtd/abstract/fun_expr.hh: Update.
      - xtd/abstract/meta_nary_fun.hh: New.
      - xtd/abstract/fun.hh: Update.
      - xtd/abstract/open_fun.hh: New.
      - xtd/abstract/plain_fun.hh: Update.
      - xtd/abstract/meta_fun.hh: Update.
      - xtd/abstract/fun_nary_expr.hh: New.
      - xtd/mfun.hh: Update.
      - xtd/TODO: New.
      - xtd/arg.hh: Update.
      - xtd/case.hh: Remove.
      - xtd/bind.hh: New.
      - xtd/internal: New.
      - xtd/internal/mlc.hh: New.
      - tests/id.cc: Update.
      - tests/bind.cc: Update.
      - tests/lit.cc: Update.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@442 4aad255d-cdde-0310-9447-f3009e2ae8c0
      78661f06
  9. 24 Mar, 2006 1 commit
    • Thierry Geraud's avatar
      Add material for literals, binding arguments, and static checks. · e0e8db22
      Thierry Geraud authored
      - xtd/res.hh (xtd_res_0_ et al.): New; versions without typename.
      (xtd_internal_res_0, internal::get_res_0_unchecked): New; this
      equipment is for use in hierarchies to avoid partial definitions.
      - xtd/mexpr.hh: Add static assertions.
      - xtd/literal.hh (literal_): Rename as...
      (plain_literal_): ...this.
      (meta_literal_): New class.
      (literal_expr_): Add static assertions.
      (lit): New routine.
      (bind_1, bind_2, bind_3): New; method implementation for
      nary_fun_expr_<n, E>::bind_i. 
      - xtd/arg.hh (xtd_nargs): Remove this duplicate.
      - xtd/args.hh (xtd_nargs, nargs_): Move to...
      - xtd/abstract/fun_expr.hh: ...this file.
      (fun_expr_<E>::nargs): Remove; xtd_nargs does it.
      (xtd_res_0): Replace by...
      (xtd_internal_res_0): ...this.
      (bind_1, bind_2, bind_3): New methods.
      - xtd/abstract/exact.hh: Remove; the routine exact_of has moved...
      - xtd/abstract/fun.hh: ...here.
      - xtd/abstract/plain_fun.hh (operator()): Add static check.
      - xtd/abstract/meta_fun.hh: Add static checks.
      - tests/id.cc: Add xfail tests.
      - tests/bind.cc: New.
      - tests/lit.cc: New.
      - tests/Makefile.am: Update.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@440 4aad255d-cdde-0310-9447-f3009e2ae8c0
      e0e8db22
  10. 22 Mar, 2006 1 commit
    • Thierry Geraud's avatar
      First draft of extended functions. · de320d4b
      Thierry Geraud authored
      - xtd/math.hh: New file.
      - xtd/res.hh: New file.
      - xtd/cast.hh: New file.
      - xtd/math: New file.
      - xtd/math/trigo.hh: New file.
      - xtd/math/arith.hh: New file.
      - xtd/math/id.hh: New file.
      - xtd/mexpr.hh: New file.
      - xtd/args.hh: New file.
      - xtd/literal.hh: New file.
      - xtd/ops_expr.hh: New file.
      - xtd/abstract: New file.
      - xtd/abstract/nary_fun.hh: New file.
      - xtd/abstract/exact.hh: New file.
      - xtd/abstract/fun_expr.hh: New file.
      - xtd/abstract/any.hh: New file.
      - xtd/abstract/fun.hh: New file.
      - xtd/abstract/plain_fun.hh: New file.
      - xtd/abstract/meta_fun.hh: New file.
      - xtd/mfun.hh: New file.
      - xtd/traits.hh: New file.
      - xtd/builtin: New file.
      - xtd/builtin/traits.hh: New file.
      - xtd/arg.hh: New file.
      - xtd/case.hh: New file.
      - tests/id.cc: New file.
      - tests/cos.cc: New file.
      - tests/cast.cc: New file.
      - tests/Makefile.am: Update.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@434 4aad255d-cdde-0310-9447-f3009e2ae8c0
      de320d4b
  11. 21 Mar, 2006 1 commit
    • Thierry Geraud's avatar
      Disambiguate Boolean value types and Boolean expression types. · b14a413a
      Thierry Geraud authored
      - tests/ret.cc: Update.
      - mlc/ret.hh: Fix missing include.
      
      The Boolean value classes are re-written and internal::value_ is
      removed; this class was too ambiguous since precise types, e.g.,
      int_<i>, are provided and it was weirdly located in the value class
      hierarchy.
      
      - mlc/bool.hh (bool_<true>, bool_<false>): Merge those
      specializations into the single and once for all written class
      bool_<b>.
      (bool_<true>::is_true): Remove since this mark is now factored
      in the base class bexpr_is_<b>.
      (bool_<b>): Add inheritance so that a Boolean value can be
      considered as a Boolean expression type.
      (internal::value_<bool, b>): Remove this specialization since
      the class internal::value_ is also removed.
      (logic.hh): Remove inclusion.
      (mlc_bool): Move to...
      
      The Boolean expression types are now handled by special classes.
      Yet mlc::true_ and mlc::false_ remain expression types in addition
      of value types.
      
      - mlc/bexpr.hh: ...this file.  This macro only applies on Boolean
      expression types.
      (bexpr_): Remove this obsolete wrapper.
      (bexpr_is_<b>): New base class with its couple of specializations
      which act as a replacement for bool_<b> for expression types.
      (internal::bool_of_): Replace the meta-code for mlc_bool.
      
      Those changes induce a lot of updates described below.
      
      - mlc/pair.hh: Update includes.
      - mlc/logic.hh: Update.  Instead of deriving from bool_<b>
      Boolean expression types now derive from bexpr_is_<b>.
      (and_list_, or_list_): Comment to postpone updating while keeping
      code compile.
      - mlc/implies.hh: Update inheritance.
      - mlc/if.hh: Update includes and add assertion.
      - mlc/assert.hh: Update includes.
      - mlc/valist.hh: Likewise.
      - mlc/wrap.hh: Remove obsolete code.
      - mlc/is_a.hh: Update inheritance.
      (bexpr_): Replace by wrap_.
      - mlc/case.hh: Update.  Now use mlc_bool instead of ::value.
      - mlc/cmp.hh: Update inheritance.
      (eq_::ensure): Remove this obsolete feature.
      - mlc/value.hh: Move sub-classes of value to...
      - mlc/int.hh, mlc/char.hh: ...these new files.
      - mlc/values.hh: New file that includes the whole value types material.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@429 4aad255d-cdde-0310-9447-f3009e2ae8c0
      b14a413a
  12. 03 Mar, 2006 1 commit
  13. 02 Mar, 2006 1 commit
    • Thierry Geraud's avatar
      Add meta switch-case; disambiguate typedef_. · 55d35dcf
      Thierry Geraud authored
      	"typedef exists but its value is not_found" and "typedef is
      	not found because it does not exist".
      
      - tests/case.cc: New file.
      - tests/switch.cc (where_): Precise name.
      - tests/ret.cc: New file.
      - mlc/bool.hh (assert): Remove is_true to avoid cryptic error
      message such as "is_true" inaccessible.
      - mlc/flags.hh (found): New class.
      - mlc/typedef.hh (result2): New inner class to disambiguate between
      "typedef is found but its value is not_found" and "typedef is not
      found".
      (mlc_ret, mlc_decl_typedef(ret)): Move to...
      - mlc/ret.hh: ...this new file.
      - mlc/switch.hh: Change that makes this file soon obsolete.
      - mlc/case.hh: New file.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@415 4aad255d-cdde-0310-9447-f3009e2ae8c0
      55d35dcf
  14. 17 Feb, 2006 2 commits