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 example programs to avoid breaking them on API changes
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)