PRAgMaTIc  master
Variables
generate_Steiner_ellipse_3d Namespace Reference

Variables

tuple x1 = symbols('x1[:3]')
 
tuple x2 = symbols('x2[:3]')
 
tuple x3 = symbols('x3[:3]')
 
tuple x4 = symbols('x4[:3]')
 
tuple Mij = symbols('Mij[:36]')
 
tuple M
 
tuple R = Matrix([[1], [1], [1], [1], [1], [1]])
 
dictionary tetrahedron
 
tuple Mi = M.evalf(subs=tetrahedron)
 
tuple SteinerEllipse
 
list pyname = sys.argv[0]
 
list hname = pyname[:-3]
 
list macro = pyname[:-3]
 
string header
 
tuple hfile = open(hname, 'w')
 
list cxxname = pyname[:-3]
 
string src
 
tuple cxxfile = open(cxxname, "w")
 
string testname = "test_"
 
string testsrc
 
tuple testfile = open(testname, "w")
 

Variable Documentation

tuple generate_Steiner_ellipse_3d.cxxfile = open(cxxname, "w")

Definition at line 126 of file generate_Steiner_ellipse_3d.py.

list generate_Steiner_ellipse_3d.cxxname = pyname[:-3]

Definition at line 78 of file generate_Steiner_ellipse_3d.py.

string generate_Steiner_ellipse_3d.header
Initial value:
1 = """/* Start of code generated by %s. Warning - be careful about modifying
2 any of the generated code directly. Any changes/fixes should be done
3 in the code generation script generation.*/\n
4 
5 #ifndef %s
6 #define %s
7 
8 namespace pragmatic
9 {
10 
11 void generate_Steiner_ellipse(const double *x1, const double *x2, const double *x3, const double *x4, double *sm);
12 
13 }
14 
15 #endif
16 """

Definition at line 56 of file generate_Steiner_ellipse_3d.py.

tuple generate_Steiner_ellipse_3d.hfile = open(hname, 'w')

Definition at line 73 of file generate_Steiner_ellipse_3d.py.

list generate_Steiner_ellipse_3d.hname = pyname[:-3]

Definition at line 54 of file generate_Steiner_ellipse_3d.py.

tuple generate_Steiner_ellipse_3d.M
Initial value:
1 = Matrix([
2  [(x1[0] - x2[0])**2, (x1[1] - x2[1])**2, (x1[2] - x2[2])**2, (x1[1] - x2[1])*(x1[2] - x2[2]), (x1[0] - x2[0])*(x1[2] - x2[2]), (x1[0] - x2[0])*(x1[1] - x2[1])],
3  [(x2[0] - x3[0])**2, (x2[1] - x3[1])**2, (x2[2] - x3[2])**2, (x2[1] - x3[1])*(x2[2] - x3[2]), (x2[0] - x3[0])*(x2[2] - x3[2]), (x2[0] - x3[0])*(x2[1] - x3[1])],
4  [(x3[0] - x1[0])**2, (x3[1] - x1[1])**2, (x3[2] - x1[2])**2, (x3[1] - x1[1])*(x3[2] - x1[2]), (x3[0] - x1[0])*(x3[2] - x1[2]), (x3[0] - x1[0])*(x3[1] - x1[1])],
5  [(x1[0] - x4[0])**2, (x1[1] - x4[1])**2, (x1[2] - x4[2])**2, (x1[1] - x4[1])*(x1[2] - x4[2]), (x1[0] - x4[0])*(x1[2] - x4[2]), (x1[0] - x4[0])*(x1[1] - x4[1])],
6  [(x2[0] - x4[0])**2, (x2[1] - x4[1])**2, (x2[2] - x4[2])**2, (x2[1] - x4[1])*(x2[2] - x4[2]), (x2[0] - x4[0])*(x2[2] - x4[2]), (x2[0] - x4[0])*(x2[1] - x4[1])],
7  [(x3[0] - x4[0])**2, (x3[1] - x4[1])**2, (x3[2] - x4[2])**2, (x3[1] - x4[1])*(x3[2] - x4[2]), (x3[0] - x4[0])*(x3[2] - x4[2]), (x3[0] - x4[0])*(x3[1] - x4[1])]])

Definition at line 15 of file generate_Steiner_ellipse_3d.py.

list generate_Steiner_ellipse_3d.macro = pyname[:-3]

Definition at line 55 of file generate_Steiner_ellipse_3d.py.

tuple generate_Steiner_ellipse_3d.Mi = M.evalf(subs=tetrahedron)

Definition at line 31 of file generate_Steiner_ellipse_3d.py.

tuple generate_Steiner_ellipse_3d.Mij = symbols('Mij[:36]')

Definition at line 13 of file generate_Steiner_ellipse_3d.py.

list generate_Steiner_ellipse_3d.pyname = sys.argv[0]

Definition at line 51 of file generate_Steiner_ellipse_3d.py.

tuple generate_Steiner_ellipse_3d.R = Matrix([[1], [1], [1], [1], [1], [1]])

Definition at line 23 of file generate_Steiner_ellipse_3d.py.

string generate_Steiner_ellipse_3d.src
Initial value:
1 = """
2 /* Start of code generated by %s. Warning - be careful about modifying
3  any of the generated code directly. Any changes/fixes should be done
4  in the code generation script generation.
5  */
6 
7 #include <Eigen/Core>
8 #include <Eigen/Dense>
9 
10 #include <%s>
11 
12 """

Definition at line 80 of file generate_Steiner_ellipse_3d.py.

tuple generate_Steiner_ellipse_3d.SteinerEllipse
Initial value:
1 = Matrix([
2  [Sxx, Sxy, Sxz],
3  [Sxy, Syy, Syz],
4  [Sxz, Syz, Szz]])

Definition at line 35 of file generate_Steiner_ellipse_3d.py.

tuple generate_Steiner_ellipse_3d.testfile = open(testname, "w")

Definition at line 160 of file generate_Steiner_ellipse_3d.py.

string generate_Steiner_ellipse_3d.testname = "test_"

Definition at line 131 of file generate_Steiner_ellipse_3d.py.

string generate_Steiner_ellipse_3d.testsrc
Initial value:
1 = """
2 #include <cmath>
3 #include <cfloat>
4 #include <iostream>
5 
6 #include <%s>
7 
8 int main(){
9  double x1[]={ 1, 0, -4/sqrt(2)};
10  double x2[]={-1, 0, -4/sqrt(2)};
11  double x3[]={ 0, 2, 4/sqrt(2)};
12  double x4[]={ 0, -2, 4/sqrt(2)};
13  double sm[6];
14  pragmatic::generate_Steiner_ellipse(x1, x2, x3, x4, sm);
15 
16  // Test
17  if(fabs(sm[0]-1./sqrt(2))<DBL_EPSILON && fabs(sm[1])<DBL_EPSILON && fabs(sm[2])<DBL_EPSILON &&
18  fabs(sm[3]-1./sqrt(4))<DBL_EPSILON && fabs(sm[4])<DBL_EPSILON &&
19  fabs(sm[5]-1./sqrt(8))<DBL_EPSILON){
20  std::cout<<"pass"<<std::endl;
21  }else{
22  std::cout<<"fail"<<std::endl;
23  }
24 
25  return 0;
26 }
27 """

Definition at line 132 of file generate_Steiner_ellipse_3d.py.

dictionary generate_Steiner_ellipse_3d.tetrahedron
Initial value:
1 = {x1[0]:1, x1[1]:0, x1[2]:-4/sqrt(2),
2  x2[0]:-1, x2[1]:0, x2[2]:-4/sqrt(2),
3  x3[0]:0, x3[1]:2, x3[2]:4/sqrt(2),
4  x4[0]:0, x4[1]:-2, x4[2]:4/sqrt(2)}

Definition at line 26 of file generate_Steiner_ellipse_3d.py.

tuple generate_Steiner_ellipse_3d.x1 = symbols('x1[:3]')

Definition at line 8 of file generate_Steiner_ellipse_3d.py.

tuple generate_Steiner_ellipse_3d.x2 = symbols('x2[:3]')

Definition at line 9 of file generate_Steiner_ellipse_3d.py.

tuple generate_Steiner_ellipse_3d.x3 = symbols('x3[:3]')

Definition at line 10 of file generate_Steiner_ellipse_3d.py.

tuple generate_Steiner_ellipse_3d.x4 = symbols('x4[:3]')

Definition at line 11 of file generate_Steiner_ellipse_3d.py.