Cadabra
Computer algebra system for field theory problems
Kernel.hh
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include "Props.hh"
5 
11 
12 namespace cadabra {
13 
14  class Kernel {
15  public:
16  Kernel(bool inject_defaults=true);
17  Kernel(const Kernel& other) = delete;
18  ~Kernel();
19 
21  void inject_property(property *prop, std::shared_ptr<Ex> pattern, std::shared_ptr<Ex> property_arguments);
22 
24  std::shared_ptr<Ex> ex_from_string(const std::string&);
25 
26 
28 
32 
33 
34  const static std::string version;
35  const static std::string build ;
36 
37  };
38 
39  }
std::shared_ptr< Ex > ex_from_string(const std::string &)
Create an Ex expression object from a string, which will be parsed.
Definition: Kernel.cc:118
static const std::string build
Definition: Kernel.hh:35
enum cadabra::Kernel::scalar_backend_t scalar_backend
Definition: Kernel.hh:14
~Kernel()
Definition: Kernel.cc:99
bool call_embedded_python_functions
Definition: Kernel.hh:31
Kernel(bool inject_defaults=true)
Definition: Kernel.cc:27
void inject_property(property *prop, std::shared_ptr< Ex > pattern, std::shared_ptr< Ex > property_arguments)
Inject a property into the system and attach it to the given pattern.
Definition: Kernel.cc:104
Base class for all properties, handling argument parsing and defining the interface.
Definition: Props.hh:126
Properties properties
Definition: Kernel.hh:27
Functions to handle the exchange properties of two or more symbols in a product.
Definition: Adjform.cc:83
scalar_backend_t
Settings.
Definition: Kernel.hh:30
static const std::string version
Definition: Kernel.hh:34
Definition: Props.hh:38
Class holding a collection of properties attached to expressions.
Definition: Props.hh:233