int main() { F1 f(7); TEST((x_ >>2*x_ +1)(10)); triqs::clef::function<double(double,double)> f2; f2(x_,y_) = x_ + y_; TEST(f2(2,3)); f2(x_,y_) = x_ + 2*y_; TEST(f2(2,3)); boost::function<double(double,double)> ff2(f2); TEST(ff2(2,3)); triqs::clef::function<double(double)> f1 ( f(x_) + 2*x_ ,x_); TEST(f1(3)); triqs::clef::function<double(double,double)> g2; g2(x_,y_) = x_ - y_ + f2(x_,2*y_); TEST(g2(2,3)); boost::function<double(double,double)> ff8 = make_function( x_ + y_, x_, y_); TEST(ff8(2,3)); boost::function<double(double)> f3; f3 = x_>> f(x_) + 2*x_; TEST(f3(3)); BOOST_AUTO (h , make_function( 2*x_ + y_ + 1, x_)); // is a lazy expression expression with placeholder y_, returning a function... std::cout << tql::eval(h, y_=1) << std::endl; TEST(tql::eval( h, y_=1) (10)); TEST(h); }
int main () { chk (!pv1a); chk (pv2a); chk (pv3a); chk (pv4a); chk (pv4); chk (pv5a); chk (pv5); chk (!pv6a); chk (fv7 ()); chk (fv7a ()); chk (fv8 ()); chk (fv8a ()); chk (!pv9a); chk (!&Wv10a); chk (!&Wv11a); chk (!&Wv12); chk (!&wv12); chk (!&wv13); chk (!&Wv14a); chk (!pf1a); chk (!pf1c); chk (pf2a); chk (pf3a); chk (pf4a); chk (pf4); chk (pf5a); chk (pf5); chk (!pf6a); chk (ff7 ()); chk (ff7a ()); chk (ff8 ()); chk (ff8a ()); chk (!pf9a); chk (!&Wf10a); chk (!&Wf11a); chk (!&Wf12); chk (!&wf12); chk (!&wf13); chk (!&Wf14a); exit (0); }