Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
mask_array.cpp
Go to the documentation of this file.
1
29#include <iostream> // for cout, endl
30#include <valarray.h> // Includes valarray and provides stream inserter.
31#include <examples.h> // Generic header for all examples.
32
33typedef std::valarray<int> valarray_t;
34typedef std::valarray<bool> maskarray_t;
35
36int main(void) {
37
38 // Create a valarray of ints.
39 valarray_t::value_type ibuf[10] = {0,1,2,3,4,5,6,7,8,9};
40 valarray_t vi(ibuf, 10);
41
42 // Create a valarray of bools for a mask.
43 maskarray_t::value_type mbuf[10] = {1,0,1,1,1,0,0,1,1,0};
44 maskarray_t mask(mbuf,10);
45
46 // Print out the valarray<int>.
47 std::cout << "original valarray<int> vi\n\n" << vi << "\n\n";
48
49 // Print out the valarray<bool>.
50 std::cout << "original valarray<bool> mask\n\n" << mask << "\n\n";
51
52 // Print a mask array.
53 std::cout << "vi[mask]\n\n" << vi[mask] << "\n\n";
54
55 // Double the values of the masked array and print out.
56 vi[mask] += static_cast<valarray_t> (vi[mask]);
57 std::cout << "vi[mask] += vi[mask]\n\n" << vi << std::endl;
58
59 return 0;
60}
std::valarray< int > valarray_t
Definition gslice.cpp:33
int main(void)
std::valarray< bool > maskarray_t
std::valarray< int > valarray_t