File: where.cpp

package info (click to toggle)
blitz%2B%2B 1%3A1.0.2%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 8,568 kB
  • sloc: cpp: 57,803; python: 1,941; fortran: 1,510; f90: 852; makefile: 833; sh: 321
file content (37 lines) | stat: -rw-r--r-- 687 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "testsuite.h"
#include <blitz/array.h>

using namespace blitz;

int main()
{
    const int N = 5;
    Array<int,1> A(N), B(N), C(N), D(N), E(N);

    A =  0,  3, -2,  5, -4;
    B =  0,  1,  2,  3,  4;
    C = 10, 11, 12, 13, 14;

    D = where(A > 0, pow2(B), pow2(C));

    E =  100, 1, 144, 9, 196;

    BZTEST(count(D == E) == N);

    D = where(A > 0, A, 0);
    E = 0, 3, 0, 5, 0;

    BZTEST(count(D == E) == N);

    Array<int,1> F ( where(A > 0, pow2(B), pow2(C)) ); 
    BZTEST(count(D == E) == N);

    TinyVector<int,3> a(1,2,3);
    TinyVector<int,3> b(3,2,1);
    TinyVector<int,3> c(0,0,0);
    a = where(a <= b, c, a);
    BZTEST(sum(a) == 3);

    return 0;
}