diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-24 22:53:43 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-24 22:53:43 +0000 |
commit | 269f3e1244e870a71caf4486e01065b8d151935c (patch) | |
tree | 6d9923668cd2aa984ee4820112915784284e282d /libstdc++-v3/testsuite/ext | |
parent | 34d3c5ded6d7823cea390954b2093c1c65452d95 (diff) | |
download | gcc-269f3e1244e870a71caf4486e01065b8d151935c.tar.gz |
2005-05-24 Paolo Carlini <pcarlini@suse.de>
* testsuite/25_algorithms/equal.cc: Move to...
* testsuite/25_algorithms/equal: ... here.
* testsuite/25_algorithms/lower_bound.cc: Move to...
* testsuite/25_algorithms/lower_bound: ... here.
2005-05-24 Paolo Carlini <pcarlini@suse.de>
Port from libstdcxx_so_7-branch:
2005-20-05 Chris Jefferson <chris@bubblescope.net>
* testsuite/25_algorithms/heap.cc: Move to...
* testsuite/25_algorithms/heap/heap.cc: ...here.
* testsuite/25_algorithms/partition.cc: Move to...
* testsuite/25_algorithms/partition/partition.cc: ...here.
2005-03-29 Christopher Jefferson <chris@bubblescope.net>
* testsuite/25_algorithms/includes/1.cc: Add tests.
* testsuite/25_algorithms/search/1.cc: Likewise.
* testsuite/25_algorithms/unique_copy/1.cc: Likewise.
* testsuite/25_algorithms/swap_ranges/1.cc: New.
* testsuite/25_algorithms/swap_ranges/check_type.cc: New.
* testsuite/25_algorithms/rotate.cc: Move to...
* testsuite/25_algorithms/rotate/rotate.cc: ... here.
* testsuite/25_algorithms/rotate/1.cc: New.
* testsuite/25_algorithms/rotate/check_type.cc: New.
* testsuite/25_algorithms/search_n/iterator.cc: Fix typo.
2005-03-14 Christopher Jefferson <chris@bubblescope.net>
* include/bits/stl_algo.h (replace_copy, replace_copy_if):
Don't assume that __new_value and *__first are convertible to
each other.
* testsuite/25_algorithms/find/1.cc: New.
* testsuite/25_algorithms/find/check_type.cc: New.
* testsuite/25_algorithms/find_if/1.cc: New.
* testsuite/25_algorithms/find_if/check_type.cc: New.
* testsuite/25_algorithms/replace/1.cc: New.
* testsuite/25_algorithms/replace/check_type.cc: New.
* testsuite/25_algorithms/replace_if/1.cc: New.
* testsuite/25_algorithms/replace_if/check_type.cc: New.
* testsuite/25_algorithms/replace_copy/1.cc: New.
* testsuite/25_algorithms/replace_copy/check_type.cc: New.
* testsuite/25_algorithms/replace_copy_if/1.cc: New.
* testsuite/25_algorithms/replace_copy_if/check_type.cc: New.
* testsuite/25_algorithms/remove/1.cc: New.
* testsuite/25_algorithms/remove/check_type.cc: New.
* testsuite/25_algorithms/remove_if/1.cc: New.
* testsuite/25_algorithms/remove_if/check_type.cc: New.
* testsuite/25_algorithms/count/1.cc: New.
* testsuite/25_algorithms/count/check_type.cc: New.
* testsuite/25_algorithms/count_if/1.cc: New.
* testsuite/25_algorithms/count_if/check_type.cc: New.
2005-02-27 Christopher Jefferson <chris@bubblescope.net>
Paolo Carlini <pcarlini@suse.de>
* testsuite/ext/is_heap/check_type.cc: New.
2005-02-27 Paolo Carlini <pcarlini@suse.de>
* testsuite/ext/is_heap/1.cc: New.
2005-02-01 Christopher Jefferson <chris@bubblescope.net>
* testsuite/ext/median.cc: New.
* testsuite/25_algorithms/adjacent_find/1.cc: New.
* testsuite/25_algorithms/adjacent_find/check_type.cc: New.
* testsuite/25_algorithms/search/1.cc: New.
* testsuite/25_algorithms/search/check_type.cc: New.
* testsuite/25_algorithms/unique_copy/1.cc: New.
* testsuite/25_algorithms/unique_copy/check_type.cc: New.
* testsuite/25_algorithms/partial_sort/1.cc: New.
* testsuite/25_algorithms/partial_sort/check_type.cc: New.
* testsuite/25_algorithms/partial_sort_copy/1.cc: New.
* testsuite/25_algorithms/partial_sort_copy/check_type.cc: New.
* testsuite/25_algorithms/lower_bound/1.cc: New.
* testsuite/25_algorithms/lower_bound/check_type.cc: New.
* testsuite/25_algorithms/upper_bound/1.cc: New.
* testsuite/25_algorithms/upper_bound/check_type.cc: New.
* testsuite/25_algorithms/merge/1.cc: New.
* testsuite/25_algorithms/merge/check_type.cc: New.
* testsuite/25_algorithms/inplace_merge/1.cc: New.
* testsuite/25_algorithms/inplace_merge/check_type.cc: New.
* testsuite/25_algorithms/stable_sort/1.cc: New.
* testsuite/25_algorithms/stable_sort/check_type.cc: New.
* testsuite/25_algorithms/nth_element/1.cc: New.
* testsuite/25_algorithms/nth_element/check_type.cc: New.
* testsuite/25_algorithms/equal_range/1.cc: New.
* testsuite/25_algorithms/equal_range/check_type.cc: New.
* testsuite/25_algorithms/binary_search/1.cc: New.
* testsuite/25_algorithms/binary_search/check_type.cc: New.
* testsuite/25_algorithms/includes/1.cc: New.
* testsuite/25_algorithms/includes/check_type.cc: New.
* testsuite/25_algorithms/set_union/1.cc: New.
* testsuite/25_algorithms/set_union/check_type.cc: New.
* testsuite/25_algorithms/set_intersection/1.cc: New.
* testsuite/25_algorithms/set_intersection/check_type.cc: New.
* testsuite/25_algorithms/set_difference/1.cc: New.
* testsuite/25_algorithms/set_difference/check_type.cc: New.
* testsuite/25_algorithms/set_symmetric_difference/1.cc: New.
* testsuite/25_algorithms/set_symmetric_difference/check_type.cc: New.
* testsuite/25_algorithms/min_element/1.cc: New.
* testsuite/25_algorithms/min_element/check_type.cc: New.
* testsuite/25_algorithms/max_element/1.cc: New.
* testsuite/25_algorithms/max_element/check_type.cc: New.
* testsuite/25_algorithms/prev_permutation/1.cc: New.
* testsuite/25_algorithms/prev_permutation/check_type.cc: New.
* testsuite/25_algorithms/next_permutation/1.cc: New.
* testsuite/25_algorithms/next_permutation/check_type.cc: New.
* testsuite/25_algorithms/find_first_of/1.cc: New.
* testsuite/25_algorithms/find_first_of/check_type.cc: New.
* testsuite/25_algorithms/find_end/1.cc: New.
* testsuite/25_algorithms/find_end/check_type.cc: New.
* testsuite/25_algorithms/equal/check_type.cc: Insert iterator type.
* testsuite/25_algorithms/lexicographical_compare/check_type.cc:
Likewise.
2005-01-10 Christopher Jefferson <chris@bubblescope.net>
* testsuite/25_algorithms/lexicographical_compare/check_type.cc: New.
* testsuite/25_algorithms/lexicographical_compare/1.cc: Likewise.
* testsuite/25_algorithms/mismatch/check_type.cc: Likewise.
* testsuite/25_algorithms/mismatch/1.cc: Likewise.
* testsuite/25_algorithms/equal/check_type.cc: New.
* testsuite/25_algorithms/equal/1.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100127 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/testsuite/ext')
-rw-r--r-- | libstdc++-v3/testsuite/ext/is_heap/1.cc | 46 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/ext/is_heap/check_type.cc | 47 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/ext/median.cc | 42 |
3 files changed, 135 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/ext/is_heap/1.cc b/libstdc++-v3/testsuite/ext/is_heap/1.cc new file mode 100644 index 00000000000..3974f03c464 --- /dev/null +++ b/libstdc++-v3/testsuite/ext/is_heap/1.cc @@ -0,0 +1,46 @@ +// Copyright (C) 2005 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +#include <algorithm> +#include <testsuite_hooks.h> +#include <testsuite_iterators.h> + +using __gnu_test::test_container; +using __gnu_test::random_access_iterator_wrapper; + +typedef test_container<int, random_access_iterator_wrapper> container; + +void +test1() +{ + int array[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; + for(int i = 0; i < 10; ++i) + { + container con(array, array + i); + std::make_heap(con.begin(), con.end()); + VERIFY(std::__is_heap(con.begin(), con.end())); + VERIFY(std::__is_heap(con.begin(), i)); + } +} + +int +main() +{ + test1(); + return 0; +} diff --git a/libstdc++-v3/testsuite/ext/is_heap/check_type.cc b/libstdc++-v3/testsuite/ext/is_heap/check_type.cc new file mode 100644 index 00000000000..6c791bd80ac --- /dev/null +++ b/libstdc++-v3/testsuite/ext/is_heap/check_type.cc @@ -0,0 +1,47 @@ +// Copyright (C) 2005 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// { dg-do compile } + +#include <algorithm> +#include <testsuite_iterators.h> + +using __gnu_test::random_access_iterator_wrapper; + +struct S { }; + +bool +operator<(const S&, const S&) {return true;} + +struct X { }; + +bool +predicate(const X&, const X&) {return true;} + +bool +test1(random_access_iterator_wrapper<S>& start, + random_access_iterator_wrapper<S>& end) +{ return std::__is_heap(start, end) && std::__is_heap(start, 1); } + +bool +test2(random_access_iterator_wrapper<X>& start, + random_access_iterator_wrapper<X>& end) +{ + return std::__is_heap(start, end, predicate) && + std::__is_heap(start, predicate, 1); +} diff --git a/libstdc++-v3/testsuite/ext/median.cc b/libstdc++-v3/testsuite/ext/median.cc new file mode 100644 index 00000000000..97e44ea5bb9 --- /dev/null +++ b/libstdc++-v3/testsuite/ext/median.cc @@ -0,0 +1,42 @@ +// Copyright (C) 2005 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// median - SGI extension + +#include <algorithm> +#include <testsuite_hooks.h> + +bool pred(const int& l, const int& r) +{ + return l<r; +} + +using std::__median; + +int main(void) +{ + const int i=1; + const int j=2; + const int k=3; + VERIFY(__median(i, j, k) == j && __median(i, j, k, pred) == j); + VERIFY(__median(i, k, j) == j && __median(i, k, j, pred) == j); + VERIFY(__median(j, i, k) == j && __median(j, i, k, pred) == j); + VERIFY(__median(j, k, i) == j && __median(j, k, i, pred) == j); + VERIFY(__median(k, i, j) == j && __median(k, i, j, pred) == j); + VERIFY(__median(k, j, i) == j && __median(k, j, i, pred) == j); +} |