~chaffra/+junk/trilinos

« back to all changes in this revision

Viewing changes to packages/Sundance/src-core/SymbolicTransformations/SundanceSumTransformationSequence.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:
35
35
#include "SundanceSumTransformation.hpp"
36
36
#include "Teuchos_Array.hpp"
37
37
 
38
 
#ifndef DOXYGEN_DEVELOPER_ONLY 
39
 
 
40
38
namespace SundanceCore
41
39
{
42
 
  using namespace SundanceUtils;
43
 
  using namespace Teuchos;
44
 
 
45
 
  using std::string;
46
 
  using std::ostream;
47
 
 
48
 
  namespace Internal
49
 
    {
50
 
      /** 
51
 
       * SumTransformationSequence is a sequence of transformations
52
 
       * to be applied to a sum, producing a transformed expression. 
53
 
       */
54
 
      class SumTransformationSequence : public SumTransformation,
55
 
                                        public Array<RefCountPtr<SumTransformation> >
56
 
        {
57
 
        public:
58
 
          /** */
59
 
          SumTransformationSequence();
60
 
 
61
 
          /** */
62
 
          virtual ~SumTransformationSequence(){;}
63
 
 
64
 
          /**
65
 
           * Test whether the transform is applicable in this case,
66
 
           * and if it is, apply it. The return value is true is the
67
 
           * transformation was applied, otherwise false. 
68
 
           * Returns by non-const reference
69
 
           * the transformed expression. 
70
 
           *
71
 
           * For SumTransformationSequence, this is implemented by
72
 
           * trying to apply all transformations in sequence. If one
73
 
           * succeeds, we exit immediately with true.
74
 
           */
75
 
          virtual bool doTransform(const RefCountPtr<ScalarExpr>& left, 
76
 
            const RefCountPtr<ScalarExpr>& right,
77
 
            int sign, RefCountPtr<ScalarExpr>& rtn) const ;
 
40
using namespace SundanceUtils;
 
41
using namespace Teuchos;
 
42
 
 
43
using std::string;
 
44
using std::ostream;
 
45
 
 
46
/** 
 
47
 * SumTransformationSequence is a sequence of transformations
 
48
 * to be applied to a sum, producing a transformed expression. 
 
49
 */
 
50
class SumTransformationSequence : public SumTransformation,
 
51
                                  public Array<RefCountPtr<SumTransformation> >
 
52
{
 
53
public:
 
54
  /** */
 
55
  SumTransformationSequence();
 
56
 
 
57
  /** */
 
58
  virtual ~SumTransformationSequence(){;}
 
59
 
 
60
  /**
 
61
   * Test whether the transform is applicable in this case,
 
62
   * and if it is, apply it. The return value is true is the
 
63
   * transformation was applied, otherwise false. 
 
64
   * Returns by non-const reference
 
65
   * the transformed expression. 
 
66
   *
 
67
   * For SumTransformationSequence, this is implemented by
 
68
   * trying to apply all transformations in sequence. If one
 
69
   * succeeds, we exit immediately with true.
 
70
   */
 
71
  virtual bool doTransform(const RefCountPtr<ScalarExpr>& left, 
 
72
    const RefCountPtr<ScalarExpr>& right,
 
73
    int sign, RefCountPtr<ScalarExpr>& rtn) const ;
78
74
 
79
75
        
80
 
        };
81
 
  }
 
76
};
82
77
}
83
78
 
84
 
#endif /* DOXYGEN_DEVELOPER_ONLY */
85
79
#endif