Cadabra
Computer algebra system for field theory problems
drop_weight.hh
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include "Algorithm.hh"
6 #include "properties/Weight.hh"
7 #include <string>
8 
9 namespace cadabra {
10 
11  class drop_keep_weight : public Algorithm {
12  public:
13  drop_keep_weight(const Kernel&, Ex&, Ex&);
14 
15  virtual bool can_apply(iterator) override;
16  result_t do_apply(iterator&, bool keepthem);
17 
18  protected:
21  const Weight *wgh;
22  std::string label;
24  };
25 
26  class drop_weight : public drop_keep_weight {
27  public:
28  drop_weight(const Kernel&, Ex&, Ex&);
29 
30  virtual result_t apply(iterator&) override;
31  };
32 
33  class keep_weight : public drop_keep_weight {
34  public:
35  keep_weight(const Kernel&, Ex&, Ex&);
36 
37  virtual result_t apply(iterator&) override;
38  };
39 
40  }
cadabra::drop_keep_weight::gmn
const WeightInherit * gmn
Definition: drop_weight.hh:20
cadabra::Algorithm::iterator
Ex::iterator iterator
Definition: Algorithm.hh:70
cadabra::drop_keep_weight
Definition: drop_weight.hh:11
cadabra::Weight
Definition: Weight.hh:8
cadabra::drop_weight
Definition: drop_weight.hh:26
cadabra::Kernel
Definition: Kernel.hh:14
Algorithm.hh
cadabra::Ex::result_t
result_t
Keeping track of what algorithms have done to this expression.
Definition: Storage.hh:159
cadabra::drop_keep_weight::label
std::string label
Definition: drop_weight.hh:22
cadabra::drop_weight::apply
virtual result_t apply(iterator &) override
Definition: drop_weight.cc:136
cadabra::drop_keep_weight::arg
Ex arg
Definition: drop_weight.hh:19
cadabra::drop_keep_weight::weight
multiplier_t weight
Definition: drop_weight.hh:23
cadabra::Algorithm
Definition: Algorithm.hh:59
cadabra::keep_weight::keep_weight
keep_weight(const Kernel &, Ex &, Ex &)
Definition: drop_weight.cc:141
cadabra::drop_keep_weight::do_apply
result_t do_apply(iterator &, bool keepthem)
Definition: drop_weight.cc:60
cadabra::Ex
Definition: Storage.hh:140
cadabra::drop_keep_weight::drop_keep_weight
drop_keep_weight(const Kernel &, Ex &, Ex &)
Definition: drop_weight.cc:10
cadabra::drop_keep_weight::can_apply
virtual bool can_apply(iterator) override
Definition: drop_weight.cc:29
cadabra::keep_weight
Definition: drop_weight.hh:33
cadabra
Functions to handle the exchange properties of two or more symbols in a product.
Definition: Adjform.cc:80
cadabra::multiplier_t
mpq_class multiplier_t
Definition: Storage.hh:38
WeightInherit.hh
cadabra::keep_weight::apply
virtual result_t apply(iterator &) override
Definition: drop_weight.cc:146
cadabra::WeightInherit
Definition: WeightInherit.hh:9
Weight.hh
cadabra::drop_weight::drop_weight
drop_weight(const Kernel &, Ex &, Ex &)
Definition: drop_weight.cc:131
cadabra::drop_keep_weight::wgh
const Weight * wgh
Definition: drop_weight.hh:21