Closed Sandy4321 closed 5 years ago
error message is
Microsoft Windows [Version 10.0.17763.379]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>pip install scikit-tda
Collecting scikit-tda
Using cached https://files.pythonhosted.org/packages/e2/67/14676df9d3c8fae3324f6a73e60e9b705c1dfea8131e275a313ab90bd09d/scikit_tda-0.0.3-py3-none-any.whl
Requirement already satisfied: Cython in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (0.27.3)
Requirement already satisfied: pillow in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (5.0.0)
Requirement already satisfied: persim in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (0.0.8)
Requirement already satisfied: numpy in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (1.14.2)
Collecting tadasets (from scikit-tda)
Using cached https://files.pythonhosted.org/packages/5b/06/d1b9edccfcd071b245b0d1ab4b22eb2ff7aaeaa6d015db58d701d9782122/tadasets-0.0.4-py3-none-any.whl
Collecting kmapper (from scikit-tda)
Using cached https://files.pythonhosted.org/packages/fb/3f/a1290b9425a7e0ff4ae51a6e6ff68e50ad793b3460f435c2ec81c0383751/kmapper-1.2.0-py3-none-any.whl
Requirement already satisfied: matplotlib in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (2.2.2)
Requirement already satisfied: scipy in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (1.0.0)
Requirement already satisfied: scikit-learn in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (0.19.1)
Collecting ripser (from scikit-tda)
Using cached https://files.pythonhosted.org/packages/8c/52/ca457da871708a169a0042d955f31f55caa060d1846f3de72b538724ef50/ripser-0.3.2.tar.gz
Collecting umap-learn (from scikit-tda)
Requirement already satisfied: numba in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (0.42.0)
Requirement already satisfied: hopcroftkarp in c:\users\sndr\anaconda3\lib\site-packages (from persim->scikit-tda) (1.2.4)
Requirement already satisfied: Jinja2 in c:\users\sndr\anaconda3\lib\site-packages (from kmapper->scikit-tda) (2.10)
Requirement already satisfied: cycler>=0.10 in c:\users\sndr\anaconda3\lib\site-packages (from matplotlib->scikit-tda) (0.10.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in c:\users\sndr\anaconda3\lib\site-packages (from matplotlib->scikit-tda) (2.2.0)
Requirement already satisfied: python-dateutil>=2.1 in c:\users\sndr\anaconda3\lib\site-packages (from matplotlib->scikit-tda) (2.6.1)
Requirement already satisfied: pytz in c:\users\sndr\anaconda3\lib\site-packages (from matplotlib->scikit-tda) (2018.3)
Requirement already satisfied: six>=1.10 in c:\users\sndr\anaconda3\lib\site-packages (from matplotlib->scikit-tda) (1.11.0)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\sndr\anaconda3\lib\site-packages (from matplotlib->scikit-tda) (1.0.1)
Requirement already satisfied: llvmlite>=0.27.0dev0 in c:\users\sndr\anaconda3\lib\site-packages (from numba->scikit-tda) (0.27.0)
Requirement already satisfied: MarkupSafe>=0.23 in c:\users\sndr\anaconda3\lib\site-packages (from Jinja2->kmapper->scikit-tda) (1.0)
Requirement already satisfied: setuptools in c:\users\sndr\anaconda3\lib\site-packages (from kiwisolver>=1.0.1->matplotlib->scikit-tda) (40.8.0)
Building wheels for collected packages: ripser
Building wheel for ripser (setup.py) ... error
Complete output from command C:\Users\sndr\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\sndr\\AppData\\Local\\Temp\\pip-install-qfuv8vfq\\ripser\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\sndr\AppData\Local\Temp\pip-wheel-h8ontev6 --python-tag cp36:
Warning: Extension name 'pyRipser' does not match fully qualified name 'ripser.pyRipser' of 'ripser/pyRipser.pyx'
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-3.6
creating build\lib.win-amd64-3.6\ripser
copying ripser\ripser.py -> build\lib.win-amd64-3.6\ripser
copying ripser\_version.py -> build\lib.win-amd64-3.6\ripser
copying ripser\__init__.py -> build\lib.win-amd64-3.6\ripser
running build_ext
building 'pyRipser' extension
creating build\temp.win-amd64-3.6
creating build\temp.win-amd64-3.6\Release
creating build\temp.win-amd64-3.6\Release\ripser
C:\Users\sndr\Anaconda3\Library\mingw-w64\bin\gcc.exe -mdll -O -Wall -DMS_WIN64 -DUSE_COEFFICIENTS=1 -DNDEBUG=1 -DASSEMBLE_REDUCTION_MATRIX=1 -I.\ripser -IC:\Users\sndr\Anaconda3\include -IC:\Users\sndr\Anaconda3\include -IC:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include -c ripser/pyRipser.cpp -o build\temp.win-amd64-3.6\Release\ripser\pyripser.o -Ofast -D_hypot=hypot
In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/unordered_map:35:0,
from ripser/ripser.cpp:50,
from ripser/pyRipser.cpp:657:
C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support for the \
^
In file included from C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/ndarraytypes.h:1816:0,
from C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/ndarrayobject.h:18,
from C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/arrayobject.h:4,
from ripser/pyRipser.cpp:650:
C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/npy_1_7_deprecated_api.h:13:79: note: #pragma message: C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/npy_1_7_deprecated_api.h(12) : Warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION")
^
In file included from ripser/pyRipser.cpp:657:0:
ripser/ripser.cpp:53:73: error: expected template-name before '<' token
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:53:73: error: expected '{' before '<' token
ripser/ripser.cpp:53:73: error: expected unqualified-id before '<' token
ripser/ripser.cpp:59:33: error: '>>' should be '> >' within a nested template argument list
std::vector<std::vector<index_t>> B;
^
ripser/ripser.cpp: In constructor 'diameter_entry_t::diameter_entry_t(const diameter_index_t&)':
ripser/ripser.cpp:154:43: warning: delegating constructors only available with -std=c++11 or -std=gnu++11
: diameter_entry_t(_diameter_index, 1) {}
^
ripser/ripser.cpp: At global scope:
ripser/ripser.cpp:184:49: error: expected ',' or '...' before '&&' token
compressed_distance_matrix(std::vector<value_t>&& _distances)
^
ripser/ripser.cpp: In constructor 'compressed_distance_matrix<Layout>::compressed_distance_matrix(std::vector<float>)':
ripser/ripser.cpp:185:18: error: 'move' is not a member of 'std'
: distances(std::move(_distances)), rows((1 + std::sqrt(1 + 8 * distances.size())) / 2) {
^
ripser/ripser.cpp:185:28: error: '_distances' was not declared in this scope
: distances(std::move(_distances)), rows((1 + std::sqrt(1 + 8 * distances.size())) / 2) {
^
ripser/ripser.cpp: At global scope:
ripser/ripser.cpp:206:42: error: '>>' should be '> >' within a nested template argument list
std::vector<std::vector<diameter_index_t>> neighbors;
^
ripser/ripser.cpp: In function 'diameter_entry_t pop_pivot(Heap&, coefficient_t)':
ripser/ripser.cpp:327:3: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto pivot = column.top();
^
ripser/ripser.cpp:327:8: error: 'pivot' does not name a type
auto pivot = column.top();
^
ripser/ripser.cpp:339:6: error: 'pivot' was not declared in this scope
pivot = column.top();
^
ripser/ripser.cpp:341:68: error: 'pivot' was not declared in this scope
} while (!column.empty() && get_index(column.top()) == get_index(pivot));
^
ripser/ripser.cpp: At global scope:
ripser/ripser.cpp:458:23: error: expected ',' or '...' before '&&' token
ripser(DistanceMatrix&& _dist, index_t _dim_max, value_t _threshold, float _ratio,
^
ripser/ripser.cpp: In constructor 'ripser<DistanceMatrix>::ripser(DistanceMatrix)':
ripser/ripser.cpp:460:13: error: 'move' is not a member of 'std'
: dist(std::move(_dist)), n(dist.size()),
^
ripser/ripser.cpp:460:23: error: '_dist' was not declared in this scope
: dist(std::move(_dist)), n(dist.size()),
^
ripser/ripser.cpp:461:16: error: '_dim_max' was not declared in this scope
dim_max(_dim_max), threshold(_threshold),
^
ripser/ripser.cpp:461:37: error: '_threshold' was not declared in this scope
dim_max(_dim_max), threshold(_threshold),
^
ripser/ripser.cpp:462:14: error: '_ratio' was not declared in this scope
ratio(_ratio), modulus(_modulus), do_cocycles(_do_cocycles),
^
ripser/ripser.cpp:462:31: error: '_modulus' was not declared in this scope
ratio(_ratio), modulus(_modulus), do_cocycles(_do_cocycles),
^
ripser/ripser.cpp:462:54: error: '_do_cocycles' was not declared in this scope
ratio(_ratio), modulus(_modulus), do_cocycles(_do_cocycles),
^
ripser/ripser.cpp: In member function 'value_t ripser<DistanceMatrix>::compute_diameter(index_t, index_t) const':
ripser/ripser.cpp:508:19: error: 'numeric_limits' is not a member of 'std'
value_t diam = -std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:508:46: error: expected primary-expression before '>' token
value_t diam = -std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:508:47: error: '::infinity' has not been declared
value_t diam = -std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&)':
ripser/ripser.cpp:540:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto e : edges) {
^
ripser/ripser.cpp:540:13: error: 'e' does not name a type
for (auto e : edges) {
^
ripser/ripser.cpp:559:3: error: expected ';' before 'std'
std::reverse(columns_to_reduce.begin(), columns_to_reduce.end());
^
ripser/ripser.cpp:561:3: error: expected primary-expression before 'for'
for (index_t i = 0; i < n; ++i) {
^
ripser/ripser.cpp:561:3: error: expected ')' before 'for'
ripser/ripser.cpp:564:43: error: 'numeric_limits' is not a member of 'std'
births_and_deaths_by_dim[0].push_back(std::numeric_limits<value_t>::infinity());
^
ripser/ripser.cpp:564:70: error: expected primary-expression before '>' token
births_and_deaths_by_dim[0].push_back(std::numeric_limits<value_t>::infinity());
^
ripser/ripser.cpp:564:71: error: '::infinity' has not been declared
births_and_deaths_by_dim[0].push_back(std::numeric_limits<value_t>::infinity());
^
ripser/ripser.cpp: In member function 'diameter_entry_t ripser<DistanceMatrix>::add_coboundary_and_get_pivot(Iterator, Iterator, coefficient_t, Column&, Column&, const index_t&, hash_map<long long int, long long int>&, bool&)':
ripser/ripser.cpp:578:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto it = column_begin; it != column_end; ++it) {
^
ripser/ripser.cpp:578:13: error: 'it' does not name a type
for (auto it = column_begin; it != column_end; ++it) {
^
ripser/ripser.cpp:578:32: error: expected ';' before 'it'
for (auto it = column_begin; it != column_end; ++it) {
^
ripser/ripser.cpp:578:32: error: 'it' was not declared in this scope
ripser/ripser.cpp:593:29: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
if (pivot_column_index.find(get_index(coface)) ==
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:594:29: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
pivot_column_index.end()) {
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:601:9: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto coface : coface_entries) working_coboundary.push(coface);
^
ripser/ripser.cpp:601:14: error: 'coface' does not name a type
for (auto coface : coface_entries) working_coboundary.push(coface);
^
ripser/ripser.cpp:602:3: error: expected ';' before '}' token
}
^
ripser/ripser.cpp:602:3: error: expected primary-expression before '}' token
ripser/ripser.cpp:602:3: error: expected ';' before '}' token
ripser/ripser.cpp:602:3: error: expected primary-expression before '}' token
ripser/ripser.cpp:602:3: error: expected ')' before '}' token
ripser/ripser.cpp:602:3: error: expected primary-expression before '}' token
ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::compute_pairs(std::vector<std::pair<float, long long int> >&, hash_map<long long int, long long int>&, index_t)':
ripser/ripser.cpp:621:4: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto column_to_reduce = columns_to_reduce[index_column_to_reduce];
^
ripser/ripser.cpp:621:9: error: 'column_to_reduce' does not name a type
auto column_to_reduce = columns_to_reduce[index_column_to_reduce];
^
ripser/ripser.cpp:625:74: error: '>>' should be '> >' within a nested template argument list
greater_diameter_or_smaller_index<diameter_entry_t>>
^
ripser/ripser.cpp:630:74: error: '>>' should be '> >' within a nested template argument list
greater_diameter_or_smaller_index<diameter_entry_t>>
^
ripser/ripser.cpp:633:36: error: 'column_to_reduce' was not declared in this scope
value_t diameter = get_diameter(column_to_reduce);
^
ripser/ripser.cpp:656:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto reduction_column_begin = reduction_matrix.cbegin(index_column_to_add),
^
ripser/ripser.cpp:656:10: error: 'reduction_column_begin' does not name a type
auto reduction_column_begin = reduction_matrix.cbegin(index_column_to_add),
^
ripser/ripser.cpp:677:9: error: 'reduction_column_begin' was not declared in this scope
reduction_column_begin, reduction_column_end, factor_column_to_add,
^
ripser/ripser.cpp:677:33: error: 'reduction_column_end' was not declared in this scope
reduction_column_begin, reduction_column_end, factor_column_to_add,
^
ripser/ripser.cpp:684:6: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto pair = pivot_column_index.find(get_index(pivot));
^
ripser/ripser.cpp:684:11: error: 'pair' does not name a type
auto pair = pivot_column_index.find(get_index(pivot));
^
ripser/ripser.cpp:686:10: error: 'pair' was not declared in this scope
if (pair != pivot_column_index.end()) {
^
ripser/ripser.cpp:686:10: note: suggested alternative:
In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_algobase.h:64:0,
from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/char_traits.h:39,
from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/ios:40,
from ripser/pyRipser.cpp:652:
C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_pair.h:96:12: note: 'std::pair'
struct pair
^
In file included from ripser/pyRipser.cpp:657:0:
ripser/ripser.cpp:686:36: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
if (pair != pivot_column_index.end()) {
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:698:9: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto cocycle = working_reduction_column;
^
ripser/ripser.cpp:698:14: error: 'cocycle' does not name a type
auto cocycle = working_reduction_column;
^
ripser/ripser.cpp:702:40: error: 'cocycle' was not declared in this scope
while (get_index(e = get_pivot(cocycle, modulus)) != -1) {
^
ripser/ripser.cpp:716:25: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
pivot_column_index.insert(
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:753:46: error: 'numeric_limits' is not a member of 'std'
births_and_deaths_by_dim[dim].push_back(std::numeric_limits<value_t>::infinity());
^
ripser/ripser.cpp:753:73: error: expected primary-expression before '>' token
births_and_deaths_by_dim[dim].push_back(std::numeric_limits<value_t>::infinity());
^
ripser/ripser.cpp:753:74: error: '::infinity' has not been declared
births_and_deaths_by_dim[dim].push_back(std::numeric_limits<value_t>::infinity());
^
ripser/ripser.cpp:759:7: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto cocycle = working_reduction_column;
^
ripser/ripser.cpp:759:12: error: 'cocycle' does not name a type
auto cocycle = working_reduction_column;
^
ripser/ripser.cpp:763:38: error: 'cocycle' was not declared in this scope
while (get_index(e = get_pivot(cocycle, modulus)) != -1) {
^
ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::compute_barcodes()':
ripser/ripser.cpp:798:23: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
pivot_column_index.reserve(columns_to_reduce.size());
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp: In member function 'diameter_entry_t ripser<compressed_distance_matrix<(compressed_matrix_layout)0u> >::simplex_coboundary_enumerator::next()':
ripser/ripser.cpp:842:20: warning: range-based 'for' loops only available with -std=c++11 or -std=gnu++11
for (index_t w : vertices) coface_diameter = std::max(coface_diameter, dist(v, w));
^
ripser/ripser.cpp: In constructor 'ripser<sparse_distance_matrix>::simplex_coboundary_enumerator::simplex_coboundary_enumerator(diameter_entry_t, index_t, const ripser<sparse_distance_matrix>&)':
ripser/ripser.cpp:879:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto v : vertices) {
^
ripser/ripser.cpp:879:13: error: 'v' does not name a type
for (auto v : vertices) {
^
ripser/ripser.cpp:883:2: error: expected ';' before '}' token
}
^
ripser/ripser.cpp:883:2: error: expected primary-expression before '}' token
ripser/ripser.cpp:883:2: error: expected ';' before '}' token
ripser/ripser.cpp:883:2: error: expected primary-expression before '}' token
ripser/ripser.cpp:883:2: error: expected ')' before '}' token
ripser/ripser.cpp:883:2: error: expected primary-expression before '}' token
ripser/ripser.cpp: In member function 'bool ripser<sparse_distance_matrix>::simplex_coboundary_enumerator::has_next(bool)':
ripser/ripser.cpp:886:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto &it0 = neighbor_it[0], &end0 = neighbor_end[0]; it0 != end0; ++it0) {
^
ripser/ripser.cpp:886:33: error: invalid initialization of reference of type 'int&' from expression of type 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >'
for (auto &it0 = neighbor_it[0], &end0 = neighbor_end[0]; it0 != end0; ++it0) {
^
ripser/ripser.cpp:886:58: error: invalid initialization of reference of type 'int&' from expression of type 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >'
for (auto &it0 = neighbor_it[0], &end0 = neighbor_end[0]; it0 != end0; ++it0) {
^
ripser/ripser.cpp:887:9: error: invalid type argument of unary '*' (have 'int')
x = *it0;
^
ripser/ripser.cpp:889:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &it = neighbor_it[idx], end = neighbor_end[idx];
^
ripser/ripser.cpp:889:31: error: invalid initialization of reference of type 'int&' from expression of type 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >'
auto &it = neighbor_it[idx], end = neighbor_end[idx];
^
ripser/ripser.cpp:889:56: error: cannot convert 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >' to 'int' in initialization
auto &it = neighbor_it[idx], end = neighbor_end[idx];
^
ripser/ripser.cpp:890:23: error: invalid type argument of unary '*' (have 'int')
while (get_index(*it) > get_index(x))
^
ripser/ripser.cpp:892:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto y = *it;
^
ripser/ripser.cpp:892:10: error: 'y' does not name a type
auto y = *it;
^
ripser/ripser.cpp:893:19: error: 'y' was not declared in this scope
if (get_index(y) != get_index(x))
^
ripser/ripser.cpp: In member function 'std::vector<std::pair<float, long long int> > ripser<DistanceMatrix>::get_edges() [with DistanceMatrix = sparse_distance_matrix]':
ripser/ripser.cpp:937:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto n : dist.neighbors[i]) {
^
ripser/ripser.cpp:937:13: error: 'n' does not name a type
for (auto n : dist.neighbors[i]) {
^
ripser/ripser.cpp:941:2: error: expected ';' before 'return'
return edges;
^
ripser/ripser.cpp:941:2: error: expected primary-expression before 'return'
ripser/ripser.cpp:941:2: error: expected ';' before 'return'
ripser/ripser.cpp:941:2: error: expected primary-expression before 'return'
ripser/ripser.cpp:941:2: error: expected ')' before 'return'
ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::assemble_columns_to_reduce(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&, hash_map<long long int, long long int>&, index_t) [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>; index_t = long long int]':
ripser/ripser.cpp:963:25: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
if (pivot_column_index.find(index) == pivot_column_index.end()) {
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:963:59: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
if (pivot_column_index.find(index) == pivot_column_index.end()) {
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::assemble_columns_to_reduce(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&, hash_map<long long int, long long int>&, index_t) [with DistanceMatrix = sparse_distance_matrix; index_t = long long int]':
ripser/ripser.cpp:983:34: warning: range-based 'for' loops only available with -std=c++11 or -std=gnu++11
for (diameter_index_t simplex : simplices) {
^
ripser/ripser.cpp:987:4: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto coface = cofaces.next();
^
ripser/ripser.cpp:987:9: error: 'coface' does not name a type
auto coface = cofaces.next();
^
ripser/ripser.cpp:989:57: error: 'coface' was not declared in this scope
next_simplices.push_back(std::make_pair(get_diameter(coface), get_index(coface)));
^
ripser/ripser.cpp:991:26: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
if (pivot_column_index.find(get_index(coface)) == pivot_column_index.end())
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:991:72: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
if (pivot_column_index.find(get_index(coface)) == pivot_column_index.end())
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp: In function 'ripserResults rips_dm(float*, int, int, int, float, int)':
ripser/ripser.cpp:1006:69: error: 'move' is not a member of 'std'
compressed_lower_distance_matrix(compressed_upper_distance_matrix(std::move(distances)));
^
ripser/ripser.cpp:1009:16: error: 'numeric_limits' is not a member of 'std'
value_t min = std::numeric_limits<value_t>::infinity(),
^
ripser/ripser.cpp:1009:43: error: expected primary-expression before '>' token
value_t min = std::numeric_limits<value_t>::infinity(),
^
ripser/ripser.cpp:1009:44: error: '::infinity' has not been declared
value_t min = std::numeric_limits<value_t>::infinity(),
^
ripser/ripser.cpp:1013:29: error: 'numeric_limits' is not a member of 'std'
value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:1013:56: error: expected primary-expression before '>' token
value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:1013:57: error: '::infinity' has not been declared
value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:1015:18: error: 'numeric_limits' is not a member of 'std'
value_t r_i = -std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:1015:45: error: expected primary-expression before '>' token
value_t r_i = -std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:1015:46: error: '::infinity' has not been declared
value_t r_i = -std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:1020:19: error: 'numeric_limits' is not a member of 'std'
if (threshold == std::numeric_limits<value_t>::max()) threshold = enclosing_radius;
^
ripser/ripser.cpp:1020:46: error: expected primary-expression before '>' token
if (threshold == std::numeric_limits<value_t>::max()) threshold = enclosing_radius;
^
ripser/ripser.cpp:1020:47: error: '::max' has not been declared
if (threshold == std::numeric_limits<value_t>::max()) threshold = enclosing_radius;
^
ripser/ripser.cpp:1020:47: note: suggested alternative:
In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/char_traits.h:39:0,
from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/ios:40,
from ripser/pyRipser.cpp:652:
C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_algobase.h:265:5: note: 'std::max'
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
In file included from ripser/pyRipser.cpp:657:0:
ripser/ripser.cpp:1022:7: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto d : dist.distances) {
^
ripser/ripser.cpp:1022:12: error: 'd' does not name a type
for (auto d : dist.distances) {
^
ripser/ripser.cpp:1029:2: error: expected ';' before 'ripserResults'
ripserResults res;
^
ripser/ripser.cpp:1029:16: error: expected primary-expression before 'res'
ripserResults res;
^
ripser/ripser.cpp:1029:16: error: expected ';' before 'res'
ripser/ripser.cpp:1029:16: error: 'res' was not declared in this scope
ripser/ripser.cpp:1029:19: error: expected ')' before ';' token
ripserResults res;
^
ripser/ripser.cpp:1030:19: error: 'max' was not declared in this scope
if (threshold >= max) {
^
ripser/ripser.cpp:1030:19: note: suggested alternative:
In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/char_traits.h:39:0,
from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/ios:40,
from ripser/pyRipser.cpp:652:
C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_algobase.h:265:5: note: 'std::max'
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
In file included from ripser/pyRipser.cpp:657:0:
ripser/ripser.cpp:1031:46: error: 'move' is not a member of 'std'
ripser<compressed_lower_distance_matrix> r(std::move(dist), dim_max, threshold, ratio,
^
ripser/ripser.cpp:1034:18: error: 'res' was not declared in this scope
r.copy_results(res);
^
ripser/ripser.cpp:1036:59: error: 'move' is not a member of 'std'
ripser<sparse_distance_matrix> r(sparse_distance_matrix(std::move(dist), threshold), dim_max,
^
ripser/ripser.cpp:1039:18: error: 'res' was not declared in this scope
r.copy_results(res);
^
ripser/ripser.cpp:1041:2: error: 'res' was not declared in this scope
res.num_edges = num_edges;
^
ripser/ripser.cpp:1009:10: warning: unused variable 'min' [-Wunused-variable]
value_t min = std::numeric_limits<value_t>::infinity(),
^
ripser/ripser.cpp: In function 'ripserResults rips_dm_sparse(int*, int*, float*, int, int, int, int, float, int)':
ripser/ripser.cpp:1051:57: error: no matching function for call to 'ripser<sparse_distance_matrix>::ripser(sparse_distance_matrix, int&, float&, float&, int&, int&)'
dim_max, threshold, ratio, modulus, do_cocycles);
^
ripser/ripser.cpp:458:2: note: candidate: ripser<DistanceMatrix>::ripser(DistanceMatrix) [with DistanceMatrix = sparse_distance_matrix]
ripser(DistanceMatrix&& _dist, index_t _dim_max, value_t _threshold, float _ratio,
^
ripser/ripser.cpp:458:2: note: candidate expects 1 argument, 6 provided
ripser/ripser.cpp:439:42: note: candidate: ripser<sparse_distance_matrix>::ripser(const ripser<sparse_distance_matrix>&)
template <typename DistanceMatrix> class ripser {
^
ripser/ripser.cpp:439:42: note: candidate expects 1 argument, 6 provided
ripser/pyRipser.cpp: In function 'PyTypeObject* __Pyx_ImportType(PyObject*, const char*, const char*, size_t, __Pyx_ImportType_CheckSize)':
ripser/pyRipser.cpp:6991:53: warning: unknown conversion type character 'z' in format [-Wformat=]
module_name, class_name, size, basicsize);
^
ripser/pyRipser.cpp:6991:53: warning: unknown conversion type character 'z' in format [-Wformat=]
ripser/pyRipser.cpp:6991:53: warning: too many arguments for format [-Wformat-extra-args]
In file included from ripser/pyRipser.cpp:657:0:
ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>]':
ripser/ripser.cpp:1033:22: required from here
ripser/ripser.cpp:797:32: error: 'hash_map<long long int, long long int> pivot_column_index' has incomplete type
hash_map<index_t, index_t> pivot_column_index;
^
ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = sparse_distance_matrix]':
ripser/ripser.cpp:1038:22: required from here
ripser/ripser.cpp:797:32: error: 'hash_map<long long int, long long int> pivot_column_index' has incomplete type
ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&) [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>]':
ripser/ripser.cpp:791:22: required from 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>]'
ripser/ripser.cpp:1033:22: required from here
ripser/ripser.cpp:559:15: error: could not convert 'std::reverse<__gnu_cxx::__normal_iterator<std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >((& columns_to_reduce)->std::vector<_Tp, _Alloc>::begin<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >(), (& columns_to_reduce)->std::vector<_Tp, _Alloc>::end<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >())' from 'void' to 'bool'
std::reverse(columns_to_reduce.begin(), columns_to_reduce.end());
^
ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&) [with DistanceMatrix = sparse_distance_matrix]':
ripser/ripser.cpp:791:22: required from 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = sparse_distance_matrix]'
ripser/ripser.cpp:1038:22: required from here
ripser/ripser.cpp:559:15: error: could not convert 'std::reverse<__gnu_cxx::__normal_iterator<std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >((& columns_to_reduce)->std::vector<_Tp, _Alloc>::begin<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >(), (& columns_to_reduce)->std::vector<_Tp, _Alloc>::end<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >())' from 'void' to 'bool'
ripser/ripser.cpp: In member function 'std::vector<std::pair<float, long long int> > ripser<DistanceMatrix>::get_edges() [with DistanceMatrix = sparse_distance_matrix]':
ripser/ripser.cpp:942:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
error: command 'C:\\Users\\sndr\\Anaconda3\\Library\\mingw-w64\\bin\\gcc.exe' failed with exit status 1
----------------------------------------
Failed building wheel for ripser
Running setup.py clean for ripser
Failed to build ripser
Installing collected packages: tadasets, kmapper, ripser, umap-learn, scikit-tda
Running setup.py install for ripser ... error
Complete output from command C:\Users\sndr\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\sndr\\AppData\\Local\\Temp\\pip-install-qfuv8vfq\\ripser\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\sndr\AppData\Local\Temp\pip-record-uilvyg2i\install-record.txt --single-version-externally-managed --compile:
Warning: Extension name 'pyRipser' does not match fully qualified name 'ripser.pyRipser' of 'ripser/pyRipser.pyx'
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.6
creating build\lib.win-amd64-3.6\ripser
copying ripser\ripser.py -> build\lib.win-amd64-3.6\ripser
copying ripser\_version.py -> build\lib.win-amd64-3.6\ripser
copying ripser\__init__.py -> build\lib.win-amd64-3.6\ripser
running build_ext
building 'pyRipser' extension
creating build\temp.win-amd64-3.6
creating build\temp.win-amd64-3.6\Release
creating build\temp.win-amd64-3.6\Release\ripser
C:\Users\sndr\Anaconda3\Library\mingw-w64\bin\gcc.exe -mdll -O -Wall -DMS_WIN64 -DUSE_COEFFICIENTS=1 -DNDEBUG=1 -DASSEMBLE_REDUCTION_MATRIX=1 -I.\ripser -IC:\Users\sndr\Anaconda3\include -IC:\Users\sndr\Anaconda3\include -IC:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include -c ripser/pyRipser.cpp -o build\temp.win-amd64-3.6\Release\ripser\pyripser.o -Ofast -D_hypot=hypot
In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/unordered_map:35:0,
from ripser/ripser.cpp:50,
from ripser/pyRipser.cpp:657:
C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support for the \
^
In file included from C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/ndarraytypes.h:1816:0,
from C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/ndarrayobject.h:18,
from C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/arrayobject.h:4,
from ripser/pyRipser.cpp:650:
C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/npy_1_7_deprecated_api.h:13:79: note: #pragma message: C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/npy_1_7_deprecated_api.h(12) : Warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION")
^
In file included from ripser/pyRipser.cpp:657:0:
ripser/ripser.cpp:53:73: error: expected template-name before '<' token
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:53:73: error: expected '{' before '<' token
ripser/ripser.cpp:53:73: error: expected unqualified-id before '<' token
ripser/ripser.cpp:59:33: error: '>>' should be '> >' within a nested template argument list
std::vector<std::vector<index_t>> B;
^
ripser/ripser.cpp: In constructor 'diameter_entry_t::diameter_entry_t(const diameter_index_t&)':
ripser/ripser.cpp:154:43: warning: delegating constructors only available with -std=c++11 or -std=gnu++11
: diameter_entry_t(_diameter_index, 1) {}
^
ripser/ripser.cpp: At global scope:
ripser/ripser.cpp:184:49: error: expected ',' or '...' before '&&' token
compressed_distance_matrix(std::vector<value_t>&& _distances)
^
ripser/ripser.cpp: In constructor 'compressed_distance_matrix<Layout>::compressed_distance_matrix(std::vector<float>)':
ripser/ripser.cpp:185:18: error: 'move' is not a member of 'std'
: distances(std::move(_distances)), rows((1 + std::sqrt(1 + 8 * distances.size())) / 2) {
^
ripser/ripser.cpp:185:28: error: '_distances' was not declared in this scope
: distances(std::move(_distances)), rows((1 + std::sqrt(1 + 8 * distances.size())) / 2) {
^
ripser/ripser.cpp: At global scope:
ripser/ripser.cpp:206:42: error: '>>' should be '> >' within a nested template argument list
std::vector<std::vector<diameter_index_t>> neighbors;
^
ripser/ripser.cpp: In function 'diameter_entry_t pop_pivot(Heap&, coefficient_t)':
ripser/ripser.cpp:327:3: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto pivot = column.top();
^
ripser/ripser.cpp:327:8: error: 'pivot' does not name a type
auto pivot = column.top();
^
ripser/ripser.cpp:339:6: error: 'pivot' was not declared in this scope
pivot = column.top();
^
ripser/ripser.cpp:341:68: error: 'pivot' was not declared in this scope
} while (!column.empty() && get_index(column.top()) == get_index(pivot));
^
ripser/ripser.cpp: At global scope:
ripser/ripser.cpp:458:23: error: expected ',' or '...' before '&&' token
ripser(DistanceMatrix&& _dist, index_t _dim_max, value_t _threshold, float _ratio,
^
ripser/ripser.cpp: In constructor 'ripser<DistanceMatrix>::ripser(DistanceMatrix)':
ripser/ripser.cpp:460:13: error: 'move' is not a member of 'std'
: dist(std::move(_dist)), n(dist.size()),
^
ripser/ripser.cpp:460:23: error: '_dist' was not declared in this scope
: dist(std::move(_dist)), n(dist.size()),
^
ripser/ripser.cpp:461:16: error: '_dim_max' was not declared in this scope
dim_max(_dim_max), threshold(_threshold),
^
ripser/ripser.cpp:461:37: error: '_threshold' was not declared in this scope
dim_max(_dim_max), threshold(_threshold),
^
ripser/ripser.cpp:462:14: error: '_ratio' was not declared in this scope
ratio(_ratio), modulus(_modulus), do_cocycles(_do_cocycles),
^
ripser/ripser.cpp:462:31: error: '_modulus' was not declared in this scope
ratio(_ratio), modulus(_modulus), do_cocycles(_do_cocycles),
^
ripser/ripser.cpp:462:54: error: '_do_cocycles' was not declared in this scope
ratio(_ratio), modulus(_modulus), do_cocycles(_do_cocycles),
^
ripser/ripser.cpp: In member function 'value_t ripser<DistanceMatrix>::compute_diameter(index_t, index_t) const':
ripser/ripser.cpp:508:19: error: 'numeric_limits' is not a member of 'std'
value_t diam = -std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:508:46: error: expected primary-expression before '>' token
value_t diam = -std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:508:47: error: '::infinity' has not been declared
value_t diam = -std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&)':
ripser/ripser.cpp:540:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto e : edges) {
^
ripser/ripser.cpp:540:13: error: 'e' does not name a type
for (auto e : edges) {
^
ripser/ripser.cpp:559:3: error: expected ';' before 'std'
std::reverse(columns_to_reduce.begin(), columns_to_reduce.end());
^
ripser/ripser.cpp:561:3: error: expected primary-expression before 'for'
for (index_t i = 0; i < n; ++i) {
^
ripser/ripser.cpp:561:3: error: expected ')' before 'for'
ripser/ripser.cpp:564:43: error: 'numeric_limits' is not a member of 'std'
births_and_deaths_by_dim[0].push_back(std::numeric_limits<value_t>::infinity());
^
ripser/ripser.cpp:564:70: error: expected primary-expression before '>' token
births_and_deaths_by_dim[0].push_back(std::numeric_limits<value_t>::infinity());
^
ripser/ripser.cpp:564:71: error: '::infinity' has not been declared
births_and_deaths_by_dim[0].push_back(std::numeric_limits<value_t>::infinity());
^
ripser/ripser.cpp: In member function 'diameter_entry_t ripser<DistanceMatrix>::add_coboundary_and_get_pivot(Iterator, Iterator, coefficient_t, Column&, Column&, const index_t&, hash_map<long long int, long long int>&, bool&)':
ripser/ripser.cpp:578:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto it = column_begin; it != column_end; ++it) {
^
ripser/ripser.cpp:578:13: error: 'it' does not name a type
for (auto it = column_begin; it != column_end; ++it) {
^
ripser/ripser.cpp:578:32: error: expected ';' before 'it'
for (auto it = column_begin; it != column_end; ++it) {
^
ripser/ripser.cpp:578:32: error: 'it' was not declared in this scope
ripser/ripser.cpp:593:29: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
if (pivot_column_index.find(get_index(coface)) ==
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:594:29: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
pivot_column_index.end()) {
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:601:9: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto coface : coface_entries) working_coboundary.push(coface);
^
ripser/ripser.cpp:601:14: error: 'coface' does not name a type
for (auto coface : coface_entries) working_coboundary.push(coface);
^
ripser/ripser.cpp:602:3: error: expected ';' before '}' token
}
^
ripser/ripser.cpp:602:3: error: expected primary-expression before '}' token
ripser/ripser.cpp:602:3: error: expected ';' before '}' token
ripser/ripser.cpp:602:3: error: expected primary-expression before '}' token
ripser/ripser.cpp:602:3: error: expected ')' before '}' token
ripser/ripser.cpp:602:3: error: expected primary-expression before '}' token
ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::compute_pairs(std::vector<std::pair<float, long long int> >&, hash_map<long long int, long long int>&, index_t)':
ripser/ripser.cpp:621:4: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto column_to_reduce = columns_to_reduce[index_column_to_reduce];
^
ripser/ripser.cpp:621:9: error: 'column_to_reduce' does not name a type
auto column_to_reduce = columns_to_reduce[index_column_to_reduce];
^
ripser/ripser.cpp:625:74: error: '>>' should be '> >' within a nested template argument list
greater_diameter_or_smaller_index<diameter_entry_t>>
^
ripser/ripser.cpp:630:74: error: '>>' should be '> >' within a nested template argument list
greater_diameter_or_smaller_index<diameter_entry_t>>
^
ripser/ripser.cpp:633:36: error: 'column_to_reduce' was not declared in this scope
value_t diameter = get_diameter(column_to_reduce);
^
ripser/ripser.cpp:656:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto reduction_column_begin = reduction_matrix.cbegin(index_column_to_add),
^
ripser/ripser.cpp:656:10: error: 'reduction_column_begin' does not name a type
auto reduction_column_begin = reduction_matrix.cbegin(index_column_to_add),
^
ripser/ripser.cpp:677:9: error: 'reduction_column_begin' was not declared in this scope
reduction_column_begin, reduction_column_end, factor_column_to_add,
^
ripser/ripser.cpp:677:33: error: 'reduction_column_end' was not declared in this scope
reduction_column_begin, reduction_column_end, factor_column_to_add,
^
ripser/ripser.cpp:684:6: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto pair = pivot_column_index.find(get_index(pivot));
^
ripser/ripser.cpp:684:11: error: 'pair' does not name a type
auto pair = pivot_column_index.find(get_index(pivot));
^
ripser/ripser.cpp:686:10: error: 'pair' was not declared in this scope
if (pair != pivot_column_index.end()) {
^
ripser/ripser.cpp:686:10: note: suggested alternative:
In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_algobase.h:64:0,
from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/char_traits.h:39,
from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/ios:40,
from ripser/pyRipser.cpp:652:
C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_pair.h:96:12: note: 'std::pair'
struct pair
^
In file included from ripser/pyRipser.cpp:657:0:
ripser/ripser.cpp:686:36: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
if (pair != pivot_column_index.end()) {
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:698:9: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto cocycle = working_reduction_column;
^
ripser/ripser.cpp:698:14: error: 'cocycle' does not name a type
auto cocycle = working_reduction_column;
^
ripser/ripser.cpp:702:40: error: 'cocycle' was not declared in this scope
while (get_index(e = get_pivot(cocycle, modulus)) != -1) {
^
ripser/ripser.cpp:716:25: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
pivot_column_index.insert(
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:753:46: error: 'numeric_limits' is not a member of 'std'
births_and_deaths_by_dim[dim].push_back(std::numeric_limits<value_t>::infinity());
^
ripser/ripser.cpp:753:73: error: expected primary-expression before '>' token
births_and_deaths_by_dim[dim].push_back(std::numeric_limits<value_t>::infinity());
^
ripser/ripser.cpp:753:74: error: '::infinity' has not been declared
births_and_deaths_by_dim[dim].push_back(std::numeric_limits<value_t>::infinity());
^
ripser/ripser.cpp:759:7: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto cocycle = working_reduction_column;
^
ripser/ripser.cpp:759:12: error: 'cocycle' does not name a type
auto cocycle = working_reduction_column;
^
ripser/ripser.cpp:763:38: error: 'cocycle' was not declared in this scope
while (get_index(e = get_pivot(cocycle, modulus)) != -1) {
^
ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::compute_barcodes()':
ripser/ripser.cpp:798:23: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
pivot_column_index.reserve(columns_to_reduce.size());
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp: In member function 'diameter_entry_t ripser<compressed_distance_matrix<(compressed_matrix_layout)0u> >::simplex_coboundary_enumerator::next()':
ripser/ripser.cpp:842:20: warning: range-based 'for' loops only available with -std=c++11 or -std=gnu++11
for (index_t w : vertices) coface_diameter = std::max(coface_diameter, dist(v, w));
^
ripser/ripser.cpp: In constructor 'ripser<sparse_distance_matrix>::simplex_coboundary_enumerator::simplex_coboundary_enumerator(diameter_entry_t, index_t, const ripser<sparse_distance_matrix>&)':
ripser/ripser.cpp:879:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto v : vertices) {
^
ripser/ripser.cpp:879:13: error: 'v' does not name a type
for (auto v : vertices) {
^
ripser/ripser.cpp:883:2: error: expected ';' before '}' token
}
^
ripser/ripser.cpp:883:2: error: expected primary-expression before '}' token
ripser/ripser.cpp:883:2: error: expected ';' before '}' token
ripser/ripser.cpp:883:2: error: expected primary-expression before '}' token
ripser/ripser.cpp:883:2: error: expected ')' before '}' token
ripser/ripser.cpp:883:2: error: expected primary-expression before '}' token
ripser/ripser.cpp: In member function 'bool ripser<sparse_distance_matrix>::simplex_coboundary_enumerator::has_next(bool)':
ripser/ripser.cpp:886:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto &it0 = neighbor_it[0], &end0 = neighbor_end[0]; it0 != end0; ++it0) {
^
ripser/ripser.cpp:886:33: error: invalid initialization of reference of type 'int&' from expression of type 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >'
for (auto &it0 = neighbor_it[0], &end0 = neighbor_end[0]; it0 != end0; ++it0) {
^
ripser/ripser.cpp:886:58: error: invalid initialization of reference of type 'int&' from expression of type 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >'
for (auto &it0 = neighbor_it[0], &end0 = neighbor_end[0]; it0 != end0; ++it0) {
^
ripser/ripser.cpp:887:9: error: invalid type argument of unary '*' (have 'int')
x = *it0;
^
ripser/ripser.cpp:889:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &it = neighbor_it[idx], end = neighbor_end[idx];
^
ripser/ripser.cpp:889:31: error: invalid initialization of reference of type 'int&' from expression of type 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >'
auto &it = neighbor_it[idx], end = neighbor_end[idx];
^
ripser/ripser.cpp:889:56: error: cannot convert 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >' to 'int' in initialization
auto &it = neighbor_it[idx], end = neighbor_end[idx];
^
ripser/ripser.cpp:890:23: error: invalid type argument of unary '*' (have 'int')
while (get_index(*it) > get_index(x))
^
ripser/ripser.cpp:892:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto y = *it;
^
ripser/ripser.cpp:892:10: error: 'y' does not name a type
auto y = *it;
^
ripser/ripser.cpp:893:19: error: 'y' was not declared in this scope
if (get_index(y) != get_index(x))
^
ripser/ripser.cpp: In member function 'std::vector<std::pair<float, long long int> > ripser<DistanceMatrix>::get_edges() [with DistanceMatrix = sparse_distance_matrix]':
ripser/ripser.cpp:937:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto n : dist.neighbors[i]) {
^
ripser/ripser.cpp:937:13: error: 'n' does not name a type
for (auto n : dist.neighbors[i]) {
^
ripser/ripser.cpp:941:2: error: expected ';' before 'return'
return edges;
^
ripser/ripser.cpp:941:2: error: expected primary-expression before 'return'
ripser/ripser.cpp:941:2: error: expected ';' before 'return'
ripser/ripser.cpp:941:2: error: expected primary-expression before 'return'
ripser/ripser.cpp:941:2: error: expected ')' before 'return'
ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::assemble_columns_to_reduce(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&, hash_map<long long int, long long int>&, index_t) [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>; index_t = long long int]':
ripser/ripser.cpp:963:25: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
if (pivot_column_index.find(index) == pivot_column_index.end()) {
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:963:59: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
if (pivot_column_index.find(index) == pivot_column_index.end()) {
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::assemble_columns_to_reduce(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&, hash_map<long long int, long long int>&, index_t) [with DistanceMatrix = sparse_distance_matrix; index_t = long long int]':
ripser/ripser.cpp:983:34: warning: range-based 'for' loops only available with -std=c++11 or -std=gnu++11
for (diameter_index_t simplex : simplices) {
^
ripser/ripser.cpp:987:4: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
auto coface = cofaces.next();
^
ripser/ripser.cpp:987:9: error: 'coface' does not name a type
auto coface = cofaces.next();
^
ripser/ripser.cpp:989:57: error: 'coface' was not declared in this scope
next_simplices.push_back(std::make_pair(get_diameter(coface), get_index(coface)));
^
ripser/ripser.cpp:991:26: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
if (pivot_column_index.find(get_index(coface)) == pivot_column_index.end())
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp:991:72: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
if (pivot_column_index.find(get_index(coface)) == pivot_column_index.end())
^
ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
^
ripser/ripser.cpp: In function 'ripserResults rips_dm(float*, int, int, int, float, int)':
ripser/ripser.cpp:1006:69: error: 'move' is not a member of 'std'
compressed_lower_distance_matrix(compressed_upper_distance_matrix(std::move(distances)));
^
ripser/ripser.cpp:1009:16: error: 'numeric_limits' is not a member of 'std'
value_t min = std::numeric_limits<value_t>::infinity(),
^
ripser/ripser.cpp:1009:43: error: expected primary-expression before '>' token
value_t min = std::numeric_limits<value_t>::infinity(),
^
ripser/ripser.cpp:1009:44: error: '::infinity' has not been declared
value_t min = std::numeric_limits<value_t>::infinity(),
^
ripser/ripser.cpp:1013:29: error: 'numeric_limits' is not a member of 'std'
value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:1013:56: error: expected primary-expression before '>' token
value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:1013:57: error: '::infinity' has not been declared
value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:1015:18: error: 'numeric_limits' is not a member of 'std'
value_t r_i = -std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:1015:45: error: expected primary-expression before '>' token
value_t r_i = -std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:1015:46: error: '::infinity' has not been declared
value_t r_i = -std::numeric_limits<value_t>::infinity();
^
ripser/ripser.cpp:1020:19: error: 'numeric_limits' is not a member of 'std'
if (threshold == std::numeric_limits<value_t>::max()) threshold = enclosing_radius;
^
ripser/ripser.cpp:1020:46: error: expected primary-expression before '>' token
if (threshold == std::numeric_limits<value_t>::max()) threshold = enclosing_radius;
^
ripser/ripser.cpp:1020:47: error: '::max' has not been declared
if (threshold == std::numeric_limits<value_t>::max()) threshold = enclosing_radius;
^
ripser/ripser.cpp:1020:47: note: suggested alternative:
In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/char_traits.h:39:0,
from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/ios:40,
from ripser/pyRipser.cpp:652:
C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_algobase.h:265:5: note: 'std::max'
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
In file included from ripser/pyRipser.cpp:657:0:
ripser/ripser.cpp:1022:7: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto d : dist.distances) {
^
ripser/ripser.cpp:1022:12: error: 'd' does not name a type
for (auto d : dist.distances) {
^
ripser/ripser.cpp:1029:2: error: expected ';' before 'ripserResults'
ripserResults res;
^
ripser/ripser.cpp:1029:16: error: expected primary-expression before 'res'
ripserResults res;
^
ripser/ripser.cpp:1029:16: error: expected ';' before 'res'
ripser/ripser.cpp:1029:16: error: 'res' was not declared in this scope
ripser/ripser.cpp:1029:19: error: expected ')' before ';' token
ripserResults res;
^
ripser/ripser.cpp:1030:19: error: 'max' was not declared in this scope
if (threshold >= max) {
^
ripser/ripser.cpp:1030:19: note: suggested alternative:
In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/char_traits.h:39:0,
from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/ios:40,
from ripser/pyRipser.cpp:652:
C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_algobase.h:265:5: note: 'std::max'
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
In file included from ripser/pyRipser.cpp:657:0:
ripser/ripser.cpp:1031:46: error: 'move' is not a member of 'std'
ripser<compressed_lower_distance_matrix> r(std::move(dist), dim_max, threshold, ratio,
^
ripser/ripser.cpp:1034:18: error: 'res' was not declared in this scope
r.copy_results(res);
^
ripser/ripser.cpp:1036:59: error: 'move' is not a member of 'std'
ripser<sparse_distance_matrix> r(sparse_distance_matrix(std::move(dist), threshold), dim_max,
^
ripser/ripser.cpp:1039:18: error: 'res' was not declared in this scope
r.copy_results(res);
^
ripser/ripser.cpp:1041:2: error: 'res' was not declared in this scope
res.num_edges = num_edges;
^
ripser/ripser.cpp:1009:10: warning: unused variable 'min' [-Wunused-variable]
value_t min = std::numeric_limits<value_t>::infinity(),
^
ripser/ripser.cpp: In function 'ripserResults rips_dm_sparse(int*, int*, float*, int, int, int, int, float, int)':
ripser/ripser.cpp:1051:57: error: no matching function for call to 'ripser<sparse_distance_matrix>::ripser(sparse_distance_matrix, int&, float&, float&, int&, int&)'
dim_max, threshold, ratio, modulus, do_cocycles);
^
ripser/ripser.cpp:458:2: note: candidate: ripser<DistanceMatrix>::ripser(DistanceMatrix) [with DistanceMatrix = sparse_distance_matrix]
ripser(DistanceMatrix&& _dist, index_t _dim_max, value_t _threshold, float _ratio,
^
ripser/ripser.cpp:458:2: note: candidate expects 1 argument, 6 provided
ripser/ripser.cpp:439:42: note: candidate: ripser<sparse_distance_matrix>::ripser(const ripser<sparse_distance_matrix>&)
template <typename DistanceMatrix> class ripser {
^
ripser/ripser.cpp:439:42: note: candidate expects 1 argument, 6 provided
ripser/pyRipser.cpp: In function 'PyTypeObject* __Pyx_ImportType(PyObject*, const char*, const char*, size_t, __Pyx_ImportType_CheckSize)':
ripser/pyRipser.cpp:6991:53: warning: unknown conversion type character 'z' in format [-Wformat=]
module_name, class_name, size, basicsize);
^
ripser/pyRipser.cpp:6991:53: warning: unknown conversion type character 'z' in format [-Wformat=]
ripser/pyRipser.cpp:6991:53: warning: too many arguments for format [-Wformat-extra-args]
In file included from ripser/pyRipser.cpp:657:0:
ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>]':
ripser/ripser.cpp:1033:22: required from here
ripser/ripser.cpp:797:32: error: 'hash_map<long long int, long long int> pivot_column_index' has incomplete type
hash_map<index_t, index_t> pivot_column_index;
^
ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = sparse_distance_matrix]':
ripser/ripser.cpp:1038:22: required from here
ripser/ripser.cpp:797:32: error: 'hash_map<long long int, long long int> pivot_column_index' has incomplete type
ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&) [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>]':
ripser/ripser.cpp:791:22: required from 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>]'
ripser/ripser.cpp:1033:22: required from here
ripser/ripser.cpp:559:15: error: could not convert 'std::reverse<__gnu_cxx::__normal_iterator<std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >((& columns_to_reduce)->std::vector<_Tp, _Alloc>::begin<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >(), (& columns_to_reduce)->std::vector<_Tp, _Alloc>::end<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >())' from 'void' to 'bool'
std::reverse(columns_to_reduce.begin(), columns_to_reduce.end());
^
ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&) [with DistanceMatrix = sparse_distance_matrix]':
ripser/ripser.cpp:791:22: required from 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = sparse_distance_matrix]'
ripser/ripser.cpp:1038:22: required from here
ripser/ripser.cpp:559:15: error: could not convert 'std::reverse<__gnu_cxx::__normal_iterator<std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >((& columns_to_reduce)->std::vector<_Tp, _Alloc>::begin<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >(), (& columns_to_reduce)->std::vector<_Tp, _Alloc>::end<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >())' from 'void' to 'bool'
ripser/ripser.cpp: In member function 'std::vector<std::pair<float, long long int> > ripser<DistanceMatrix>::get_edges() [with DistanceMatrix = sparse_distance_matrix]':
ripser/ripser.cpp:942:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
error: command 'C:\\Users\\sndr\\Anaconda3\\Library\\mingw-w64\\bin\\gcc.exe' failed with exit status 1
----------------------------------------
Command "C:\Users\sndr\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\sndr\\AppData\\Local\\Temp\\pip-install-qfuv8vfq\\ripser\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\sndr\AppData\Local\Temp\pip-record-uilvyg2i\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\sndr\AppData\Local\Temp\pip-install-qfuv8vfq\ripser\
C:\WINDOWS\system32>
This issue is duplicate scikit-tda/ripser.py/#71
can write full link how to find this scikit-tda/ripser.py/#71
how to install on windows? can you put it to conda forge then instalation will be easy like http://gudhi.gforge.inria.fr/ conda install -c conda-forge gudhi