Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
26.valarray.sub.stdcxx-955.cpp
Go to the documentation of this file.
1
31#include <cstdlib>
32#include <valarray>
33#include <cassert>
34
35void test_0 ()
36{
37 const std::size_t p_leng [] = { 0 };
38 const std::size_t p_strd [] = { 3 };
39
40 const std::valarray<std::size_t>
41 va_leng (p_leng, sizeof (p_leng) / sizeof (*p_leng));
42
43 const std::valarray<std::size_t>
44 va_strd (p_strd, sizeof (p_strd) / sizeof (*p_strd));
45
46 const std::gslice gs_slice (1, va_leng, va_strd);
47
48 std::valarray<char> va_lhs ('!', 4);
49
50 va_lhs [gs_slice] = '?';
51
52 assert (va_lhs [0] == '!');
53 assert (va_lhs [1] == '!');
54 assert (va_lhs [2] == '!');
55 assert (va_lhs [3] == '!');
56}
57
58void test_1 ()
59{
60 const std::size_t p_leng [] = { 2, 0 };
61 const std::size_t p_strd [] = { 1, 3 };
62
63 const std::valarray<std::size_t>
64 va_leng (p_leng, sizeof (p_leng) / sizeof (*p_leng));
65
66 const std::valarray<std::size_t>
67 va_strd (p_strd, sizeof (p_strd) / sizeof (*p_strd));
68
69 const std::gslice gs_slice (1, va_leng, va_strd);
70
71 std::valarray<char> va_lhs ('!', 4);
72
73 va_lhs [gs_slice] = '?';
74
75 assert (va_lhs [0] == '!');
76 assert (va_lhs [1] == '?');
77 assert (va_lhs [2] == '?');
78 assert (va_lhs [3] == '!');
79}
80
81int main ()
82{
83 test_0 ();
84 test_1 ();
85
86 return 0;
87}
#define assert(expr)
Definition _cassert.h:40