29 lines · cpp
1//===-- nextafter_differential_fuzz.cpp2//---------------------------------------===//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-exception7//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 20#include <math.h>21 22extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {23 TwoInputSingleOutputDiff<float, float>(&LIBC_NAMESPACE::nextafterf,24 &::nextafterf, data, size);25 TwoInputSingleOutputDiff<double, double>(&LIBC_NAMESPACE::nextafter,26 &::nextafter, data, size);27 return 0;28}29