falvaro / seshat Goto Github PK
View Code? Open in Web Editor NEWHandwritten math expression parser
License: GNU General Public License v3.0
Handwritten math expression parser
License: GNU General Public License v3.0
Running the make command I keep encountering this issue:
make: *** [Makefile:65: symfeatures.o] Error 1
Having looked through the issue tickets here I cant see any that are specific to this. Could anyone share any insight into this?
I am trying to compile (make) under Ubuntu 16.04 but the compiler gets this error:
root@harp:/home/MATH/seshat# make g++ -c symfeatures.cc -O3 -Wno-unused-result -I/usr/include/boost g++: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions. Makefile:65: recipe for target 'symfeatures.o' failed make: *** [symfeatures.o] Error 4
I want to test pictures of some mathematical formulas, but I don't understand how to parse pictures to the format required by seshat.
When compiling on Ubuntu, I get the following error:
g++ -c rnnlib4seshat/WeightContainer.cpp -O3 -Wno-unused-result -I/home/rohanp/boost -I/home/rohanp/xerces/src/
rnnlib4seshat/WeightContainer.cpp:48:88: error: redeclaration of ‘template<class R> void perturb_weights(R&, real_t, bool)’ may not have default arguments [-fpermissive]
template <class R> void perturb_weights(R& weights, real_t stdDev, bool additive = true)
^
rnnlib4seshat/WeightContainer.cpp:55:85: error: redeclaration of ‘template<class R> void perturb_weights(R&, R&, bool)’ may not have default arguments [-fpermissive]
template <class R> void perturb_weights(R& weights, R& stdDevs, bool additive = true)
^
Using the -fpermissive
flag does get me past this error, but then I get a million more errors in exchange
g++ -o seshat symfeatures.o featureson.o online.o sample.o stroke.o seshat.o meparser.o gparser.o grammar.o production.o symrec.o duration.o segmentation.o sparel.o gmm.o tablecyk.o cellcyk.o hypothesis.o logspace.o Random.o DataExporter.o WeightContainer.o ClassificationLayer.o Layer.o Mdrnn.o Optimiser.o -O3 -fpermissive -Wno-unused-result -I/home/rohanp/boost -I/home/rohanp/xerces/src/ -lm
sample.o: In function `Sample::loadInkML(char*)':
sample.cc:(.text+0x2afe): undefined reference to `xercesc_3_1::XMLUni::fgXercescDefaultLocale'
sample.cc:(.text+0x2b03): undefined reference to `xercesc_3_1::XMLPlatformUtils::Initialize(char const*, char const*, xercesc_3_1::PanicHandler*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2b0a): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2b14): undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2b1b): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2b2a): undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2b31): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2b3b): undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2b42): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2b4c): undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2b53): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2b5d): undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2b64): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2b73): undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2b7a): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2b84): undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2b8b): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2b95): undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2b9c): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2bab): undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2bb2): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2bbc): undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2bc3): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2bcd): undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2bd4): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2bde): undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2bed): undefined reference to `xercesc_3_1::XMemory::operator new(unsigned long)'
sample.cc:(.text+0x2bf4): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2c08): undefined reference to `xercesc_3_1::XercesDOMParser::XercesDOMParser(xercesc_3_1::XMLValidator*, xercesc_3_1::MemoryManager*, xercesc_3_1::XMLGrammarPool*)'
sample.cc:(.text+0x2c12): undefined reference to `xercesc_3_1::AbstractDOMParser::setValidationScheme(xercesc_3_1::AbstractDOMParser::ValSchemes)'
sample.cc:(.text+0x2c1c): undefined reference to `xercesc_3_1::AbstractDOMParser::setDoNamespaces(bool)'
sample.cc:(.text+0x2c26): undefined reference to `xercesc_3_1::AbstractDOMParser::setDoSchema(bool)'
sample.cc:(.text+0x2c30): undefined reference to `xercesc_3_1::AbstractDOMParser::setLoadExternalDTD(bool)'
sample.cc:(.text+0x2c3d): undefined reference to `xercesc_3_1::AbstractDOMParser::parse(char const*)'
sample.cc:(.text+0x2c45): undefined reference to `xercesc_3_1::AbstractDOMParser::getDocument()'
sample.cc:(.text+0x2d51): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2d59): undefined reference to `xercesc_3_1::XMLString::transcode(unsigned short const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2d74): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2d89): undefined reference to `xercesc_3_1::XMLString::release(char**, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2de8): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2df9): undefined reference to `xercesc_3_1::XMLString::transcode(unsigned short const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2e4a): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2e54): undefined reference to `xercesc_3_1::XMLString::release(char**, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2ec8): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2ed0): undefined reference to `xercesc_3_1::XMLString::transcode(unsigned short const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2f48): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2f59): undefined reference to `xercesc_3_1::XMLString::transcode(unsigned short const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x2f86): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x2f90): undefined reference to `xercesc_3_1::XMLString::release(char**, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x3019): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x3023): undefined reference to `xercesc_3_1::XMLString::release(unsigned short**, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x3028): undefined reference to `xercesc_3_1::XMLPlatformUtils::Terminate()'
sample.cc:(.text+0x32cc): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x32d6): undefined reference to `xercesc_3_1::XMLString::release(char**, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x3323): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x332c): undefined reference to `xercesc_3_1::XMLString::transcode(unsigned short const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x33b5): undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'
sample.cc:(.text+0x33be): undefined reference to `xercesc_3_1::XMLString::transcode(unsigned short const*, xercesc_3_1::MemoryManager*)'
sample.cc:(.text+0x33eb): undefined reference to `xercesc_3_1::XMemory::operator delete(void*)'
sample.o: In function `xercesc_3_1::DTDEntityDecl::~DTDEntityDecl()':
sample.cc:(.text._ZN11xercesc_3_113DTDEntityDeclD2Ev[_ZN11xercesc_3_113DTDEntityDeclD5Ev]+0x8): undefined reference to `xercesc_3_1::XMLEntityDecl::~XMLEntityDecl()'
sample.o: In function `xercesc_3_1::DTDEntityDecl::~DTDEntityDecl()':
sample.cc:(.text._ZN11xercesc_3_113DTDEntityDeclD0Ev[_ZN11xercesc_3_113DTDEntityDeclD5Ev]+0xc): undefined reference to `xercesc_3_1::XMLEntityDecl::~XMLEntityDecl()'
sample.cc:(.text._ZN11xercesc_3_113DTDEntityDeclD0Ev[_ZN11xercesc_3_113DTDEntityDeclD5Ev]+0x15): undefined reference to `xercesc_3_1::XMemory::operator delete(void*)'
sample.o:(.gcc_except_table+0x84): undefined reference to `typeinfo for xercesc_3_1::XMLException'
sample.o:(.rodata._ZTIN11xercesc_3_113DTDEntityDeclE[_ZTIN11xercesc_3_113DTDEntityDeclE]+0x10): undefined reference to `typeinfo for xercesc_3_1::XMLEntityDecl'
sample.o:(.rodata._ZTVN11xercesc_3_113XMLAttDefListE[_ZTVN11xercesc_3_113XMLAttDefListE]+0x20): undefined reference to `xercesc_3_1::XMLAttDefList::isSerializable() const'
sample.o:(.rodata._ZTVN11xercesc_3_113XMLAttDefListE[_ZTVN11xercesc_3_113XMLAttDefListE]+0x28): undefined reference to `xercesc_3_1::XMLAttDefList::serialize(xercesc_3_1::XSerializeEngine&)'
sample.o:(.rodata._ZTVN11xercesc_3_113XMLAttDefListE[_ZTVN11xercesc_3_113XMLAttDefListE]+0x30): undefined reference to `xercesc_3_1::XMLAttDefList::getProtoType() const'
sample.o:(.rodata._ZTVN11xercesc_3_113DTDEntityDeclE[_ZTVN11xercesc_3_113DTDEntityDeclE]+0x20): undefined reference to `xercesc_3_1::DTDEntityDecl::isSerializable() const'
sample.o:(.rodata._ZTVN11xercesc_3_113DTDEntityDeclE[_ZTVN11xercesc_3_113DTDEntityDeclE]+0x28): undefined reference to `xercesc_3_1::DTDEntityDecl::serialize(xercesc_3_1::XSerializeEngine&)'
sample.o:(.rodata._ZTVN11xercesc_3_113DTDEntityDeclE[_ZTVN11xercesc_3_113DTDEntityDeclE]+0x30): undefined reference to `xercesc_3_1::DTDEntityDecl::getProtoType() const'
collect2: error: ld returned 1 exit status
Is this error related to the -fpermissive
flag? Why is it xercesc_3_1
instead of xercesc
? I linked xercesc
to g++ and xercesc_3_1
is not anywhere in the source code.
Help would be greatly appreciated.
I have compiled seshat on a Unix system and I get
sample.cc:31:42: fatal error: xercesc/util/PlatformUtils.hpp: No such file or directory
#include <xercesc/util/PlatformUtils.hpp>
^
compilation terminated.
Makefile:32: recipe for target 'sample.o' failed
make: *** [sample.o] Error 1
What do I need to include to make the compilation succeed?
Error: input file format is not SCG_INK
Can it be used to extract equations from a pdf doc in LaTeX format?
I want to know how to train the models using myself's dataset. The source code have the function to train the models? I want some introduce. Thanks. Sorry for my bad English.
Hi all,
I built seshat success on centos 6.7 (32 bit) use gcc version 4.4.7, boost 1_54_0, xerces-c-3.1.3.
Now I try to build seshat on ubuntu 14.04 (64 bit).
I use the same dependency on centos 6.7.
I installed gcc version 4.4.7. Use boost 1_54_0 and xerces-c-3.1.3.
But i face below error.
g++ -c sample.cc -O3 -Wno-unused-result -I/home/thelinh/work_space/math_ocr/tool_for_seshat/boost_1_54_0/
In file included from /usr/local/include/xercesc/util/Xerces_autoconf_config.hpp:88,
from /usr/local/include/xercesc/util/XercesDefs.hpp:46,
from /usr/local/include/xercesc/util/PlatformUtils.hpp:25,
from sample.cc:31:
/usr/include/inttypes.h:290: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:134: error: candidates are: typedef long int intmax_t
/home/thelinh/work_space/math_ocr/tool_for_seshat/boost_1_54_0/boost/cstdint.hpp:306: error: typedef boost::long_long_type boost::intmax_t
/usr/include/inttypes.h:290: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:134: error: candidates are: typedef long int intmax_t
/home/thelinh/work_space/math_ocr/tool_for_seshat/boost_1_54_0/boost/cstdint.hpp:306: error: typedef boost::long_long_type boost::intmax_t
/usr/include/inttypes.h:290: error: ‘intmax_t’ does not name a type
/usr/include/inttypes.h:293: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:134: error: candidates are: typedef long int intmax_t
/home/thelinh/work_space/math_ocr/tool_for_seshat/boost_1_54_0/boost/cstdint.hpp:306: error: typedef boost::long_long_type boost::intmax_t
/usr/include/inttypes.h:293: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:134: error: candidates are: typedef long int intmax_t
/home/thelinh/work_space/math_ocr/tool_for_seshat/boost_1_54_0/boost/cstdint.hpp:306: error: typedef boost::long_long_type boost::intmax_t
/usr/include/inttypes.h:293: error: reference to ‘intmax_t’ is ambiguous
...
Attacked file is output result when i run make.
results.txt
Please help me.
make
g++ -c online.cc -O3 -Wno-unused-result -I/home/jingkun/seshat/boost_1_73_0/
g++ -c featureson.cc -O3 -Wno-unused-result -I/home/jingkun/seshat/boost_1_73_0/
g++ -c symfeatures.cc -O3 -Wno-unused-result -I/home/jingkun/seshat/boost_1_73_0/
In file included from rnnlib4seshat/Helpers.hpp:46:0,
from rnnlib4seshat/DataSequence.hpp:48,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
/home/jingkun/seshat/boost_1_73_0/boost/timer.hpp:21:98: note: #pragma message: This header is deprecated. Use the facilities in <boost/timer/timer.hpp> instead.
In file included from /home/jingkun/seshat/boost_1_73_0/boost/math/constants/constants.hpp:11:0,
from /home/jingkun/seshat/boost_1_73_0/boost/math/distributions/arcsine.hpp:35,
from /home/jingkun/seshat/boost_1_73_0/boost/math/distributions.hpp:15,
from rnnlib4seshat/Helpers.hpp:55,
from rnnlib4seshat/DataSequence.hpp:48,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
/home/jingkun/seshat/boost_1_73_0/boost/math/tools/cxx03_warn.hpp:99:75: note: #pragma message: CAUTION: One or more C++11 features were found to be unavailable
BOOST_PRAGMA_MESSAGE("CAUTION: One or more C++11 features were found to be unavailable")
^
In file included from /home/jingkun/seshat/boost_1_73_0/boost/math/constants/constants.hpp:11:0,
from /home/jingkun/seshat/boost_1_73_0/boost/math/distributions/arcsine.hpp:35,
from /home/jingkun/seshat/boost_1_73_0/boost/math/distributions.hpp:15,
from rnnlib4seshat/Helpers.hpp:55,
from rnnlib4seshat/DataSequence.hpp:48,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
/home/jingkun/seshat/boost_1_73_0/boost/math/tools/cxx03_warn.hpp:100:126: note: #pragma message: CAUTION: Compiling Boost.Math in pre-C++11 conformance modes is now deprecated and will be removed from March 2021.
st.Math in pre-C++11 conformance modes is now deprecated and will be removed from March 2021
^
/home/jingkun/seshat/boost_1_73_0/boost/math/tools/cxx03_warn.hpp:101:93: note: #pragma message: CAUTION: Define BOOST_MATH_DISABLE_DEPRECATED_03_WARNING to suppress this message.
A_MESSAGE("CAUTION: Define BOOST_MATH_DISABLE_DEPRECATED_03_WARNING to suppress this message
^
/home/jingkun/seshat/boost_1_73_0/boost/math/tools/cxx03_warn.hpp:102:92: note: #pragma message: CAUTION: This message was generated due to the define: BOOST_NO_CXX11_NOEXCEPT
MA_MESSAGE("CAUTION: This message was generated due to the define: " BOOST_MATH_CXX03_WARN_R
^
In file included from rnnlib4seshat/DataSequence.hpp:48:0,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
rnnlib4seshat/Helpers.hpp: In instantiation of ‘size_t index(const R&, const T&) [with R = std::vector<std::__cxx11::basic_string >; T = std::__cxx11::basic_string; size_t = long unsigned int]’:
rnnlib4seshat/DataSequence.hpp:81:30: required from here
rnnlib4seshat/Helpers.hpp:393:40: error: call of overloaded ‘find(const std::vector<std::__cxx11::basic_string >&, const std::__cxx11::basic_string&)’ is ambiguous
return distance(boost::begin(r), find(r, t));
^
rnnlib4seshat/Helpers.hpp:290:69: note: candidate: typename boost::range_iterator::type find(R&, const T&) [with R = const std::vector<std::__cxx11::basic_string >; T = std::__cxx11::basic_string; typename boost::range_iterator::type = __gnu_cxx::__normal_iterator<const std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >]
template <class R, class T> static typename range_iterator::type find(
^
In file included from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/predicate.hpp:23:0,
from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string.hpp:21,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/tz_db_base.hpp:24,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/tz_database.hpp:14,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/local_time.hpp:19,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time.hpp:15,
from rnnlib4seshat/Helpers.hpp:43,
from rnnlib4seshat/DataSequence.hpp:48,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
/home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/find.hpp:52:9: note: candidate: boost::iterator_range<typename boost::range_iterator::type> boost::algorithm::find(RangeT&, const FinderT&) [with RangeT = const std::vector<std::__cxx11::basic_string >; FinderT = std::__cxx11::basic_string; typename boost::range_iterator::type = __gnu_cxx::__normal_iterator<const std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >]
find(
^
In file included from rnnlib4seshat/DataSequence.hpp:48:0,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
rnnlib4seshat/Helpers.hpp: In instantiation of ‘bool in(const R&, const T&) [with R = std::__cxx11::basic_string; T = char]’:
rnnlib4seshat/ConfigFile.hpp:48:34: required from here
rnnlib4seshat/Helpers.hpp:390:14: error: call of overloaded ‘find(const std::__cxx11::basic_string&, const char&)’ is ambiguous
return find(r, t) != boost::end(r);
^
rnnlib4seshat/Helpers.hpp:290:69: note: candidate: typename boost::range_iterator::type find(R&, const T&) [with R = const std::__cxx11::basic_string; T = char; typename boost::range_iterator::type = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string >]
template <class R, class T> static typename range_iterator::type find(
^
In file included from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/predicate.hpp:23:0,
from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string.hpp:21,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/tz_db_base.hpp:24,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/tz_database.hpp:14,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/local_time.hpp:19,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time.hpp:15,
from rnnlib4seshat/Helpers.hpp:43,
from rnnlib4seshat/DataSequence.hpp:48,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
/home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/find.hpp:52:9: note: candidate: boost::iterator_range<typename boost::range_iterator::type> boost::algorithm::find(RangeT&, const FinderT&) [with RangeT = const std::__cxx11::basic_string; FinderT = char; typename boost::range_iterator::type = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string >]
find(
^
In file included from rnnlib4seshat/DataSequence.hpp:48:0,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
rnnlib4seshat/Helpers.hpp: In instantiation of ‘bool in(const R&, const T&) [with R = std::set<std::__cxx11::basic_string >; T = std::__cxx11::basic_string]’:
rnnlib4seshat/ConfigFile.hpp:133:28: required from here
rnnlib4seshat/Helpers.hpp:390:14: error: call of overloaded ‘find(const std::set<std::__cxx11::basic_string >&, const std::__cxx11::basic_string&)’ is ambiguous
return find(r, t) != boost::end(r);
^
rnnlib4seshat/Helpers.hpp:290:69: note: candidate: typename boost::range_iterator::type find(R&, const T&) [with R = const std::set<std::__cxx11::basic_string >; T = std::__cxx11::basic_string; typename boost::range_iterator::type = std::_Rb_tree_const_iterator<std::__cxx11::basic_string >]
template <class R, class T> static typename range_iterator::type find(
^
In file included from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/predicate.hpp:23:0,
from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string.hpp:21,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/tz_db_base.hpp:24,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/tz_database.hpp:14,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/local_time.hpp:19,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time.hpp:15,
from rnnlib4seshat/Helpers.hpp:43,
from rnnlib4seshat/DataSequence.hpp:48,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
/home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/find.hpp:52:9: note: candidate: boost::iterator_range<typename boost::range_iterator::type> boost::algorithm::find(RangeT&, const FinderT&) [with RangeT = const std::set<std::__cxx11::basic_string >; FinderT = std::__cxx11::basic_string; typename boost::range_iterator::type = std::_Rb_tree_const_iterator<std::__cxx11::basic_string >]
find(
^
In file included from rnnlib4seshat/DataSequence.hpp:48:0,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
rnnlib4seshat/Helpers.hpp: In instantiation of ‘bool in(const R&, const T&) [with R = View; T = int]’:
rnnlib4seshat/Layer.hpp:161:5: required from here
rnnlib4seshat/Helpers.hpp:390:14: error: call of overloaded ‘find(const View&, const int&)’ is ambiguous
return find(r, t) != boost::end(r);
^
rnnlib4seshat/Helpers.hpp:290:69: note: candidate: typename boost::range_iterator::type find(R&, const T&) [with R = const View; T = int; typename boost::range_iterator::type = const long unsigned int*]
template <class R, class T> static typename range_iterator::type find(
^
In file included from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/predicate.hpp:23:0,
from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string.hpp:21,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/tz_db_base.hpp:24,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/tz_database.hpp:14,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/local_time.hpp:19,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time.hpp:15,
from rnnlib4seshat/Helpers.hpp:43,
from rnnlib4seshat/DataSequence.hpp:48,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
/home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/find.hpp:52:9: note: candidate: boost::iterator_range<typename boost::range_iterator::type> boost::algorithm::find(RangeT&, const FinderT&) [with RangeT = const View; FinderT = int; typename boost::range_iterator::type = const long unsigned int*]
find(
^
In file included from rnnlib4seshat/DataSequence.hpp:48:0,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
rnnlib4seshat/Helpers.hpp: In instantiation of ‘bool in(const R&, const T&) [with R = std::vector; T = int]’:
rnnlib4seshat/BlockLayer.hpp:69:5: required from here
rnnlib4seshat/Helpers.hpp:390:14: error: call of overloaded ‘find(const std::vector&, const int&)’ is ambiguous
return find(r, t) != boost::end(r);
^
rnnlib4seshat/Helpers.hpp:290:69: note: candidate: typename boost::range_iterator::type find(R&, const T&) [with R = const std::vector; T = int; typename boost::range_iterator::type = __gnu_cxx::__normal_iterator<const long unsigned int*, std::vector >]
template <class R, class T> static typename range_iterator::type find(
^
In file included from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/predicate.hpp:23:0,
from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string.hpp:21,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/tz_db_base.hpp:24,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/tz_database.hpp:14,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/local_time.hpp:19,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time.hpp:15,
from rnnlib4seshat/Helpers.hpp:43,
from rnnlib4seshat/DataSequence.hpp:48,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
/home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/find.hpp:52:9: note: candidate: boost::iterator_range<typename boost::range_iterator::type> boost::algorithm::find(RangeT&, const FinderT&) [with RangeT = const std::vector; FinderT = int; typename boost::range_iterator::type = __gnu_cxx::__normal_iterator<const long unsigned int*, std::vector >]
find(
^
In file included from rnnlib4seshat/DataSequence.hpp:48:0,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
rnnlib4seshat/Helpers.hpp: In instantiation of ‘int arg_max(const R&) [with R = View]’:
rnnlib4seshat/ClassificationLayer.hpp:144:39: required from here
rnnlib4seshat/Helpers.hpp:542:18: error: call of overloaded ‘distance(boost::range_detail::extract_const_iterator<View, true>::type, const double*)’ is ambiguous
return distance(boost::begin(r), max_element(boost::begin(r), boost::end(r)));
^
In file included from /home/jingkun/seshat/boost_1_73_0/boost/range/distance.hpp:18:0,
from /home/jingkun/seshat/boost_1_73_0/boost/range/functions.hpp:21,
from /home/jingkun/seshat/boost_1_73_0/boost/range/iterator_range_core.hpp:38,
from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/replace.hpp:1 ,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/date_facet.hpp:17,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/gregorian/gregorian_io.hpp:16,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/gregorian/gregorian.hpp:31,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/posix_time/time_formatters.hpp:12,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/posix_time/posix_time.hpp:24,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/local_time.hpp:11,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time.hpp:15,
from rnnlib4seshat/Helpers.hpp:43,
from rnnlib4seshat/DataSequence.hpp:48,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
/home/jingkun/seshat/boost_1_73_0/boost/iterator/distance.hpp:49:9: note: candidate: typename boost::iterators::iterator_difference::type boost::iterators::distance_adl_barrier::distance(SinglePassIterator, SinglePassIterator) [with SinglePassIterator = const double*; typename boost::iterators::iterator_difference::type = long int]
distance(SinglePassIterator first, SinglePassIterator last)
^
In file included from /usr/include/c++/5/bits/stl_algobase.h:66:0,
from /usr/include/c++/5/bits/char_traits.h:39,
from /usr/include/c++/5/ios:40,
from /usr/include/c++/5/ostream:38,
from /usr/include/c++/5/iostream:39,
from symfeatures.h:25,
from symfeatures.cc:18:
/usr/include/c++/5/bits/stl_iterator_base_funcs.h:114:5: note: candidate: typename std::iterator_traits<_Iterator>::difference_type std::distance(_InputIterator, _InputIterator) [with _InputIterator = const double*; typename std::iterator_traits<_Iterator>::difference_type = long int]
distance(_InputIterator __first, _InputIterator __last)
^
In file included from rnnlib4seshat/DataSequence.hpp:48:0,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
rnnlib4seshat/Helpers.hpp: In instantiation of ‘size_t index(const R&, const T&) [with R = std::vector<std::__cxx11::basic_string >; T = char [6]; size_t = long unsigned int]’:
rnnlib4seshat/TranscriptionLayer.hpp:66:36: required from here
rnnlib4seshat/Helpers.hpp:393:40: error: call of overloaded ‘find(const std::vector<std::__cxx11::basic_string >&, const char [6])’ is ambiguous
return distance(boost::begin(r), find(r, t));
^
rnnlib4seshat/Helpers.hpp:290:69: note: candidate: typename boost::range_iterator::type find(R&, const T&) [with R = const std::vector<std::__cxx11::basic_string >; T = char [6]; typename boost::range_iterator::type = __gnu_cxx::__normal_iterator<const std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >]
template <class R, class T> static typename range_iterator::type find(
^
In file included from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/predicate.hpp:23:0,
from /home/jingkun/seshat/boost_1_73_0/boost/algorithm/string.hpp:21,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/tz_db_base.hpp:24,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/tz_database.hpp:14,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time/local_time/local_time.hpp:19,
from /home/jingkun/seshat/boost_1_73_0/boost/date_time.hpp:15,
from rnnlib4seshat/Helpers.hpp:43,
from rnnlib4seshat/DataSequence.hpp:48,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
/home/jingkun/seshat/boost_1_73_0/boost/algorithm/string/find.hpp:52:9: note: candidate: boost::iterator_range<typename boost::range_iterator::type> boost::algorithm::find(RangeT&, const FinderT&) [with RangeT = const std::vector<std::__cxx11::basic_string >; FinderT = char [6]; typename boost::range_iterator::type = __gnu_cxx::__normal_iterator<const std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >]
find(
^
Makefile:65: recipe for target 'symfeatures.o' failed
make: *** [symfeatures.o] Error 1
g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu116.04.12' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu16.04.12)
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1
I have compiled it but now I am not able to use this for my used case I want to get latex code given an image but this accepts input in inkml and some other format can you help me with
if possible how can i get the latex of mathmatical expression given an image
2 if the above is not possible how can i convert my image to the inkml format so that I could use seshat for my used case
Kindly help!!
Thanks!!
I almost finish but I got a bug in run seshat
./seshat -c Config/CONFIG -i SampleMathExps/exp.scgink -o out.inkml -r render.pgm -d out.dot
Output is "Segmentation fault (core dumped)"
How can I fix it?
Thanks you.
If I'm following the implementation correctly, the code creates multiple alternative hypotheses about possible equation matches. However, the final output is the most probably hypothesis only. Are you planning to have an API that could output multiple hypotheses in probability order?
Hello @falvaro
I have downloaded the boost libraries from https://dl.bintray.com/boostorg/release/1.73.0/source/ (boost_1_73_0.7z)
After that, I have set the path as "FLAGS = -O3 -Wno-unused-result -I/boost_1_73_0/boost/"
Then I try to build using make and I get a lot of errors. I have posted one error.
rnnlib4seshat/Helpers.hpp:578:54: error: cannot convert ‘std::pair<boost::iterators::zip_iterator<std::tuple<double*, double*, double*> >, boost::iterators::zip_iterator<std::tuple<double*, double*, double*> > >’ to ‘int’ in return
boost::end(r3) - (boost::size(r3) - size))));
^
Makefile:65: recipe for target 'symfeatures.o' failed
make: *** [symfeatures.o] Error 1
What seems to be the issue in this case?
Thanks.
g++ -o seshat symfeatures.o featureson.o online.o sample.o stroke.o seshat.o meparser.o gparser.o grammar.o pro
duction.o symrec.o duration.o segmentation.o sparel.o gmm.o tablecyk.o cellcyk.o hypothesis.o logspace.o Random
.o DataExporter.o WeightContainer.o ClassificationLayer.o Layer.o Mdrnn.o Optimiser.o -O3 -std=c++11 -Wno-unuse
d-result -fpermissive -I C:/BOOST_1_76_0 -I C:/xerces-c/src -I C:/xerces-c/build/src -lxerces-c -lm
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lxerces-c
collect2.exe: error: ld returned 1 exit status
make: *** [seshat] Error 1
Error
In file included from rnnlib4seshat/DataSequence.hpp:48:0,
from symrec.h:30,
from production.h:28,
from hypothesis.h:30,
from cellcyk.h:24,
from tablecyk.h:26,
from sample.h:27,
from symfeatures.h:32,
from symfeatures.cc:18:
rnnlib4seshat/Helpers.hpp: In instantiation of 'int zip(R1&, R2&, R3&) [with R1 = const View; R2 = const View; R3 = const View]':
rnnlib4seshat/NeuronLayer.hpp:71:3: required from 'void NeuronLayer::feed_back(const std::vector&) [with F = Logistic]'
symfeatures.cc:218:1: required from here
rnnlib4seshat/Helpers.hpp:578:54: error: cannot convert 'std::pair<boost::iterators::zip_iterator<std::tuple<double*, double*, double*> >, boost::iterators::zip_iterator<std::tuple<double*, double*, double*> > >' to 'int' in return
boost::end(r3) - (boost::size(r3) - size))));
Hello,
Do you think this (awesome) library can be compiled to WebAssembly?
Can someone make python wrapper of seshat, It will be super easy to use this then. Like we have python wrapper of tesseract as pytesseract
Please help!!
After connecting my boost library, I get this error, along with a lot of other errors.
Scanning dependencies of target seshat_master
[ 7%] Building CXX object CMakeFiles/seshat_master.dir/rnnlib4seshat/Mdrnn.cpp.obj
[ 11%] Building CXX object CMakeFiles/seshat_master.dir/rnnlib4seshat/DataExporter.cpp.obj
[ 14%] Building CXX object CMakeFiles/seshat_master.dir/rnnlib4seshat/ClassificationLayer.cpp.obj
[ 14%] Building CXX object CMakeFiles/seshat_master.dir/rnnlib4seshat/Layer.cpp.obj
In file included from D:\Downloads\seshat-master\rnnlib4seshat\MultiArray.hpp:30:0,
from D:\Downloads\seshat-master\rnnlib4seshat\SeqBuffer.hpp:23,
from D:\Downloads\seshat-master\rnnlib4seshat\Layer.hpp:48,
from D:\Downloads\seshat-master\rnnlib4seshat\Layer.cpp:40:
D:\Downloads\seshat-master\rnnlib4seshat\Helpers.hpp:154:15: error: reference to 'tuple' is ambiguous
typedef const tuple<real_t&, real_t&, real_t&, real_t&>& TDDDD;
^~~~~
In file included from D:/Downloads/boost_1_65_1/boost_1_65_1/boost/tuple/tuple.hpp:28:0,
from D:/Downloads/boost_1_65_1/boost_1_65_1/boost/assign/list_of.hpp:22,
from D:\Downloads\seshat-master\rnnlib4seshat\Layer.hpp:43,
from D:\Downloads\seshat-master\rnnlib4seshat\Layer.cpp:40:
D:/Downloads/boost_1_65_1/boost_1_65_1/boost/tuple/detail/tuple_basic.hpp:81:7: note: candidates are: template<class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9> class boost::tuples::tuple
class tuple;
does this mean I did not link the boost library properly? Or is there something missing? In my cmake file, I have this
SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "D:/Downloads/boost_1_65_1/boost_1_65_1")
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "D:/Downloads/boost_1_65_1/boost_1_65_1/lib")
find_package(boost COMPONENTS system filesystem REQUIRED)
if(Boost_FOUND)
message(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
message(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")
message(STATUS "Boost_VERSION: ${Boost_VERSION}")
include_directories(${Boost_INCLUDE_DIRS})
endif()
and it does manage to find the Boost library.
also when I make from terminal, I get this error:
g++ -c online.cc -O3 -Wno-unused-result -ID:/Downloads/boost_1_65_1/boost_1_65_1
online.cc: In member function 'int stroke::F_XMIN()':
online.cc:60:12: error: 'INT_MAX' was not declared in this scope
int xmin=INT_MAX;
^~~~~~~
online.cc: In member function 'int stroke::F_XMAX()':
online.cc:67:12: error: 'INT_MIN' was not declared in this scope
int xmax=INT_MIN;
^~~~~~~
make: *** [online.o] Error 1
any ideas?
I have a build error:
make g++ -c online.cc -O3 -Wno-unused-result -I/path/to/boost/ In file included from online.cc:38: ./online.h:42:10: fatal error: 'values.h' file not found #include <values.h> ^~~~~~~~~~ 1 error generated. make: *** [online.o] Error 1
Not sure what the cause is.
I've tried to compile seshat
on my system, Arch Linux x86_64
but with no luck!
Compilation starts but stucks...
here below the (very) long output:
http://pastebin.com/nLhPQer1
I just found http://cat.prhlt.upv.es/mer/ and could not wait to test it.
It is amazing. Very impressive.
And then I read the "accepted expressions" part on the web page.
It does not mention the vector symbols with arrow above, or characters like è,ô, ü that are frequently used (at least in my writings).
So will you support it in the near future?
Thanks for making this library available!! I forked your code and made a couple of adjustments so that it now compiles under OSX.
I'm now trying to change the program so that it can parse multiple input stroke data instances in a single run. Ideally, I'd like to keep the program running and read continually from stdin -- posting the latex results on stdout whenever something comes in.
I think I would need to refactor the meParser
class to only read the config once and clean things up after it parsed each input to avoid memory leaks. Does that sound right to you? Can you give me any pointers to how you would approach this task and what things I will need to change?
Thank you so much! Your work is awesome!
Hello! I have tried to run the project without success, even after including the boost libraries.
I see that the same issue arose on threat #28 with @Narsil forking the repository and fixing some disambiguation issues.
When I try to run their code, I still get some errors, however, precisely on the pieces of code that were updated with "::find".
Can someone help me correct this?
Thank you!
I believe that the training data is at Config/SymRec/*
. However, I cannot figure out how one is supposed to improve those files. Is there any documentation about these files available?
Hello! I would like to thank you for such a wonderful project! I've got the question: is there any possibility to change output format from LaTex to infix or MathML?
compiling symfeatures.cc on arch linux fails:
g++ -c symfeatures.cc -O3 -Wno-unused-result In file included from /usr/include/c++/5.3.0/bits/stl_algobase.h:65:0, from /usr/include/c++/5.3.0/bits/char_traits.h:39, from /usr/include/c++/5.3.0/ios:40, from /usr/include/c++/5.3.0/ostream:38, from /usr/include/c++/5.3.0/iostream:39, from symfeatures.h:25, from symfeatures.cc:18: /usr/include/c++/5.3.0/bits/stl_iterator_base_types.h: In instantiation of 'struct std::iterator_traits<double* const>': /usr/include/boost/iterator/iterator_traits.hpp:28:74: required from 'struct boost::iterators::iterator_reference<double* const>' /usr/include/boost/iterator/zip_iterator.hpp:90:61: required from 'struct boost::iterators::detail::dereference_iterator::result<boost::iterators::detail::dereference_iterator(double* const&)>' /usr/include/boost/utility/result_of.hpp:189:8: required from 'struct boost::detail::result_of_nested_result<boost::iterators::detail::dereference_iterator, boost::iterators::detail::dereference_iterator(double* const&)>' /usr/include/boost/utility/result_of.hpp:193:8: required from 'struct boost::detail::tr1_result_of_impl<boost::iterators::detail::dereference_iterator, boost::iterators::detail::dereference_iterator(double* const&), false>' /usr/include/boost/utility/detail/result_of_iterate.hpp:27:8: required from 'struct boost::tr1_result_of<boost::iterators::detail::dereference_iterator(double* const&)>' /usr/include/boost/utility/detail/result_of_iterate.hpp:159:8: [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/iterator/zip_iterator.hpp:214:40: required from 'static reference boost::iterators::detail::converter<reference>::call(Seq) [with Seq = boost::fusion::transform_view<const boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::iterators::detail::dereference_iterator, boost::fusion::void_>; reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >]' /usr/include/boost/iterator/zip_iterator.hpp:287:25: required from 'typename boost::iterators::detail::zip_iterator_base<IteratorTuple>::type::reference boost::iterators::zip_iterator<IteratorTuple>::dereference() const [with IteratorTuple = boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>; typename boost::iterators::detail::zip_iterator_base<IteratorTuple>::type::reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >]' /usr/include/boost/iterator/iterator_facade.hpp:549:32: required from 'static typename Facade::reference boost::iterators::iterator_core_access::dereference(const Facade&) [with Facade = boost::iterators::zip_iterator<boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >; typename Facade::reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >]' /usr/include/boost/iterator/iterator_facade.hpp:655:53: required from 'boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::reference boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::operator*() const [with Derived = boost::iterators::zip_iterator<boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >; Value = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >; CategoryOrTraversal = boost::iterators::random_access_traversal_tag; Reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >; Difference = long int; boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >]' /usr/include/boost/foreach.hpp:771:12: required from 'typename boost::foreach_detail_::foreach_reference<T, C>::type boost::foreach_detail_::deref(boost::foreach_detail_::auto_any_t, boost::foreach_detail_::type2type<T, C>*) [with T = std::pair<boost::iterators::zip_iterator<boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::zip_iterator<boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >; C = mpl_::bool_<true>; typename boost::foreach_detail_::foreach_reference<T, C>::type = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >; boost::foreach_detail_::auto_any_t = const boost::foreach_detail_::auto_any_base&]' rnnlib4seshat/SoftmaxLayer.hpp:81:3: required from here /usr/include/c++/5.3.0/bits/stl_iterator_base_types.h:168:53: error: 'double* const' is not a class, struct, or union type typedef typename _Iterator::iterator_category iterator_category; ^ /usr/include/c++/5.3.0/bits/stl_iterator_base_types.h:169:53: error: 'double* const' is not a class, struct, or union type typedef typename _Iterator::value_type value_type; ^ /usr/include/c++/5.3.0/bits/stl_iterator_base_types.h:170:53: error: 'double* const' is not a class, struct, or union type typedef typename _Iterator::difference_type difference_type; ^ /usr/include/c++/5.3.0/bits/stl_iterator_base_types.h:171:53: error: 'double* const' is not a class, struct, or union type typedef typename _Iterator::pointer pointer; ^ /usr/include/c++/5.3.0/bits/stl_iterator_base_types.h:172:53: error: 'double* const' is not a class, struct, or union type typedef typename _Iterator::reference reference; ^ In file included from /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:11:0, from /usr/include/boost/fusion/adapted/boost_tuple.hpp:20, from /usr/include/boost/iterator/zip_iterator.hpp:21, from rnnlib4seshat/Helpers.hpp:50, from rnnlib4seshat/DataSequence.hpp:48, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp: In instantiation of 'static boost::fusion::detail::build_tuple_cons<First, Last, false>::type boost::fusion::detail::build_tuple_cons<First, Last, false>::call(const First&, const Last&) [with First = boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::detail::dereference_iterator>; Last = boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::null_type>, boost::iterators::detail::dereference_iterator>; boost::fusion::detail::build_tuple_cons<First, Last, false>::type = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >; typename boost::fusion::detail::build_tuple_cons<typename boost::fusion::result_of::next<Iterator>::type, Last>::type = boost::tuples::cons<Log<double>&, boost::tuples::null_type>; typename boost::fusion::result_of::value_of<First>::type = double&]': /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:43:50: required from 'static boost::fusion::extension::convert_impl<boost::fusion::boost_tuple_tag>::apply<Sequence>::type boost::fusion::extension::convert_impl<boost::fusion::boost_tuple_tag>::apply<Sequence>::call(Sequence&) [with Sequence = boost::fusion::transform_view<const boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::iterators::detail::dereference_iterator, boost::fusion::void_>; boost::fusion::extension::convert_impl<boost::fusion::boost_tuple_tag>::apply<Sequence>::type = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >]' /usr/include/boost/fusion/sequence/convert.hpp:39:25: required from 'typename boost::fusion::result_of::convert<Tag, Sequence>::type boost::fusion::convert(Sequence&) [with Tag = boost::fusion::boost_tuple_tag; Sequence = boost::fusion::transform_view<const boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::iterators::detail::dereference_iterator, boost::fusion::void_>; typename boost::fusion::result_of::convert<Tag, Sequence>::type = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >]' /usr/include/boost/iterator/zip_iterator.hpp:214:40: required from 'static reference boost::iterators::detail::converter<reference>::call(Seq) [with Seq = boost::fusion::transform_view<const boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::iterators::detail::dereference_iterator, boost::fusion::void_>; reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >]' /usr/include/boost/iterator/zip_iterator.hpp:287:25: required from 'typename boost::iterators::detail::zip_iterator_base<IteratorTuple>::type::reference boost::iterators::zip_iterator<IteratorTuple>::dereference() const [with IteratorTuple = boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>; typename boost::iterators::detail::zip_iterator_base<IteratorTuple>::type::reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >]' /usr/include/boost/iterator/iterator_facade.hpp:549:32: required from 'static typename Facade::reference boost::iterators::iterator_core_access::dereference(const Facade&) [with Facade = boost::iterators::zip_iterator<boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >; typename Facade::reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >]' /usr/include/boost/iterator/iterator_facade.hpp:655:53: required from 'boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::reference boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::operator*() const [with Derived = boost::iterators::zip_iterator<boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >; Value = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >; CategoryOrTraversal = boost::iterators::random_access_traversal_tag; Reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >; Difference = long int; boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >]' /usr/include/boost/foreach.hpp:771:12: required from 'typename boost::foreach_detail_::foreach_reference<T, C>::type boost::foreach_detail_::deref(boost::foreach_detail_::auto_any_t, boost::foreach_detail_::type2type<T, C>*) [with T = std::pair<boost::iterators::zip_iterator<boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::zip_iterator<boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >; C = mpl_::bool_<true>; typename boost::foreach_detail_::foreach_reference<T, C>::type = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >; boost::foreach_detail_::auto_any_t = const boost::foreach_detail_::auto_any_base&]' rnnlib4seshat/SoftmaxLayer.hpp:81:3: required from here /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp:53:59: error: no match for 'operator*' (operand type is 'const boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::detail::dereference_iterator>') typename result_of::value_of<First>::type v = *f; ^ In file included from /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp:14:0, from /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:11, from /usr/include/boost/fusion/adapted/boost_tuple.hpp:20, from /usr/include/boost/iterator/zip_iterator.hpp:21, from rnnlib4seshat/Helpers.hpp:50, from rnnlib4seshat/DataSequence.hpp:48, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/boost/fusion/iterator/deref.hpp:69:5: note: candidate: template<class Iterator> typename boost::fusion::result_of::deref<Iterator>::type boost::fusion::operator*(const boost::fusion::iterator_base<Derived>&) operator*(iterator_base<Iterator> const& i) ^ /usr/include/boost/fusion/iterator/deref.hpp:69:5: note: substitution of deduced template arguments resulted in errors seen above In file included from rnnlib4seshat/Helpers.hpp:72:0, from rnnlib4seshat/DataSequence.hpp:48, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: rnnlib4seshat/Log.hpp:169:26: note: candidate: template<class T> Log<T> operator*(Log<T>, Log<T>) template<class T> Log<T> operator *(Log<T> log1, Log<T> log2) ^ rnnlib4seshat/Log.hpp:169:26: note: template argument deduction/substitution failed: In file included from /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:11:0, from /usr/include/boost/fusion/adapted/boost_tuple.hpp:20, from /usr/include/boost/iterator/zip_iterator.hpp:21, from rnnlib4seshat/Helpers.hpp:50, from rnnlib4seshat/DataSequence.hpp:48, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp:53:59: note: 'boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::tuple<double*, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::detail::dereference_iterator>' is not derived from 'Log<T>' typename result_of::value_of<First>::type v = *f; ^ /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp: In instantiation of 'static boost::fusion::detail::build_tuple_cons<First, Last, false>::type boost::fusion::detail::build_tuple_cons<First, Last, false>::call(const First&, const Last&) [with First = boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::tuple<double*, double*, double*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::detail::dereference_iterator>; Last = boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::null_type>, boost::iterators::detail::dereference_iterator>; boost::fusion::detail::build_tuple_cons<First, Last, false>::type = boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::null_type> > >; typename boost::fusion::detail::build_tuple_cons<typename boost::fusion::result_of::next<Iterator>::type, Last>::type = boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::null_type> >; typename boost::fusion::result_of::value_of<First>::type = double&]': /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:43:50: required from 'static boost::fusion::extension::convert_impl<boost::fusion::boost_tuple_tag>::apply<Sequence>::type boost::fusion::extension::convert_impl<boost::fusion::boost_tuple_tag>::apply<Sequence>::call(Sequence&) [with Sequence = boost::fusion::transform_view<const boost::tuples::tuple<double*, double*, double*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::iterators::detail::dereference_iterator, boost::fusion::void_>; boost::fusion::extension::convert_impl<boost::fusion::boost_tuple_tag>::apply<Sequence>::type = boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::null_type> > >]' /usr/include/boost/fusion/sequence/convert.hpp:39:25: required from 'typename boost::fusion::result_of::convert<Tag, Sequence>::type boost::fusion::convert(Sequence&) [with Tag = boost::fusion::boost_tuple_tag; Sequence = boost::fusion::transform_view<const boost::tuples::tuple<double*, double*, double*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::iterators::detail::dereference_iterator, boost::fusion::void_>; typename boost::fusion::result_of::convert<Tag, Sequence>::type = boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::null_type> > >]' /usr/include/boost/iterator/zip_iterator.hpp:214:40: required from 'static reference boost::iterators::detail::converter<reference>::call(Seq) [with Seq = boost::fusion::transform_view<const boost::tuples::tuple<double*, double*, double*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::iterators::detail::dereference_iterator, boost::fusion::void_>; reference = boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::null_type> > >]' /usr/include/boost/iterator/zip_iterator.hpp:287:25: required from 'typename boost::iterators::detail::zip_iterator_base<IteratorTuple>::type::reference boost::iterators::zip_iterator<IteratorTuple>::dereference() const [with IteratorTuple = boost::tuples::tuple<double*, double*, double*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>; typename boost::iterators::detail::zip_iterator_base<IteratorTuple>::type::reference = boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::null_type> > >]' /usr/include/boost/iterator/iterator_facade.hpp:549:32: required from 'static typename Facade::reference boost::iterators::iterator_core_access::dereference(const Facade&) [with Facade = boost::iterators::zip_iterator<boost::tuples::tuple<double*, double*, double*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >; typename Facade::reference = boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::null_type> > >]' /usr/include/boost/iterator/iterator_facade.hpp:655:53: required from 'boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::reference boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::operator*() const [with Derived = boost::iterators::zip_iterator<boost::tuples::tuple<double*, double*, double*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >; Value = boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::null_type> > >; CategoryOrTraversal = boost::iterators::random_access_traversal_tag; Reference = boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::null_type> > >; Difference = long int; boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::reference = boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::null_type> > >]' /usr/include/boost/foreach.hpp:771:12: required from 'typename boost::foreach_detail_::foreach_reference<T, C>::type boost::foreach_detail_::deref(boost::foreach_detail_::auto_any_t, boost::foreach_detail_::type2type<T, C>*) [with T = std::pair<boost::iterators::zip_iterator<boost::tuples::tuple<double*, double*, double*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::zip_iterator<boost::tuples::tuple<double*, double*, double*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >; C = mpl_::bool_<true>; typename boost::foreach_detail_::foreach_reference<T, C>::type = boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::cons<double&, boost::tuples::null_type> > >; boost::foreach_detail_::auto_any_t = const boost::foreach_detail_::auto_any_base&]' rnnlib4seshat/SoftmaxLayer.hpp:100:3: required from here /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp:53:59: error: no match for 'operator*' (operand type is 'const boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::tuple<double*, double*, double*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::detail::dereference_iterator>') In file included from /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp:14:0, from /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:11, from /usr/include/boost/fusion/adapted/boost_tuple.hpp:20, from /usr/include/boost/iterator/zip_iterator.hpp:21, from rnnlib4seshat/Helpers.hpp:50, from rnnlib4seshat/DataSequence.hpp:48, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/boost/fusion/iterator/deref.hpp:69:5: note: candidate: template<class Iterator> typename boost::fusion::result_of::deref<Iterator>::type boost::fusion::operator*(const boost::fusion::iterator_base<Derived>&) operator*(iterator_base<Iterator> const& i) ^ /usr/include/boost/fusion/iterator/deref.hpp:69:5: note: template argument deduction/substitution failed: In file included from /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:11:0, from /usr/include/boost/fusion/adapted/boost_tuple.hpp:20, from /usr/include/boost/iterator/zip_iterator.hpp:21, from rnnlib4seshat/Helpers.hpp:50, from rnnlib4seshat/DataSequence.hpp:48, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp: In instantiation of 'static boost::fusion::detail::build_tuple_cons<First, Last, false>::type boost::fusion::detail::build_tuple_cons<First, Last, false>::call(const First&, const Last&) [with First = boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::detail::dereference_iterator>; Last = boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::null_type>, boost::iterators::detail::dereference_iterator>; boost::fusion::detail::build_tuple_cons<First, Last, false>::type = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> > >; typename boost::fusion::detail::build_tuple_cons<typename boost::fusion::result_of::next<Iterator>::type, Last>::type = boost::tuples::cons<Log<double>&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> >; typename boost::fusion::result_of::value_of<First>::type = double&]': /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:43:50: required from 'static boost::fusion::extension::convert_impl<boost::fusion::boost_tuple_tag>::apply<Sequence>::type boost::fusion::extension::convert_impl<boost::fusion::boost_tuple_tag>::apply<Sequence>::call(Sequence&) [with Sequence = boost::fusion::transform_view<const boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::iterators::detail::dereference_iterator, boost::fusion::void_>; boost::fusion::extension::convert_impl<boost::fusion::boost_tuple_tag>::apply<Sequence>::type = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> > >]' /usr/include/boost/fusion/sequence/convert.hpp:39:25: required from 'typename boost::fusion::result_of::convert<Tag, Sequence>::type boost::fusion::convert(Sequence&) [with Tag = boost::fusion::boost_tuple_tag; Sequence = boost::fusion::transform_view<const boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::iterators::detail::dereference_iterator, boost::fusion::void_>; typename boost::fusion::result_of::convert<Tag, Sequence>::type = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> > >]' /usr/include/boost/iterator/zip_iterator.hpp:214:40: required from 'static reference boost::iterators::detail::converter<reference>::call(Seq) [with Seq = boost::fusion::transform_view<const boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::iterators::detail::dereference_iterator, boost::fusion::void_>; reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> > >]' /usr/include/boost/iterator/zip_iterator.hpp:287:25: required from 'typename boost::iterators::detail::zip_iterator_base<IteratorTuple>::type::reference boost::iterators::zip_iterator<IteratorTuple>::dereference() const [with IteratorTuple = boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>; typename boost::iterators::detail::zip_iterator_base<IteratorTuple>::type::reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> > >]' /usr/include/boost/iterator/iterator_facade.hpp:549:32: required from 'static typename Facade::reference boost::iterators::iterator_core_access::dereference(const Facade&) [with Facade = boost::iterators::zip_iterator<boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >; typename Facade::reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> > >]' /usr/include/boost/iterator/iterator_facade.hpp:655:53: required from 'boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::reference boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::operator*() const [with Derived = boost::iterators::zip_iterator<boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >; Value = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> > >; CategoryOrTraversal = boost::iterators::random_access_traversal_tag; Reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> > >; Difference = long int; boost::iterators::detail::iterator_facade_base<Derived, Value, CategoryOrTraversal, Reference, Difference, false, false>::reference = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> > >]' /usr/include/boost/foreach.hpp:771:12: required from 'typename boost::foreach_detail_::foreach_reference<T, C>::type boost::foreach_detail_::deref(boost::foreach_detail_::auto_any_t, boost::foreach_detail_::type2type<T, C>*) [with T = std::pair<boost::iterators::zip_iterator<boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::zip_iterator<boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >; C = mpl_::bool_<true>; typename boost::foreach_detail_::foreach_reference<T, C>::type = boost::tuples::cons<double&, boost::tuples::cons<Log<double>&, boost::tuples::cons<Log<double>&, boost::tuples::null_type> > >; boost::foreach_detail_::auto_any_t = const boost::foreach_detail_::auto_any_base&]' rnnlib4seshat/TranscriptionLayer.hpp:248:4: required from here /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp:53:59: error: no match for 'operator*' (operand type is 'const boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::detail::dereference_iterator>') typename result_of::value_of<First>::type v = *f; ^ In file included from /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp:14:0, from /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:11, from /usr/include/boost/fusion/adapted/boost_tuple.hpp:20, from /usr/include/boost/iterator/zip_iterator.hpp:21, from rnnlib4seshat/Helpers.hpp:50, from rnnlib4seshat/DataSequence.hpp:48, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/boost/fusion/iterator/deref.hpp:69:5: note: candidate: template<class Iterator> typename boost::fusion::result_of::deref<Iterator>::type boost::fusion::operator*(const boost::fusion::iterator_base<Derived>&) operator*(iterator_base<Iterator> const& i) ^ /usr/include/boost/fusion/iterator/deref.hpp:69:5: note: template argument deduction/substitution failed: In file included from rnnlib4seshat/Helpers.hpp:72:0, from rnnlib4seshat/DataSequence.hpp:48, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: rnnlib4seshat/Log.hpp:169:26: note: candidate: template<class T> Log<T> operator*(Log<T>, Log<T>) template<class T> Log<T> operator *(Log<T> log1, Log<T> log2) ^ rnnlib4seshat/Log.hpp:169:26: note: template argument deduction/substitution failed: In file included from /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:11:0, from /usr/include/boost/fusion/adapted/boost_tuple.hpp:20, from /usr/include/boost/iterator/zip_iterator.hpp:21, from rnnlib4seshat/Helpers.hpp:50, from rnnlib4seshat/DataSequence.hpp:48, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp:53:59: note: 'boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::detail::dereference_iterator>' is not derived from 'Log<T>' typename result_of::value_of<First>::type v = *f; ^ In file included from /usr/include/boost/detail/container_fwd.hpp:98:0, from /usr/include/boost/functional/hash/extensions.hpp:22, from /usr/include/boost/functional/hash/hash.hpp:558, from /usr/include/boost/bimap/relation/mutant_relation.hpp:29, from /usr/include/boost/bimap/detail/bimap_core.hpp:38, from /usr/include/boost/bimap/bimap.hpp:61, from /usr/include/boost/bimap.hpp:13, from rnnlib4seshat/DataSequence.hpp:47, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/c++/5.3.0/complex:404:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const _Tp&, const std::complex<_Tp>&) operator*(const _Tp& __x, const complex<_Tp>& __y) ^ /usr/include/c++/5.3.0/complex:404:5: note: template argument deduction/substitution failed: In file included from /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:11:0, from /usr/include/boost/fusion/adapted/boost_tuple.hpp:20, from /usr/include/boost/iterator/zip_iterator.hpp:21, from rnnlib4seshat/Helpers.hpp:50, from rnnlib4seshat/DataSequence.hpp:48, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp:53:59: note: candidate expects 2 arguments, 1 provided typename result_of::value_of<First>::type v = *f; ^ In file included from /usr/include/boost/detail/container_fwd.hpp:98:0, from /usr/include/boost/functional/hash/extensions.hpp:22, from /usr/include/boost/functional/hash/hash.hpp:558, from /usr/include/boost/bimap/relation/mutant_relation.hpp:29, from /usr/include/boost/bimap/detail/bimap_core.hpp:38, from /usr/include/boost/bimap/bimap.hpp:61, from /usr/include/boost/bimap.hpp:13, from rnnlib4seshat/DataSequence.hpp:47, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/c++/5.3.0/complex:395:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const _Tp&) operator*(const complex<_Tp>& __x, const _Tp& __y) ^ /usr/include/c++/5.3.0/complex:395:5: note: template argument deduction/substitution failed: In file included from /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:11:0, from /usr/include/boost/fusion/adapted/boost_tuple.hpp:20, from /usr/include/boost/iterator/zip_iterator.hpp:21, from rnnlib4seshat/Helpers.hpp:50, from rnnlib4seshat/DataSequence.hpp:48, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp:53:59: note: 'const boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::detail::dereference_iterator>' is not derived from 'const std::complex<_Tp>' typename result_of::value_of<First>::type v = *f; ^ In file included from /usr/include/boost/detail/container_fwd.hpp:98:0, from /usr/include/boost/functional/hash/extensions.hpp:22, from /usr/include/boost/functional/hash/hash.hpp:558, from /usr/include/boost/bimap/relation/mutant_relation.hpp:29, from /usr/include/boost/bimap/detail/bimap_core.hpp:38, from /usr/include/boost/bimap/bimap.hpp:61, from /usr/include/boost/bimap.hpp:13, from rnnlib4seshat/DataSequence.hpp:47, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/c++/5.3.0/complex:386:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const std::complex<_Tp>&) operator*(const complex<_Tp>& __x, const complex<_Tp>& __y) ^ /usr/include/c++/5.3.0/complex:386:5: note: template argument deduction/substitution failed: In file included from /usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp:11:0, from /usr/include/boost/fusion/adapted/boost_tuple.hpp:20, from /usr/include/boost/iterator/zip_iterator.hpp:21, from rnnlib4seshat/Helpers.hpp:50, from rnnlib4seshat/DataSequence.hpp:48, from symrec.h:30, from production.h:28, from hypothesis.h:30, from cellcyk.h:24, from tablecyk.h:26, from sample.h:27, from symfeatures.h:32, from symfeatures.cc:18: /usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp:53:59: note: 'const boost::fusion::transform_view_iterator<boost::fusion::boost_tuple_iterator<const boost::tuples::tuple<double*, __gnu_cxx::__normal_iterator<Log<double>*, std::vector<Log<double>, std::allocator<Log<double> > > >, Log<double>*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >, boost::iterators::detail::dereference_iterator>' is not derived from 'const std::complex<_Tp>' typename result_of::value_of<First>::type v = *f; ^
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.