Giter VIP home page Giter VIP logo

polymercpp's Introduction

PolymerCpp

2D and 3D wormlike chain generator for Python and written in C++.

A wormlike chain generated by PolymerCpp

DOI

PolymerCpp is a small program for generating three-dimensional wormlike chains (WLC), a common and relatively simple model in polymer physics. A WLC describes a semi-flexible polymer, i.e. one that is rigid over short length scales and flexible over long ones. The characteristic length scale that separates these two regimes is known as the persistence length.

PolymerCpp provides a number of Python functions that exposes the C++ routines for generating 3D WLCs, including

  1. infinitesimally thin WLCs
  2. self-avoiding WLCs

PolymerCpp was written by Marcel Stefko and Kyle M. Douglass in the Laboratory of Experimental Biophysics for modeling DNA.

Important Note: The self-avoiding wormlike chain in this program does not produce the predicted scaling behavior for the moments (radius of gyration and end-to-end distance). Do not use the self-avoiding chain if you require exact agreement with the Flory theory.

Documentation

PolymerCpp documentation may be found at http://polymercpp.readthedocs.io/en/latest/

Important Note: The PolymerCpp API is not yet fixed and may change between versions.

License

PolymerCpp is licensed under the GNU General Public License, version 3. See the LICENSE file for more information.

PolymerCpp uses the Eigen library, which is licensed under the Mozilla Public License. For more information about Eigen, visit its website: http://eigen.tuxfamily.org/index.php?title=Main_Page

polymercpp's People

Contributors

kmdouglass avatar mstefko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

polymercpp's Issues

pip install not working

I have attempted 'pip install PolymerCpp' on two different computers- one a mac osx and another a linux. I have updated pip to the latest versions on both but this same error results in both cases....

Collecting PolymerCpp
Downloading PolymerCpp-0.1.3.tar.gz (834kB)
100% |████████████████████████████████| 839kB 1.4MB/s
Requirement already satisfied: numpy>=1.11.0 in ./anaconda2/lib/python2.7/site-packages (from PolymerCpp)
Requirement already satisfied: matplotlib>=2.0.0 in ./anaconda2/lib/python2.7/site-packages (from PolymerCpp)
Requirement already satisfied: six>=1.10 in ./anaconda2/lib/python2.7/site-packages (from matplotlib>=2.0.0->PolymerCpp)
Requirement already satisfied: python-dateutil in ./anaconda2/lib/python2.7/site-packages (from matplotlib>=2.0.0->PolymerCpp)
Requirement already satisfied: functools32 in ./anaconda2/lib/python2.7/site-packages (from matplotlib>=2.0.0->PolymerCpp)
Requirement already satisfied: subprocess32 in ./anaconda2/lib/python2.7/site-packages (from matplotlib>=2.0.0->PolymerCpp)
Requirement already satisfied: pytz in ./anaconda2/lib/python2.7/site-packages (from matplotlib>=2.0.0->PolymerCpp)
Requirement already satisfied: cycler>=0.10 in ./anaconda2/lib/python2.7/site-packages (from matplotlib>=2.0.0->PolymerCpp)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=1.5.6 in ./anaconda2/lib/python2.7/site-packages (from matplotlib>=2.0.0->PolymerCpp)
Building wheels for collected packages: PolymerCpp
Running setup.py bdist_wheel for PolymerCpp ... error
Complete output from command /home/bsxcto/anaconda2/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-wwU6PY/PolymerCpp/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 /tmp/tmpyHOQsJpip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/PolymerCpp
copying PolymerCpp/helpers.py -> build/lib.linux-x86_64-2.7/PolymerCpp
copying PolymerCpp/init.py -> build/lib.linux-x86_64-2.7/PolymerCpp
copying PolymerCpp/algorithms.py -> build/lib.linux-x86_64-2.7/PolymerCpp
running build_ext
building 'PolymerCppCore' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/PolymerCpp
creating build/temp.linux-x86_64-2.7/PolymerCpp/core
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DMAJOR_VERSION=0 -DMINOR_VERSION=1 -Iinclude -I/home/bsxcto/anaconda2/include/python2.7 -c PolymerCpp/core/Misc.cpp -o build/temp.linux-x86_64-2.7/PolymerCpp/core/Misc.o -std=c++11 -O2 -fPIC
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
PolymerCpp/core/Misc.cpp: In function ‘void convSegments(std::vector&, std::vector&, double, bool)’:
PolymerCpp/core/Misc.cpp:29:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<inVector.size(); i++)
^
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DMAJOR_VERSION=0 -DMINOR_VERSION=1 -Iinclude -I/home/bsxcto/anaconda2/include/python2.7 -c PolymerCpp/core/RgDict.cpp -o build/temp.linux-x86_64-2.7/PolymerCpp/core/RgDict.o -std=c++11 -O2 -fPIC
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
PolymerCpp/core/RgDict.cpp: In member function ‘void RgDict::addToDBfileFull(std::ofstream&)’:
PolymerCpp/core/RgDict.cpp:44:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<Rg.size(); i++)
^
PolymerCpp/core/RgDict.cpp:49:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<Rg.size(); i++)
^
PolymerCpp/core/RgDict.cpp: In member function ‘void RgDict::addToDBfileShort(std::ofstream&)’:
PolymerCpp/core/RgDict.cpp:65:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<Rg.size(); i++)
^
PolymerCpp/core/RgDict.cpp:74:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<Rg.size(); i++)
^
PolymerCpp/core/RgDict.cpp: In member function ‘double RgDict::getVariance(bool)’:
PolymerCpp/core/RgDict.cpp:93:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; isize(); i++)
^
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DMAJOR_VERSION=0 -DMINOR_VERSION=1 -Iinclude -I/home/bsxcto/anaconda2/include/python2.7 -c PolymerCpp/core/Stopwatch.cpp -o build/temp.linux-x86_64-2.7/PolymerCpp/core/Stopwatch.o -std=c++11 -O2 -fPIC
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
In file included from PolymerCpp/core/Stopwatch.cpp:36:0:
include/Stopwatch.h: In constructor ‘Stopwatch::Stopwatch()’:
include/Stopwatch.h:241:14: warning: ‘Stopwatch::active’ will be initialized after [-Wreorder]
bool active;
^
include/Stopwatch.h:235:23: warning: ‘StopwatchMode Stopwatch::mode’ [-Wreorder]
StopwatchMode mode;
^
PolymerCpp/core/Stopwatch.cpp:42:1: warning: when initialized here [-Wreorder]
Stopwatch::Stopwatch() : active(true), mode(NONE) {
^
PolymerCpp/core/Stopwatch.cpp: In member function ‘void Stopwatch::report(std::string, std::ostream&)’:
PolymerCpp/core/Stopwatch.cpp:232:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < perf_name.length(); i++)
^
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DMAJOR_VERSION=0 -DMINOR_VERSION=1 -Iinclude -I/home/bsxcto/anaconda2/include/python2.7 -c PolymerCpp/core/PolymerCpp.cpp -o build/temp.linux-x86_64-2.7/PolymerCpp/core/PolymerCpp.o -std=c++11 -O2 -fPIC
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
PolymerCpp/core/PolymerCpp.cpp: In function ‘PyObject* getWLCrgs(PyObject*, PyObject*)’:
PolymerCpp/core/PolymerCpp.cpp:46:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (unsigned int i=0; i<numPaths; i++)
^
PolymerCpp/core/PolymerCpp.cpp: In function ‘PyObject* getSAWLCrgs(PyObject*, PyObject*)’:
PolymerCpp/core/PolymerCpp.cpp:144:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (unsigned int i=0; i < numPaths; i++)
^
PolymerCpp/core/PolymerCpp.cpp: At global scope:
PolymerCpp/core/PolymerCpp.cpp:202:27: error: variable ‘PyModuleDef PolymerCppCore’ has initializer but incomplete type
static struct PyModuleDef PolymerCppCore =
^
PolymerCpp/core/PolymerCpp.cpp:204:5: error: ‘PyModuleDef_HEAD_INIT’ was not declared in this scope
PyModuleDef_HEAD_INIT,
^
PolymerCpp/core/PolymerCpp.cpp: In function ‘void PyInit_PolymerCppCore()’:
PolymerCpp/core/PolymerCpp.cpp:214:41: error: ‘PyModule_Create’ was not declared in this scope
return PyModule_Create(&PolymerCppCore);
^
PolymerCpp/core/PolymerCpp.cpp:214:41: error: return-statement with a value, in function returning 'void' [-fpermissive]
PolymerCpp/core/PolymerCpp.cpp: In function ‘int main(int, char**)’:
PolymerCpp/core/PolymerCpp.cpp:219:53: error: ‘Py_DecodeLocale’ was not declared in this scope
wchar_t program = Py_DecodeLocale(argv[0], NULL);
^
PolymerCpp/core/PolymerCpp.cpp:229:30: error: cannot convert ‘wchar_t
’ to ‘char*’ for argument ‘1’ to ‘void Py_SetProgramName(char*)’
Py_SetProgramName(program);
^
PolymerCpp/core/PolymerCpp.cpp:239:26: error: ‘PyMem_RawFree’ was not declared in this scope
PyMem_RawFree(program);
^
error: command 'gcc' failed with exit status 1


Failed building wheel for PolymerCpp
Running setup.py clean for PolymerCpp
Failed to build PolymerCpp
Installing collected packages: PolymerCpp
Running setup.py install for PolymerCpp ... error
Complete output from command /home/bsxcto/anaconda2/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-wwU6PY/PolymerCpp/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-dZUHb8-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/PolymerCpp
copying PolymerCpp/helpers.py -> build/lib.linux-x86_64-2.7/PolymerCpp
copying PolymerCpp/init.py -> build/lib.linux-x86_64-2.7/PolymerCpp
copying PolymerCpp/algorithms.py -> build/lib.linux-x86_64-2.7/PolymerCpp
running build_ext
building 'PolymerCppCore' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/PolymerCpp
creating build/temp.linux-x86_64-2.7/PolymerCpp/core
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DMAJOR_VERSION=0 -DMINOR_VERSION=1 -Iinclude -I/home/bsxcto/anaconda2/include/python2.7 -c PolymerCpp/core/Misc.cpp -o build/temp.linux-x86_64-2.7/PolymerCpp/core/Misc.o -std=c++11 -O2 -fPIC
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
PolymerCpp/core/Misc.cpp: In function ‘void convSegments(std::vector&, std::vector&, double, bool)’:
PolymerCpp/core/Misc.cpp:29:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<inVector.size(); i++)
^
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DMAJOR_VERSION=0 -DMINOR_VERSION=1 -Iinclude -I/home/bsxcto/anaconda2/include/python2.7 -c PolymerCpp/core/RgDict.cpp -o build/temp.linux-x86_64-2.7/PolymerCpp/core/RgDict.o -std=c++11 -O2 -fPIC
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
PolymerCpp/core/RgDict.cpp: In member function ‘void RgDict::addToDBfileFull(std::ofstream&)’:
PolymerCpp/core/RgDict.cpp:44:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<Rg.size(); i++)
^
PolymerCpp/core/RgDict.cpp:49:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<Rg.size(); i++)
^
PolymerCpp/core/RgDict.cpp: In member function ‘void RgDict::addToDBfileShort(std::ofstream&)’:
PolymerCpp/core/RgDict.cpp:65:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<Rg.size(); i++)
^
PolymerCpp/core/RgDict.cpp:74:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<Rg.size(); i++)
^
PolymerCpp/core/RgDict.cpp: In member function ‘double RgDict::getVariance(bool)’:
PolymerCpp/core/RgDict.cpp:93:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; isize(); i++)
^
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DMAJOR_VERSION=0 -DMINOR_VERSION=1 -Iinclude -I/home/bsxcto/anaconda2/include/python2.7 -c PolymerCpp/core/Stopwatch.cpp -o build/temp.linux-x86_64-2.7/PolymerCpp/core/Stopwatch.o -std=c++11 -O2 -fPIC
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
In file included from PolymerCpp/core/Stopwatch.cpp:36:0:
include/Stopwatch.h: In constructor ‘Stopwatch::Stopwatch()’:
include/Stopwatch.h:241:14: warning: ‘Stopwatch::active’ will be initialized after [-Wreorder]
bool active;
^
include/Stopwatch.h:235:23: warning: ‘StopwatchMode Stopwatch::mode’ [-Wreorder]
StopwatchMode mode;
^
PolymerCpp/core/Stopwatch.cpp:42:1: warning: when initialized here [-Wreorder]
Stopwatch::Stopwatch() : active(true), mode(NONE) {
^
PolymerCpp/core/Stopwatch.cpp: In member function ‘void Stopwatch::report(std::string, std::ostream&)’:
PolymerCpp/core/Stopwatch.cpp:232:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < perf_name.length(); i++)
^
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DMAJOR_VERSION=0 -DMINOR_VERSION=1 -Iinclude -I/home/bsxcto/anaconda2/include/python2.7 -c PolymerCpp/core/PolymerCpp.cpp -o build/temp.linux-x86_64-2.7/PolymerCpp/core/PolymerCpp.o -std=c++11 -O2 -fPIC
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
PolymerCpp/core/PolymerCpp.cpp: In function ‘PyObject* getWLCrgs(PyObject*, PyObject*)’:
PolymerCpp/core/PolymerCpp.cpp:46:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (unsigned int i=0; i<numPaths; i++)
^
PolymerCpp/core/PolymerCpp.cpp: In function ‘PyObject* getSAWLCrgs(PyObject*, PyObject*)’:
PolymerCpp/core/PolymerCpp.cpp:144:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (unsigned int i=0; i < numPaths; i++)
^
PolymerCpp/core/PolymerCpp.cpp: At global scope:
PolymerCpp/core/PolymerCpp.cpp:202:27: error: variable ‘PyModuleDef PolymerCppCore’ has initializer but incomplete type
static struct PyModuleDef PolymerCppCore =
^
PolymerCpp/core/PolymerCpp.cpp:204:5: error: ‘PyModuleDef_HEAD_INIT’ was not declared in this scope
PyModuleDef_HEAD_INIT,
^
PolymerCpp/core/PolymerCpp.cpp: In function ‘void PyInit_PolymerCppCore()’:
PolymerCpp/core/PolymerCpp.cpp:214:41: error: ‘PyModule_Create’ was not declared in this scope
return PyModule_Create(&PolymerCppCore);
^
PolymerCpp/core/PolymerCpp.cpp:214:41: error: return-statement with a value, in function returning 'void' [-fpermissive]
PolymerCpp/core/PolymerCpp.cpp: In function ‘int main(int, char**)’:
PolymerCpp/core/PolymerCpp.cpp:219:53: error: ‘Py_DecodeLocale’ was not declared in this scope
wchar_t program = Py_DecodeLocale(argv[0], NULL);
^
PolymerCpp/core/PolymerCpp.cpp:229:30: error: cannot convert ‘wchar_t
’ to ‘char*’ for argument ‘1’ to ‘void Py_SetProgramName(char*)’
Py_SetProgramName(program);
^
PolymerCpp/core/PolymerCpp.cpp:239:26: error: ‘PyMem_RawFree’ was not declared in this scope
PyMem_RawFree(program);
^
error: command 'gcc' failed with exit status 1

----------------------------------------

Command "/home/bsxcto/anaconda2/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-wwU6PY/PolymerCpp/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-dZUHb8-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-wwU6PY/PolymerCpp/

pip install not working

I'm trying to install PolymerCpp via pip but it's not working. Here's the log:

C:\Users\mateu>pip install PolymerCpp
Collecting PolymerCpp
  Using cached PolymerCpp-0.1.3.tar.gz (834 kB)
Requirement already satisfied: numpy>=1.11.0 in c:\users\mateu\appdata\local\programs\python\python37\lib\site-packages (from PolymerCpp) (1.18.4)
Requirement already satisfied: matplotlib>=2.0.0 in c:\users\mateu\appdata\local\programs\python\python37\lib\site-packages (from PolymerCpp) (3.2.1)
Requirement already satisfied: python-dateutil>=2.1 in c:\users\mateu\appdata\local\programs\python\python37\lib\site-packages (from matplotlib>=2.0.0->PolymerCpp) (2.8.1)
Requirement already satisfied: cycler>=0.10 in c:\users\mateu\appdata\local\programs\python\python37\lib\site-packages (from matplotlib>=2.0.0->PolymerCpp) (0.10.0)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\mateu\appdata\local\programs\python\python37\lib\site-packages (from matplotlib>=2.0.0->PolymerCpp) (1.2.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in c:\users\mateu\appdata\local\programs\python\python37\lib\site-packages (from matplotlib>=2.0.0->PolymerCpp) (2.4.7)
Requirement already satisfied: six>=1.5 in c:\users\mateu\appdata\local\programs\python\python37\lib\site-packages (from python-dateutil>=2.1->matplotlib>=2.0.0->PolymerCpp) (1.15.0)
Building wheels for collected packages: PolymerCpp
  Building wheel for PolymerCpp (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'c:\users\mateu\appdata\local\programs\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\mateu\\AppData\\Local\\Temp\\pip-install-mwvhxbxe\\PolymerCpp\\setup.py'"'"'; __file__='"'"'C:\\Users\\mateu\\AppData\\Local\\Temp\\pip-install-mwvhxbxe\\PolymerCpp\\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\mateu\AppData\Local\Temp\pip-wheel-hguasyx4'
       cwd: C:\Users\mateu\AppData\Local\Temp\pip-install-mwvhxbxe\PolymerCpp\
  Complete output (12 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.7
  creating build\lib.win-amd64-3.7\PolymerCpp
  copying PolymerCpp\algorithms.py -> build\lib.win-amd64-3.7\PolymerCpp
  copying PolymerCpp\helpers.py -> build\lib.win-amd64-3.7\PolymerCpp
  copying PolymerCpp\__init__.py -> build\lib.win-amd64-3.7\PolymerCpp
  running build_ext
  building 'PolymerCppCore' extension
  error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
  ----------------------------------------
  ERROR: Failed building wheel for PolymerCpp
  Running setup.py clean for PolymerCpp
Failed to build PolymerCpp
Installing collected packages: PolymerCpp
    Running setup.py install for PolymerCpp ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\mateu\appdata\local\programs\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\mateu\\AppData\\Local\\Temp\\pip-install-mwvhxbxe\\PolymerCpp\\setup.py'"'"'; __file__='"'"'C:\\Users\\mateu\\AppData\\Local\\Temp\\pip-install-mwvhxbxe\\PolymerCpp\\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\mateu\AppData\Local\Temp\pip-record-vr90owk2\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\mateu\appdata\local\programs\python\python37\Include\PolymerCpp'
         cwd: C:\Users\mateu\AppData\Local\Temp\pip-install-mwvhxbxe\PolymerCpp\
    Complete output (12 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.7
    creating build\lib.win-amd64-3.7\PolymerCpp
    copying PolymerCpp\algorithms.py -> build\lib.win-amd64-3.7\PolymerCpp
    copying PolymerCpp\helpers.py -> build\lib.win-amd64-3.7\PolymerCpp
    copying PolymerCpp\__init__.py -> build\lib.win-amd64-3.7\PolymerCpp
    running build_ext
    building 'PolymerCppCore' extension
    error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\mateu\appdata\local\programs\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\mateu\\AppData\\Local\\Temp\\pip-install-mwvhxbxe\\PolymerCpp\\setup.py'"'"'; __file__='"'"'C:\\Users\\mateu\\AppData\\Local\\Temp\\pip-install-mwvhxbxe\\PolymerCpp\\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\mateu\AppData\Local\Temp\pip-record-vr90owk2\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\mateu\appdata\local\programs\python\python37\Include\PolymerCpp' Check the logs for full command output.

I have Microsoft Visual C++ 2015 14.0.24210 installed.

segConvFactor is ignored when invoking a single WLC instance

As far as I can tell, the convSegments methods in Misc.cpp are only called by Collector instances and not when constructing individual WLC instances (and presumably SAWLC instances as well). This means that the segConvFactor parameter does nothing in the Python bindings.

Possible solutions include:

  1. Removing segConvFactor as a parameter to WLC and associated objects
  2. Moving the calls to convSegments inside the WLC, et al. objects

Solution #2 seems like less work, but one caveat is that convSegments accepts references to std::vectors, whereas the WLC parameters are doubles. @MStefko , can we overload convSegments by specifying different parameter lists to avoid this caveat? Do you think that converting the parameters every time a WLC is instantiated, rather than when the Collector is instantiated, will slow down the code significantly?

Is there a better solution than the two above that I a missing?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.