Cadabra
Computer algebra system for field theory problems
Namespaces | Functions
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

 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. More...
 
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. More...
 
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. More...
 
void cadabra::init_algorithms (pybind11::module &m)