1 //===----------------------------------------------------------------------===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is dual licensed under the MIT and the University of Illinois Open
6 // Source Licenses. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 // <valarray>
11 
12 // template<class T> class valarray;
13 
14 // value_type min() const;
15 
16 #include <valarray>
17 #include <cassert>
18 
19 int main()
20 {
21     {
22         typedef double T;
23         T a1[] = {1.5, 2.5, -3, 4, 5.5};
24         const unsigned N1 = sizeof(a1)/sizeof(a1[0]);
25         std::valarray<T> v1(a1, N1);
26         assert(v1.min() == -3.0);
27     }
28     {
29         typedef double T;
30         std::valarray<T> v1;
31         v1.min();
32     }
33     {
34         typedef double T;
35         T a1[] = {1.5, 2.5, -3, 4, 5.5};
36         const unsigned N1 = sizeof(a1)/sizeof(a1[0]);
37         std::valarray<T> v1(a1, N1);
38         assert((2*v1).min() == -6.0);
39     }
40 }
41