ASL  0.1.7
Advanced Simulation Library
aclMathAlg.h
Go to the documentation of this file.
1 /*
2  * Advanced Simulation Library <http://asl.org.il>
3  *
4  * Copyright 2015 Avtech Scientific <http://avtechscientific.com>
5  *
6  *
7  * This file is part of Advanced Simulation Library (ASL).
8  *
9  * ASL is free software: you can redistribute it and/or modify it
10  * under the terms of the GNU Affero General Public License as
11  * published by the Free Software Foundation, version 3 of the License.
12  *
13  * ASL is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU Affero General Public License for more details.
17  *
18  * You should have received a copy of the GNU Affero General Public License
19  * along with ASL. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 
24 #ifndef ACLMATHALG_H
25 #define ACLMATHALG_H
26 
27 #include "aclVectorOfElementsDef.h"
29 
30 using namespace std;
31 
32 namespace acl
33 {
34  class ExpressionContainer;
35 
37 
43  void findNearestDirectionCode(const vector<asl::AVec<>> & directions,
44  VectorOfElements v,
45  VectorOfElements iDir,
46  ExpressionContainer & k);
47 
49 
56  void findNearestDirectionCode(const vector<asl::AVec<>> & directions,
57  VectorOfElements v,
58  VectorOfElements iDir,
59  VectorOfElements scalProduct,
60  ExpressionContainer & k);
61 
63  VectorOfElements differentSign(VectorOfElements v);
64 
66  VectorOfElements generateVEOutOfBoundarySafe(const VectorOfElements & a);
67 
69  VectorOfElements generateVEOutOfBoundarySafe(const VectorOfElements & a,
70  const VectorOfElements & outVal);
71 
72 
73 } //namespace acl
74 
75 #endif // ACLMATHALG_H
Advanced Computational Language.
Definition: acl.h:40
VectorOfElements differentSign(VectorOfElements v)
generate expresion returning true if elements of v have different signs or one of them zerow
VectorOfElements generateVEOutOfBoundarySafe(const VectorOfElements &a, const VectorOfElements &outVal)
generates Vector of elements wraping the a in order to avoid out of boundary acces with given out of ...
void findNearestDirectionCode(const vector< asl::AVec<>> &directions, VectorOfElements v, VectorOfElements iDir, VectorOfElements scalProduct, ExpressionContainer &k)
generates code for finding nearest direction from given directions set directions