UDST / pandana

Pandas Network Analysis by UrbanSim: fast accessibility metrics and shortest paths, using contraction hierarchies :world_map:
http://udst.github.io/pandana
GNU Affero General Public License v3.0
386 stars 84 forks source link

Remove code that requires C++11 features #123

Closed federicofernandez closed 5 years ago

federicofernandez commented 5 years ago

To allow compilation in Windows + Python 2.7 we need to remove the use of lambdas and std::function since is not supported in the msvc compiler version for 2.7.

Fixes: https://ci.appveyor.com/project/conda-forge/pandana-feedstock/builds/27034085/job/nwh0feurg1ijv0eu

coveralls commented 5 years ago

Coverage Status

Coverage remained the same at 91.667% when pulling c6ccf123b0554e76f4dd8bb145975f9482488d04 on enhancement/remove-c++11 into 20b8724aad70489e14f94941b906618e9c31ee65 on develop.

smmaurer commented 5 years ago

Thanks @federicofernandez!

One of the compilation flags in setup.py specifies std=c++11. Do you think we should change that? It might not matter; i think that's been there since before the changes that broke win-py27 compilation.

https://github.com/UDST/pandana/blob/enhancement/remove-c%2B%2B11/setup.py#L54

federicofernandez commented 5 years ago

One of the compilation flags in setup.py specifies std=c++11. Do you think we should change that? It might not matter; i think that's been there since before the changes that broke win-py27 compilation.

I don't think is needed since those flags are used only for Linux / OSX. Anyway, the final test will be the compilation on Windows + 2.7, but I think it should work as is.

Eh2406 commented 5 years ago

Can we make sure the performance does not regress, that we still have the gains from #111?

federicofernandez commented 5 years ago

Yes, no regressions, it's the same performance as #111, just with less elegant code, but more compatible.

Eh2406 commented 5 years ago

Thanks for double checking!