SheafSystem  0.0.0.0
field_vd_funcs.h
1 
2 //
3 // Copyright (c) 2014 Limit Point Systems, Inc.
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 
18 #ifndef FIELD_VD_FUNCS_H
19 #define FIELD_VD_FUNCS_H
20 
21 #ifndef SHEAF_DLL_SPEC_H
22 #include "SheafSystem/sheaf_dll_spec.h"
23 #endif
24 
25 namespace fields
26 {
27 
28 //=============================================================================
30 //=============================================================================
32 
33 class SHEAF_DLL_SPEC field_at0;
34 
39 namespace field_vd_algebra
40 {
41 
45 SHEAF_DLL_SPEC
46 void add(const field_vd& x0, const field_vd& x1, field_vd& xresult,
47  bool xauto_access);
48 
53 SHEAF_DLL_SPEC
54 void add_equal(field_vd& xresult, const field_vd& xother, bool xauto_access);
55 
59 SHEAF_DLL_SPEC
60 void subtract(const field_vd& x0, const field_vd& x1, field_vd& xresult,
61  bool xauto_access);
62 
67 SHEAF_DLL_SPEC
68 void subtract_equal(field_vd& xresult, const field_vd& xother,
69  bool xauto_access);
70 
74 SHEAF_DLL_SPEC
75 void multiply(const field_vd& x0, const sec_at0& x1, field_vd& xresult,
76  bool xauto_access);
77 
82 SHEAF_DLL_SPEC
83 void multiply_equal(field_vd& xresult, const sec_at0& xother,
84  bool xauto_access);
85 
89 SHEAF_DLL_SPEC
90 void multiply(const field_vd& x0, const vd_value_type& x1, field_vd& xresult,
91  bool xauto_access);
92 
97 SHEAF_DLL_SPEC
98 void multiply_equal(field_vd& xresult, const vd_value_type& xother,
99  bool xauto_access);
100 
104 SHEAF_DLL_SPEC
105 void divide(const field_vd& x0, const sec_at0& x1, field_vd& xresult,
106  bool xauto_access);
107 
112 SHEAF_DLL_SPEC
113 void divide_equal(field_vd& xresult, const sec_at0& xother,
114  bool xauto_access);
115 
119 SHEAF_DLL_SPEC
120 void divide(const field_vd& x0, const vd_value_type& x1, field_vd& xresult,
121  bool xauto_access);
122 
127 SHEAF_DLL_SPEC
128 void divide_equal(field_vd& xresult, const vd_value_type& xother,
129  bool xauto_access);
130 
135 SHEAF_DLL_SPEC
136 void contract(const field_vd& xvector, const field_vd& xcovector,
137  field_at0& xresult, bool xauto_access);
138 
140 
141 } // namespace field_vd_algebra
142 
143 } // namespace fields
144 
145 #endif // ifndef FIELD_VD_FUNCS_H
Namespace for fields component of sheaf system.
SHEAF_DLL_SPEC void divide_equal(field_vd &xresult, const sec_at0 &xother, bool xauto_access)
xresult divide_equal xother (pre-allocated version); synonym for divide(xresult, xother, xresult, xauto_access).
SHEAF_DLL_SPEC void subtract_equal(field_vd &xresult, const field_vd &xother, bool xauto_access)
x0 subtract_equal x1 (self-allocated version); synonym for subtract(xresult, xother, xresult, xauto_access).
SHEAF_DLL_SPEC void divide(const field_vd &x0, const sec_at0 &x1, field_vd &xresult, bool xauto_access)
x0 divided by x1 (pre-allocated version).
SHEAF_DLL_SPEC void subtract(const field_vd &x0, const field_vd &x1, field_vd &xresult, bool xauto_access)
x0 subtract x1 (pre-allocated version).
SHEAF_DLL_SPEC void multiply_equal(field_vd &xresult, const sec_at0 &xother, bool xauto_access)
xresult multiply_equal xresult (pre-allocated version); synonym for multiply(xresult, xother, xresult, xauto_access).
A vd-valued property as a function of global coordinates.
Definition: field_vd.h:69
SHEAF_DLL_SPEC void contract(const field_vd &xvector, const field_vd &xcovector, field_at0 &xresult, bool xauto_access)
Contraction of vector xvector on covector xcovector (pre-allocated version).
SHEAF_DLL_SPEC void add_equal(field_vd &xresult, const field_vd &xother, bool xauto_access)
x0 add_equal x1 (self-allocated version); synonym for add(xresult, xother, xresult, xauto_access).
A property of type sec_at0 as a function of global coordinates.
Definition: field_at0.h:50
SHEAF_DLL_SPEC void add(const field_vd &x0, const field_vd &x1, field_vd &xresult, bool xauto_access)
x0 add x1 (pre-allocated version).
Antisymetric tensor of degree 0. As the degree is 0 there is nothing to be symmetric or antisymmetric...
Definition: sec_at0.h:51
SHEAF_DLL_SPEC void multiply(const field_vd &x0, const sec_at0 &x1, field_vd &xresult, bool xauto_access)
x0 multiplied by x1 (pre-allocated version).
double vd_value_type
The type of component in the fiber; the scalar type in the fiber vector space.
Definition: fiber_bundle.h:63