#define BZ_NEW_EXPRESSION_TEMPLATES #include "testsuite.h" #include BZ_USING_NAMESPACE(blitz) double myFunction(double x, double y, double z) { return 100 * x + 10 * y + z; } BZ_DECLARE_FUNCTION3(myFunction) int max3(int a, int b, int c) { return (a>b?(a>c?a:c):(b>c?b:c)); } BZ_DECLARE_FUNCTION3(max3) int main() { Array A(4), B(4), C(4), D(4); A = 3 * tensor::i; B = max3(5,6,7); C = 9 - 2 * tensor::i; D = 9, 7, 7, 9; Array DD(4); DD = max3(A,B,C); BZTEST(count(DD=D)==4); BZTEST(count(max3(A, 7, C)==D) == 4); }