7 std::string indent(indentwidth,
' ');
8 std::string indent2(indentwidth + 8,
' ');
9 std::cout << indent <<
"repeat, " << std::endl;
10 func_m->print(indentwidth + 8);
12 << indent2 <<
"N: " <<
N_m <<
", \n"
13 << indent2 <<
"dx: " <<
shiftx_m <<
", \n"
22 const unsigned int size = bfuncs.size();
25 for (
unsigned int i = 0; i <
N_m; ++ i) {
26 for (
unsigned int j = 0; j < size; ++ j) {
27 std::shared_ptr<Base> obj(bfuncs[j]->clone());
28 obj->trafo_m = obj->trafo_m.mult(current_trafo);
29 bfuncs.emplace_back(std::move(obj));
32 current_trafo = current_trafo.
mult(trafo);
40 int numRepetitions = 0;
55 std::cout <<
"Repeat: number of arguments not supported" << std::endl;
58 }
catch (std::runtime_error &e) {
59 std::cout << e.what() << std::endl;
63 if (numRepetitions < 0) {
64 std::cout <<
"Repeat: a negative number of repetitions provided '"
65 << arguments.
get(0) <<
" = " << rep->
N_m <<
"'"
70 rep->
N_m = numRepetitions;
ippl::Vector< T, Dim > Vector_t
PartBunch< T, Dim >::ConstIterator end(PartBunch< T, Dim > const &bunch)
double parseMathExpression(const std::string &str)
std::string::iterator iterator
static bool parse(iterator &it, const iterator &end, Function *&fun)
AffineTransformation mult(const AffineTransformation &B)
unsigned int getNumArguments() const
std::string get(unsigned int i) const
unsigned int getLengthConsumed() const
virtual void apply(std::vector< std::shared_ptr< Base > > &bfuncs)
virtual void print(int indentwidth)
static bool parse_detail(iterator &it, const iterator &end, Function *&fun)