[PATCH] Make ginsh evaluate line-by-line in non-interactive mode. When used interactively ginsh consumes the input line-by-line, so if a complete expression is entered it is enough to end the line to get an evaluated result. In the non-interative mode (i.e. if the input is not a tty) the input is consumed in blocks, making it impossible to use ginsh as a subprocess. This patch makes the non-interactive mode reuse the same line parsing logic as the interactive mode (without readline), but skips printing the "> " prompt, preserving the backward compatibility.
Added new routines for the numerical evaluation of iterated integrals like elliptic multiple polylogarithms or iterated integrals of modular forms. Changes to be committed: modified: check/CMakeLists.txt modified: check/Makefile.am new file: check/exam_inifcns_elliptic.cpp modified: doc/tutorial/ginac.texi modified: ginac/CMakeLists.txt modified: ginac/Makefile.am modified: ginac/ginac.h modified: ginac/inifcns.h new file: ginac/inifcns_elliptic.cpp new file: ginac/integration_kernel.cpp new file: ginac/integration_kernel.h new file: ginac/utils_multi_iterator.h modified: ginsh/ginsh_parser.ypp
Use "modern" CMake facilities to manage includes and libs * Use target_link_libraries to specify dependencies (include paths, compiler options, etc) * Export targets and provide `ginac-config.cmake` so the following `CMakeLists.txt` is enough to build a program using GiNaC: cmake_minimum_required(VERSION 3.1) project(foo) find_package(ginac REQUIRED) add_executable(foo foo.cpp) target_link_libraries(foo PRIVATE ginac::ginac) * GiNaC can be included as a (CMake) subproject. One can put GiNaC sources (either from git or a tarball) into a subdirectory (say, `ginac`) and use the following CMakeLists.txt to build everything: cmake_minimum_required(VERSION 3.1) project(foo) add_subdirectory(ginac) add_executable(foo foo.cpp) target_link_libraries(foo PRIVATE ginac::ginac)
build: accept both python 3 and python 2 This makes building GiNaC a bit easier for users of "old" distributions where python 3 is not installed by default (Ubuntu 16.04), or even not available (CentOS 7). Scripts themselves work just fine with python 2.7 and python 3.x, so only minor changes to CMakeLists.txt are required (autotools scripts already handle python2/3)