Cadabra
Computer algebra system for field theory problems
Loading...
Searching...
No Matches
py_algorithms.hh File Reference
#include <pybind11/pybind11.h>
#include "py_ex.hh"
#include "py_helpers.hh"
#include "py_kernel.hh"
#include "py_progress.hh"

Go to the source code of this file.

Namespaces

namespace  cadabra
 Functions to handle the exchange properties of two or more symbols in a product.

Functions

template<class Algo>
Ex_ptr cadabra::apply_algo_base (Algo &algo, Ex_ptr ex, bool deep, bool repeat, unsigned int depth, bool pre_order=false)
 Generic internal entry point for the Python side to execute a C++ algorithm.
template<class Algo>
Ex_ptr cadabra::apply_algo (Ex_ptr ex, bool deep, bool repeat, unsigned int depth)
template<class Algo, typename Arg1>
Ex_ptr cadabra::apply_algo (Ex_ptr ex, Arg1 arg1, bool deep, bool repeat, unsigned int depth)
template<class Algo, typename Arg1, typename Arg2>
Ex_ptr cadabra::apply_algo (Ex_ptr ex, Arg1 arg1, Arg2 arg2, bool deep, bool repeat, unsigned int depth)
template<class Algo, typename Arg1, typename Arg2, typename Arg3>
Ex_ptr cadabra::apply_algo (Ex_ptr ex, Arg1 arg1, Arg2 arg2, Arg3 arg3, bool deep, bool repeat, unsigned int depth)
template<class Algo, typename... Args, typename... PyArgs>
void cadabra::def_algo (pybind11::module &m, const char *name, bool deep, bool repeat, unsigned int depth, PyArgs... pyargs)
 Method to declare a Python function with variable number of arguments, and make that call a C++ algorithm as specified in the Algo template parameter.
template<class Algo>
Ex_ptr cadabra::apply_algo_preorder (Ex_ptr ex, bool deep, bool repeat, unsigned int depth)
template<class Algo, typename Arg1>
Ex_ptr cadabra::apply_algo_preorder (Ex_ptr ex, Arg1 arg1, bool deep, bool repeat, unsigned int depth)
template<class Algo, typename Arg1, typename Arg2>
Ex_ptr cadabra::apply_algo_preorder (Ex_ptr ex, Arg1 arg1, Arg2 arg2, bool deep, bool repeat, unsigned int depth)
template<class Algo, typename... Args, typename... PyArgs>
void cadabra::def_algo_preorder (pybind11::module &m, const char *name, bool deep, bool repeat, unsigned int depth, PyArgs... pyargs)
 Method to declare a Python function with variable number of arguments, and make that call a C++ algorithm as specified in the Algo template parameter.
void cadabra::init_algorithms (pybind11::module &m)