llvm/pstl/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp

// -*- C++ -*-
//===-- adjacent_difference.pass.cpp --------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

// UNSUPPORTED: c++03, c++11, c++14

#include "support/pstl_test_config.h"

#include <iterator>
#include <execution>
#include <numeric>

#include "support/utils.h"

usingnamespaceTestUtils;

template <typename T>
struct wrapper
{};

template <typename T>
bool
compare(const T& a, const T& b)
{}

template <typename T>
bool
compare(const wrapper<T>& a, const wrapper<T>& b)
{}

template <typename Iterator1, typename Iterator2, typename T, typename Function>
typename std::enable_if<!std::is_floating_point<T>::value, bool>::type
compute_and_check(Iterator1 first, Iterator1 last, Iterator2 d_first, T, Function f)
{}

// we don't want to check equality here
// because we can't be sure it will be strictly equal for floating point types
template <typename Iterator1, typename Iterator2, typename T, typename Function>
typename std::enable_if<std::is_floating_point<T>::value, bool>::type compute_and_check(Iterator1, Iterator1, Iterator2,
                                                                                        T, Function)
{}

struct test_one_policy
{};

template <typename T1, typename T2, typename Pred>
void
test(Pred pred)
{}

int
main()
{}