SheafSystem  0.0.0.0
field_met_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 MET FACET
22 //==============================================================================
23 
24 #ifndef FIELD_ED_H
25 #include "SheafSystem/field_ed.h"
26 #endif
27 
28 
30 void
32 lower(const field_met& xmetric, const field_ed& xvector, field_ed& xresult,
33  bool xauto_access)
34 {
35  // Preconditions:
36 
37  require(precondition_of(\
38  lower(xmetric.property(), xvector.property(), xresult.property(),\
39  xauto_access)));
40 
41  // Body:
42 
44  xvector.property(),
45  xresult.property(),
46  xauto_access);
47 
48  // Postconditions:
49 
50  ensure(postcondition_of(\
51  lower(xmetric.property(), xvector.property(), xresult.property(),\
52  xauto_access)));
53 
54  // Exit:
55 
56  return;
57 }
58 
60 void
62 raise(const field_met& xmetric, const field_ed& xcovector, field_ed& xresult,
63  bool xauto_access)
64 {
65  // Preconditions:
66 
67  require(precondition_of(\
68  raise(xmetric.property(), xcovector.property(), xresult.property(),\
69  xauto_access)));
70 
71  // Body:
72 
74  xcovector.property(),
75  xresult.property(),
76  xauto_access);
77 
78  // Postconditions:
79 
80  ensure(postcondition_of(\
81  raise(xmetric.property(), xcovector.property(), xresult.property(),\
82  xauto_access)));
83 
84  // Exit:
85 
86  return;
87 }
SHEAF_DLL_SPEC void lower(const met &xmetric, const ed &xvector, ed &xresult, bool xauto_access)
Lower vector (pre-allocated version for persistent type).
Definition: met.cc:943
sec_ed & property() const
The dependent variable of this field.
Definition: field_ed.cc:329
SHEAF_DLL_SPEC void lower(const sec_met &xmetric, const sec_ed &xvector, sec_ed &xresult, bool xauto_access)
Lower vector (pre-allocated version).
Definition: sec_met.cc:668
void SHEAF_DLL_SPEC lower(const field_met &xmetric, const field_ed &xvector, field_ed &xresult, bool xauto_access)
Lower vector (pre-allocated version).
A property of type sec_ed as a function of global coordinates.
Definition: field_ed.h:50
sec_met & property() const
The dependent variable of this field.
Definition: field_met.cc:329
void SHEAF_DLL_SPEC raise(const field_met &xmetric, const field_ed &xcovector, field_ed &xresult, bool xauto_access)
Raise covector (pre-allocated version).
SHEAF_DLL_SPEC void raise(const sec_met &xmetric, const sec_ed &xcovector, sec_ed &xresult, bool xauto_access)
Raise covector (pre-allocated version).
Definition: sec_met.cc:722
A property of type sec_met as a function of global coordinates.
Definition: field_met.h:50