Cadabra
Computer algebra system for field theory problems
Loading...
Searching...
No Matches
drop_weight.hh
Go to the documentation of this file.
1
2#pragma once
3
4#include "Algorithm.hh"
7#include <string>
8
9namespace 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;
17
18 protected:
21 const Weight *wgh;
22 std::string label;
24 };
25
27 public:
28 drop_weight(const Kernel&, Ex&, Ex&);
29
30 virtual result_t apply(iterator&) override;
31 };
32
34 public:
35 keep_weight(const Kernel&, Ex&, Ex&);
36
37 virtual result_t apply(iterator&) override;
38 };
39
40 }
Base class for all algorithms, containing generic routines and in particular the logic for index clas...
Definition Algorithm.hh:59
Ex::iterator iterator
Definition Algorithm.hh:70
Basic storage class for symbolic mathemematical expressions.
Definition Storage.hh:142
result_t
Keeping track of what algorithms have done to this expression.
Definition Storage.hh:168
Definition Kernel.hh:15
Definition Weight.hh:8
Definition WeightInherit.hh:9
Definition drop_weight.hh:11
std::string label
Definition drop_weight.hh:22
const Weight * wgh
Definition drop_weight.hh:21
result_t do_apply(iterator &, bool keepthem)
Definition drop_weight.cc:60
virtual bool can_apply(iterator) override
Definition drop_weight.cc:29
Ex arg
Definition drop_weight.hh:19
const WeightInherit * gmn
Definition drop_weight.hh:20
multiplier_t weight
Definition drop_weight.hh:23
Definition drop_weight.hh:26
virtual result_t apply(iterator &) override
Definition drop_weight.cc:136
Definition drop_weight.hh:33
virtual result_t apply(iterator &) override
Definition drop_weight.cc:146
Functions to handle the exchange properties of two or more symbols in a product.
Definition Adjform.cc:83
void set(rset_t::iterator &num, multiplier_t fac)
Definition Storage.cc:1063
mpq_class multiplier_t
Definition Storage.hh:38