SheafSystem  0.0.0.0
field_e3_funcs.impl.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 
19 
20 //==============================================================================
21 // NON-MEMBER FUNCTIONS OF E3 FACET
22 //==============================================================================
23 
25 void
27 cross(const field_e3& x0, const field_e3& x1, field_e3& xresult,
28  bool xauto_access)
29 {
30  // Preconditions:
31 
32  require(precondition_of(\
33  cross(x0.property(), x1.property(), xresult.property(), xauto_access)));
34 
35  // Body:
36 
37  fiber_bundle::sec_e3_algebra::cross(x0.property(), x1.property(), xresult.property(), xauto_access);
38 
39  // Postconditions:
40 
41  ensure(postcondition_of(\
42  cross(x0.property(), x1.property(), xresult.property(), xauto_access)));
43 
44  // Exit:
45 
46  return;
47 }
48 
50 void
52 cross_equal(field_e3& xresult, const field_e3& xother, bool xauto_access)
53 {
54  // Preconditions:
55 
56  require(precondition_of(\
57  cross_equal(xresult.property(), xother.property(), xauto_access)));
58 
59  // Body:
60 
61  fiber_bundle::sec_e3_algebra::cross_equal(xresult.property(), xother.property(), xauto_access);
62 
63  // Postconditions:
64 
65  ensure(postcondition_of(\
66  cross_equal(xresult.property(), xother.property(), xauto_access)));
67 
68  // Exit:
69 
70  return;
71 }
SHEAF_DLL_SPEC void cross_equal(sec_e3 &xresult, const sec_e3 &xother, bool xauto_access)
The 3D Euclidean vector "cross" product of xresult with xother; synonym for cross(xresult, xother, xresult, xauto_access).
Definition: sec_e3.cc:821
void SHEAF_DLL_SPEC cross(const field_e3 &x0, const field_e3 &x1, field_e3 &xresult, bool xauto_access)
The 3D Euclidean vector "cross" product of x0 with x1 (pre-allocated version).
void SHEAF_DLL_SPEC cross_equal(e3 &xresult, const e3 &xother, bool xauto_access)
The 3D Euclidean vector "cross" product of xresult with xother (self-allocated version).
Definition: e3.cc:2169
void SHEAF_DLL_SPEC cross_equal(field_e3 &xresult, const field_e3 &xother, bool xauto_access)
The 3D Euclidean vector "cross" product of xresult with xother, /// synonym for cross(xresult, xother, xresult, xauto_access).
void SHEAF_DLL_SPEC cross(const e3 &x0, const e3 &x1, e3 &xresult, bool xauto_access)
The 3D Euclidean vector "cross" product of x0 with x1 (pre-allocated version).
Definition: e3.cc:2112
sec_e3 & property() const
The dependent variable of this field.
Definition: field_e3.cc:329
A property of type sec_e3 as a function of global coordinates.
Definition: field_e3.h:50
SHEAF_DLL_SPEC void cross(const sec_e3 &x0, const sec_e3 &x1, sec_e3 &xresult, bool xauto_access)
The 3D Euclidean vector "cross" product of x0 with x1 (pre-allocated version).
Definition: sec_e3.cc:790