@version: 3.141592647 block root pi(iteration(), digits()) { options { time-reopen(1); }; log { source { internal(); }; filter { message("syslog-ng starting up"); }; rewrite { set("1" value("i")); }; rewrite { set("1" value("n")); }; rewrite { set("-1" value("direction")); }; rewrite { set("$(* 3 `digits`)" value("pi")); }; destination { unix-stream("/tmp/loop" persist-name("start") template("$(format-welf --scope nv-pairs)\n")); }; }; log { source { unix-stream("/tmp/loop" flags(no-parse)); }; parser { kv-parser(); }; rewrite { set("$(* ${direction} -1)" value("direction")); }; rewrite { set("$(+ ${i} 1)" value("i")); }; rewrite { set("$(+ ${n} 2)" value("n")); }; rewrite { set("$(+ ${n} 1)" value("n_p1")); }; rewrite { set("$(- ${n} 1)" value("n_m1")); }; rewrite { set("$(* ${n_p1} ${n_m1})" value("n_pm")); }; rewrite { set("$(* ${n_pm} ${n})" value("denominator")); }; rewrite { set("$(* 4 `digits`)" value("nominator")); }; rewrite { set("$(/ ${nominator} ${denominator})" value("abs_diverge")); }; rewrite { set("$(* ${direction} ${abs_diverge})" value("divereged")); }; rewrite { set("$(+ ${pi} ${divereged})" value("pi")); }; filter { "${i}" <= "`iteration`"; }; destination { file("/dev/stdout" template("iteration=${i} pi ~ ${pi}\n")); #file("/dev/stdout" template("$(format-welf --scope nv-pairs)\n")); #debug option unix-stream("/tmp/loop" template("$(format-welf --scope nv-pairs)\n")); }; }; }; pi(iteration(100), digits(1000000000))