1//===-- nextafter_differential_fuzz.cpp
2//---------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9///
10/// Differential fuzz test for llvm-libc nextafter implementation.
11///
12//===----------------------------------------------------------------------===//
13
14#include "fuzzing/math/TwoInputSingleOutputDiff.h"
15
16#include "src/math/nextafter.h"
17#include "src/math/nextafterf.h"
18#include "src/math/nextafterl.h"
19
20extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
21 TwoInputSingleOutputDiff<float, float>(func1: &LIBC_NAMESPACE::nextafterf,
22 func2: &::nextafterf, data, size);
23 TwoInputSingleOutputDiff<double, double>(func1: &LIBC_NAMESPACE::nextafter,
24 func2: &::nextafter, data, size);
25 return 0;
26}
27

source code of libc/fuzzing/math/nextafter_differential_fuzz.cpp