File: MMACdb.hh

package info (click to toggle)
cadabra2 2.4.3.2-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 78,732 kB
  • sloc: ansic: 133,450; cpp: 92,064; python: 1,530; javascript: 203; sh: 184; xml: 182; objc: 53; makefile: 51
file content (33 lines) | stat: -rw-r--r-- 887 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

#pragma once

#include "Props.hh"
#include "Storage.hh"
#include "Kernel.hh"
#include "Stopwatch.hh"

#include "wstp.h"

class MMA {
	public:

		/// \ingroup scalar
		///
		/// Functionality to act with Mathematica functions on (parts of)
		/// Cadabra Ex expressions and read the result back into the same
		/// Ex. This duplicates some of the logic in PythonCdb.hh, in
		/// particular make_Ex_from_string, but it is best to keep these
		/// two completely separate.

		static cadabra::Ex::iterator apply_mma(const cadabra::Kernel&, cadabra::Ex&, cadabra::Ex::iterator&,
		                                       const std::vector<std::string>& wrap, std::vector<std::string> args,
		                                       const std::string& method);


	private:
		static WSEnvironment stdenv;
		static WSLINK        lp;

		static void setup_link();
		static void teardown_link();
	};