
Module: ppl/ppl Branch: pip Commit: 75201b577f6d81692fe9de909a5b055a126299c6 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=75201b577f6d8...
Author: François Galea francois.galea@uvsq.fr Date: Tue Nov 3 09:53:10 2009 +0100
Implemented the art_parameter_count method; updated the C interface.
---
interfaces/C/ppl_c_header.h | 9 +++++++++ interfaces/C/ppl_c_implementation_common.cc | 9 +++++++++ src/PIP_Tree.defs.hh | 3 +++ src/PIP_Tree.inlines.hh | 5 +++++ 4 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/interfaces/C/ppl_c_header.h b/interfaces/C/ppl_c_header.h index 6913c87..b69093e 100644 --- a/interfaces/C/ppl_c_header.h +++ b/interfaces/C/ppl_c_header.h @@ -2836,6 +2836,15 @@ int ppl_PIP_Tree_Node_OK PPL_PROTO((ppl_const_PIP_Tree_Node_t pip));
/*! \relates ppl_PIP_Tree_Node_tag \brief + Writes to \p m the number of elements in the artificial parameter sequence + in the pip tree node \p pip_tree. +*/ +int +ppl_PIP_Tree_Node_number_of_artificials +PPL_PROTO((ppl_const_PIP_Tree_Node_t pip_tree, + ppl_dimension_type* m)); + +/*! \relates ppl_PIP_Tree_Node_tag \brief Assigns to \p pit a const iterator "pointing" to the beginning of the artificial parameter sequence in the pip tree node \p pip_tree. */ diff --git a/interfaces/C/ppl_c_implementation_common.cc b/interfaces/C/ppl_c_implementation_common.cc index 810f291..3eb44f7 100644 --- a/interfaces/C/ppl_c_implementation_common.cc +++ b/interfaces/C/ppl_c_implementation_common.cc @@ -2299,6 +2299,15 @@ ppl_PIP_Tree_Node_OK(ppl_const_PIP_Tree_Node_t pip_tree) try { CATCH_ALL
int +ppl_PIP_Tree_Node_number_of_artificials(ppl_const_PIP_Tree_Node_t pip_tree, + ppl_dimension_type* m) try { + const PIP_Tree_Node& node = *to_const(pip_tree); + *m = node.art_parameter_count(); + return 0; +} +CATCH_ALL + +int ppl_PIP_Tree_Node_begin (ppl_const_PIP_Tree_Node_t pip_tree, ppl_Artificial_Parameter_Sequence_const_iterator_t pit) try { diff --git a/src/PIP_Tree.defs.hh b/src/PIP_Tree.defs.hh index 40400ac..c9d3d1d 100644 --- a/src/PIP_Tree.defs.hh +++ b/src/PIP_Tree.defs.hh @@ -101,6 +101,9 @@ public: //! Returns a const_iterator to the end of local artificial parameters. Artificial_Parameter_Sequence::const_iterator art_parameter_end() const;
+ //! Returns the number of local artificial parameters. + dimension_type art_parameter_count() const; + /*! \brief Inserts in parameter set \p params the parameter indices corresponding to local artificials. diff --git a/src/PIP_Tree.inlines.hh b/src/PIP_Tree.inlines.hh index 88fdd5d..8901588 100644 --- a/src/PIP_Tree.inlines.hh +++ b/src/PIP_Tree.inlines.hh @@ -82,6 +82,11 @@ PIP_Tree_Node::art_parameter_end() const { return artificial_parameters.end(); }
+inline dimension_type +PIP_Tree_Node::art_parameter_count() const { + return artificial_parameters.size(); +} + inline const PIP_Tree_Node* PIP_Decision_Node::child_node(bool v) const {