Hammer  1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Divide.hh
Go to the documentation of this file.
1 ///
2 /// @file Divide.hh
3 /// @brief Tensor element-wise division algorithm
4 ///
5 
6 //**** This file is a part of the HAMMER library
7 //**** Copyright (C) 2016 - 2020 The HAMMER Collaboration
8 //**** HAMMER is licensed under version 3 of the GPL; see COPYING for details
9 //**** Please note the MCnet academic guidelines; see GUIDELINES for details
10 
11 // -*- C++ -*-
12 #ifndef HAMMER_MATH_MULTIDIM_OPS_DIVIDE
13 #define HAMMER_MATH_MULTIDIM_OPS_DIVIDE
14 
15 namespace Hammer {
16 
17 
18  namespace MultiDimensional {
19 
20  class IContainer;
21  class VectorContainer;
22  class SparseContainer;
23  class OuterContainer;
24 
25  namespace Ops {
26 
27  class Divide final {
28  public:
29  Divide() {}
30 
31  IContainer* operator()(VectorContainer& first, const VectorContainer& second);
32  IContainer* operator()(SparseContainer& first, const SparseContainer& second);
33  IContainer* operator()(VectorContainer& first, const SparseContainer& second);
34  IContainer* operator()(SparseContainer& first, const VectorContainer& second);
35  IContainer* operator()(OuterContainer& first, const IContainer& second);
36 
37  IContainer* operator()(IContainer& first, const IContainer& second);
38 
40  };
41 
42  } // namespace Ops
43 
44  } // namespace MultiDimensional
45 
46 } // namespace Hammer
47 
48 
49 #endif
IContainer * operator()(VectorContainer &first, const VectorContainer &second)
Definition: Divide.cc:34
IContainer * error(IContainer &, const IContainer &)
Definition: Divide.cc:107