34 " for (var i := 0; i < 1000; i += 1) " 36 " r += (1 / (2i + 1)) * sin((4i + 2) * pi * f * t); " 38 " r *= a * (4 / pi); ";
40 static const T
pi = T(3.141592653589793238462643383279502);
48 symbol_table.add_variable(
"t",
t);
49 symbol_table.add_variable(
"a",a);
50 symbol_table.add_constants();
56 parser.compile(wave_program,expression);
58 const T delta = (T(4) *
pi) / T(1000);
60 for (
t = (T(-2) *
pi);
t <= (T(+2) *
pi);
t += delta)
62 T result = expression.value();
63 printf(
"%19.15f\t%19.15f\n",
t,result);
69 square_wave2<double>();