blob: d5ebef76e104e13515d32ef3a851fb9f73d12fba [file] [log] [blame]
/*
* Copyright 2015 The Emscripten Authors. All rights reserved.
* Emscripten is available under two separate licenses, the MIT license and the
* University of Illinois/NCSA Open Source License. Both these licenses can be
* found in the LICENSE file.
*/
#include <math.h>
#include <stdio.h>
#include <float.h>
#include <emscripten/emscripten.h>
float __attribute__((noinline)) negative10()
{
return (emscripten_random() < -1) ? 0.f : -10.5f;
}
float __attribute__((noinline)) positive42()
{
return (emscripten_random() < -1) ? 0.f : 42.25f;
}
double __attribute__((noinline)) negative_dbl_max()
{
return (emscripten_random() < -1) ? 0.f : -DBL_MAX;
}
int main()
{
printf("%f\n", __builtin_fabsf(negative10()));
printf("%f\n", __builtin_fabsf(positive42()));
printf("%f\n", __builtin_fabsf((float)negative_dbl_max()));
printf("%f\n", __builtin_fabs(negative10()));
printf("%f\n", __builtin_fabs(positive42()));
printf("%f\n", __builtin_fabs(negative_dbl_max()));
}