/**
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is part of the w64 mingw-runtime package.
 * No warranty is given; refer to the file DISCLAIMER within this package.
 */
#include "fp_consts.h"

const union _ieee_rep __QNANF = { __FLOAT_QNAN_REP };   
const union _ieee_rep __SNANF = { __FLOAT_SNAN_REP };   
const union _ieee_rep __INFF = { __FLOAT_INF_REP };   
const union _ieee_rep __DENORMF = { __FLOAT_DENORM_REP };   

/* ISO C99 */
#undef nanf
/* FIXME */
float nanf(const char * tagp __attribute__((unused)) )
  { return __QNANF.float_val;}
