divide.pass.cpp revision bc8d3f97eb5c958007f2713238472e0c1c8fe02c
1988323c57bd25a58f05dfa492d9b9c8ab62c5153satok//===----------------------------------------------------------------------===// 2988323c57bd25a58f05dfa492d9b9c8ab62c5153satok// 3988323c57bd25a58f05dfa492d9b9c8ab62c5153satok// ��������������������The LLVM Compiler Infrastructure 4988323c57bd25a58f05dfa492d9b9c8ab62c5153satok// 5988323c57bd25a58f05dfa492d9b9c8ab62c5153satok// This file is distributed under the University of Illinois Open Source 6988323c57bd25a58f05dfa492d9b9c8ab62c5153satok// License. See LICENSE.TXT for details. 7988323c57bd25a58f05dfa492d9b9c8ab62c5153satok// 8988323c57bd25a58f05dfa492d9b9c8ab62c5153satok//===----------------------------------------------------------------------===// 9988323c57bd25a58f05dfa492d9b9c8ab62c5153satok 10988323c57bd25a58f05dfa492d9b9c8ab62c5153satok// <valarray> 11988323c57bd25a58f05dfa492d9b9c8ab62c5153satok 12988323c57bd25a58f05dfa492d9b9c8ab62c5153satok// template <class T> class gslice_array 13988323c57bd25a58f05dfa492d9b9c8ab62c5153satok 14988323c57bd25a58f05dfa492d9b9c8ab62c5153satok// void operator/= (const valarray<value_type>& v) const; 15988323c57bd25a58f05dfa492d9b9c8ab62c5153satok 16988323c57bd25a58f05dfa492d9b9c8ab62c5153satok#include <valarray> 17aafd955fa8f5c31c511763c0f826b6d7acf15b9csatok#include <cassert> 18988323c57bd25a58f05dfa492d9b9c8ab62c5153satok 19988323c57bd25a58f05dfa492d9b9c8ab62c5153satokint main() 20988323c57bd25a58f05dfa492d9b9c8ab62c5153satok{ 21988323c57bd25a58f05dfa492d9b9c8ab62c5153satok int a1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 22988323c57bd25a58f05dfa492d9b9c8ab62c5153satok 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 23988323c57bd25a58f05dfa492d9b9c8ab62c5153satok 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 2433b8ee509f36a0168c8ce5a9091b57ab936f4c13Dianne Hackborn 36, 37, 38, 39, 40}; 25988323c57bd25a58f05dfa492d9b9c8ab62c5153satok int a2[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2633b8ee509f36a0168c8ce5a9091b57ab936f4c13Dianne Hackborn 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}; 27988323c57bd25a58f05dfa492d9b9c8ab62c5153satok std::valarray<int> v1(a1, sizeof(a1)/sizeof(a1[0])); 2833b8ee509f36a0168c8ce5a9091b57ab936f4c13Dianne Hackborn std::valarray<int> v2(a2, sizeof(a2)/sizeof(a2[0])); 29988323c57bd25a58f05dfa492d9b9c8ab62c5153satok std::size_t sz[] = {2, 4, 3}; 30988323c57bd25a58f05dfa492d9b9c8ab62c5153satok std::size_t st[] = {19, 4, 1}; 311bedd99761e3d2acdac947d641e7fee5db556141satok typedef std::valarray<std::size_t> sizes; 32988323c57bd25a58f05dfa492d9b9c8ab62c5153satok typedef std::valarray<std::size_t> strides; 33988323c57bd25a58f05dfa492d9b9c8ab62c5153satok v1[std::gslice(3, sizes(sz, sizeof(sz)/sizeof(sz[0])), 34988323c57bd25a58f05dfa492d9b9c8ab62c5153satok strides(st, sizeof(st)/sizeof(st[0])))] /= v2; 35988323c57bd25a58f05dfa492d9b9c8ab62c5153satok assert(v1.size() == 41); 36988323c57bd25a58f05dfa492d9b9c8ab62c5153satok assert(v1[ 0] == 0); 37988323c57bd25a58f05dfa492d9b9c8ab62c5153satok assert(v1[ 1] == 1); 38988323c57bd25a58f05dfa492d9b9c8ab62c5153satok assert(v1[ 2] == 2); 39988323c57bd25a58f05dfa492d9b9c8ab62c5153satok assert(v1[ 3] == 3); 4044b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[ 4] == 2); 4144b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[ 5] == 1); 4244b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[ 6] == 6); 4344b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[ 7] == 1); 4444b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[ 8] == 1); 4544b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[ 9] == 1); 4644b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[10] == 10); 4744b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[11] == 1); 4844b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[12] == 1); 4944b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[13] == 1); 5044b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[14] == 14); 5144b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[15] == 1); 5244b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[16] == 1); 5344b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[17] == 1); 5444b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[18] == 18); 5544b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[19] == 19); 5644b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[20] == 20); 5744b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[21] == 21); 5844b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[22] == 1); 5944b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[23] == 1); 6044b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[24] == 1); 6144b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[25] == 25); 6244b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[26] == 1); 6344b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[27] == 1); 6444b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[28] == 1); 6544b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[29] == 29); 6644b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[30] == 1); 6744b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[31] == 1); 6844b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[32] == 1); 6944b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[33] == 33); 7044b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[34] == 1); 7144b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[35] == 1); 7244b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[36] == 1); 7344b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[37] == 37); 7444b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[38] == 38); 7544b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[39] == 39); 7644b75030931d9c65c9e495a86d11d71da59b4429satok assert(v1[40] == 40); 7744b75030931d9c65c9e495a86d11d71da59b4429satok} 7844b75030931d9c65c9e495a86d11d71da59b4429satok