Files
serenity/Userland/Libraries/LibC/fenv.cpp
T
2024-04-23 19:18:09 -06:00

30 lines
522 B
C++

/*
* Copyright (c) 2021, Mițca Dumitru <[email protected]>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <AK/Types.h>
#include <fenv.h>
extern "C" {
int feupdateenv(fenv_t const* env)
{
auto currently_raised_exceptions = fetestexcept(FE_ALL_EXCEPT);
fesetenv(env);
feraiseexcept(currently_raised_exceptions);
return 0;
}
int fegetexceptflag(fexcept_t* except, int exceptions)
{
if (!except)
return 1;
*except = (uint16_t)fetestexcept(exceptions);
return 0;
}
}