~chaffra/+junk/trilinos

« back to all changes in this revision

Viewing changes to packages/Sundance/src-core/Evaluation/SundanceProductEvaluator.hpp

  • Committer: Bazaar Package Importer
  • Author(s): Christophe Prud'homme, Christophe Prud'homme, Johannes Ring
  • Date: 2009-12-13 12:53:22 UTC
  • mfrom: (5.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20091213125322-in0nrdjc55deqsw9
Tags: 10.0.3.dfsg-1
[Christophe Prud'homme]
* New upstream release

[Johannes Ring]
* debian/patches/libname.patch: Add prefix 'libtrilinos_' to all
  libraries. 
* debian/patches/soname.patch: Add soversion to libraries.
* debian/watch: Update download URL.
* debian/control:
  - Remove python-numeric from Build-Depends (virtual package).
  - Remove automake and autotools from Build-Depends and add cmake to
    reflect switch to CMake.
  - Add python-support to Build-Depends.
* debian/rules: 
  - Cleanup and updates for switch to CMake.

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
#include "Teuchos_TimeMonitor.hpp"
8
8
 
9
9
 
10
 
#ifndef DOXYGEN_DEVELOPER_ONLY
11
 
 
12
10
namespace SundanceCore 
13
11
{
14
 
  namespace Internal 
15
 
  {
16
 
    /**
17
 
     *
18
 
     */
19
 
    class ProductEvaluator : public BinaryEvaluator<ProductExpr>
20
 
    {
21
 
    public:
22
 
      /** */
23
 
      ProductEvaluator(const ProductExpr* expr,
24
 
                       const EvalContext& context);
25
 
 
26
 
 
27
 
      /** */
28
 
      virtual ~ProductEvaluator(){;}
29
 
 
30
 
      /** */
31
 
      virtual void internalEval(const EvalManager& mgr,
32
 
                   Array<double>& constantResults,
33
 
                   Array<RefCountPtr<EvalVector> >& vectorResults) const ;
34
 
 
35
 
 
36
 
      /** */
37
 
      TEUCHOS_TIMER(evalTimer, "product evaluation");
38
 
 
39
 
    private:
40
 
      /** */
41
 
      enum ProductParity {VecVec, VecConst, ConstVec};
42
 
      
43
 
      int maxOrder_;
44
 
      Array<Array<int> > resultIndex_;
45
 
      Array<Array<int> > resultIsConstant_;
46
 
 
47
 
      Array<Array<int> > hasWorkspace_;
48
 
      Array<Array<int> > workspaceIsLeft_;
49
 
      Array<Array<int> > workspaceIndex_;
50
 
      Array<Array<int> > workspaceCoeffIndex_;
51
 
      Array<Array<int> > workspaceCoeffIsConstant_;
52
 
 
53
 
      Array<Array<Array<Array<int> > > > ccTerms_;
54
 
      Array<Array<Array<Array<int> > > > cvTerms_;
55
 
      Array<Array<Array<Array<int> > > > vcTerms_;
56
 
      Array<Array<Array<Array<int> > > > vvTerms_;
57
 
 
58
 
      Array<Array<Array<int> > > startingVectors_;
59
 
      Array<Array<ProductParity> > startingParities_;
60
 
      
61
 
      
62
 
 
63
 
      
64
 
    };
65
 
 
66
 
  }
 
12
/**
 
13
 *
 
14
 */
 
15
class ProductEvaluator : public BinaryEvaluator<ProductExpr>
 
16
{
 
17
public:
 
18
  /** */
 
19
  ProductEvaluator(const ProductExpr* expr,
 
20
    const EvalContext& context);
 
21
 
 
22
 
 
23
  /** */
 
24
  virtual ~ProductEvaluator(){;}
 
25
 
 
26
  /** */
 
27
  virtual void internalEval(const EvalManager& mgr,
 
28
    Array<double>& constantResults,
 
29
    Array<RefCountPtr<EvalVector> >& vectorResults) const ;
 
30
 
 
31
 
 
32
  /** */
 
33
  TEUCHOS_TIMER(evalTimer, "product evaluation");
 
34
 
 
35
private:
 
36
  /** */
 
37
  enum ProductParity {VecVec, VecConst, ConstVec};
 
38
      
 
39
  int maxOrder_;
 
40
  Array<Array<int> > resultIndex_;
 
41
  Array<Array<int> > resultIsConstant_;
 
42
 
 
43
  Array<Array<int> > hasWorkspace_;
 
44
  Array<Array<int> > workspaceIsLeft_;
 
45
  Array<Array<int> > workspaceIndex_;
 
46
  Array<Array<int> > workspaceCoeffIndex_;
 
47
  Array<Array<int> > workspaceCoeffIsConstant_;
 
48
 
 
49
  Array<Array<Array<Array<int> > > > ccTerms_;
 
50
  Array<Array<Array<Array<int> > > > cvTerms_;
 
51
  Array<Array<Array<Array<int> > > > vcTerms_;
 
52
  Array<Array<Array<Array<int> > > > vvTerms_;
 
53
 
 
54
  Array<Array<Array<int> > > startingVectors_;
 
55
  Array<Array<ProductParity> > startingParities_;
 
56
      
 
57
      
 
58
 
 
59
      
 
60
};
 
61
 
67
62
}
68
63
 
69
 
 
70
 
                  
71
 
#endif  /* DOXYGEN_DEVELOPER_ONLY */  
72
 
 
73
 
 
74
64
#endif