This PR resolves #96322 and implements the `signbit` macro under a new header `generic-math-macros.h`. This also removed the `TODO` in `math-macros.h` and moves `isfinite`, `isinf`, and `isnan` to the same generic maths header. Finally, a test file `generic-math-macros_test.cpp` that adds coverage to the above 4 macros. Fixes #96322.
23 lines
648 B
C
23 lines
648 B
C
//===-- Unittests for isinf macro -----------------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDSList-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
#include "include/llvm-libc-macros/math-function-macros.h"
|
|
|
|
#include <assert.h>
|
|
|
|
// check if macro is defined
|
|
#ifndef isinf
|
|
#error "isinf macro is not defined"
|
|
#else
|
|
int main(void) {
|
|
assert(!isinf(1.0f));
|
|
assert(!isinf(1.0));
|
|
assert(!isinf(1.0L));
|
|
return 0;
|
|
}
|
|
#endif
|