diff options
author | Arnur Nigmetov <a.nigmetov@gmail.com> | 2016-09-05 13:32:05 +0200 |
---|---|---|
committer | Arnur Nigmetov <a.nigmetov@gmail.com> | 2016-09-05 13:32:05 +0200 |
commit | 7b850b8ee43fb7f8a0b2a1565ed01102d40b0a14 (patch) | |
tree | 171852c6acd2c8be4390c53a52debf70ca4930b3 /geom_bottleneck/bottleneck/include/basic_defs_bt.h | |
parent | d1cf630f193cff61c83999600550634032ed1739 (diff) |
Technical changes for R integration
Avoid including iostream (R complains about that). All output protected by
preprocessor directive (R checker should not see an instance of std::cout << in
your code). Also added getWassersteinCost to be in line with the Dionysus
implementation used in TDA.
Diffstat (limited to 'geom_bottleneck/bottleneck/include/basic_defs_bt.h')
-rw-r--r-- | geom_bottleneck/bottleneck/include/basic_defs_bt.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/geom_bottleneck/bottleneck/include/basic_defs_bt.h b/geom_bottleneck/bottleneck/include/basic_defs_bt.h index 5334b6d..759f18e 100644 --- a/geom_bottleneck/bottleneck/include/basic_defs_bt.h +++ b/geom_bottleneck/bottleneck/include/basic_defs_bt.h @@ -27,16 +27,20 @@ #endif #include <vector> +#include <stdexcept> #include <math.h> #include <cstddef> #include <unordered_map> #include <unordered_set> -#include <iostream> #include <string> #include <assert.h> #include "def_debug_bt.h" +#ifndef FOR_R_TDA +#include <iostream> +#endif + namespace geom_bt { @@ -50,7 +54,9 @@ struct Point { bool operator!=(const Point& other) const; Point(CoordinateType ax, CoordinateType ay) : x(ax), y(ay) {} Point() : x(0.0), y(0.0) {} +#ifndef FOR_R_TDA friend std::ostream& operator<<(std::ostream& output, const Point p); +#endif }; struct DiagramPoint @@ -90,7 +96,9 @@ public: //return 0.5 * ( x + y); } +#ifndef FOR_R_TDA friend std::ostream& operator<<(std::ostream& output, const DiagramPoint p); +#endif }; struct PointHash { @@ -130,7 +138,9 @@ public: std::unordered_set<DiagramPoint, DiagramPointHash>::iterator end() { return points.end(); } std::unordered_set<DiagramPoint, DiagramPointHash>::const_iterator cbegin() const { return points.cbegin(); } std::unordered_set<DiagramPoint, DiagramPointHash>::const_iterator cend() const { return points.cend(); } +#ifndef FOR_R_TDA friend std::ostream& operator<<(std::ostream& output, const DiagramPointSet& ps); +#endif friend void addProjections(DiagramPointSet& A, DiagramPointSet& B); template<class PairIterator> DiagramPointSet(PairIterator first, PairIterator last); template<class PairIterator> void fillIn(PairIterator first, PairIterator last); |