text: //===--------------- trunctfsf2_test.c - Test __trunctfsf2 ----------------===//
  //
  //                     The LLVM Compiler Infrastructure
  //
  // This file is dual licensed under the MIT and the University of Illinois Open
  // Source Licenses. See LICENSE.TXT for details.
  //
  //===----------------------------------------------------------------------===//
  //
  // This file tests __trunctfsf2 for the compiler_rt library.
  //
  //===----------------------------------------------------------------------===//
  
  #include <stdio.h>
  
  #if __LDBL_MANT_DIG__ == 113
  
  #include "fp_test.h"
  
  float __trunctfsf2(long double a);
  
  int test__trunctfsf2(long double a, uint32_t expected)
  {
      float x = __trunctfsf2(a);
      int ret = compareResultF(x, expected);
  
      if (ret){
          printf("error in test__trunctfsf2(%.20Lf) = %f, "
                 "expected %f\n", a, x, fromRep32(expected));
      }
      return ret;
  }
  
  char assumption_1[sizeof(long double) * CHAR_BIT == 128] = {0};
  
  #endif
  
  int main()
  {
  #if __LDBL_MANT_DIG__ == 113
      // qNaN
      if (test__trunctfsf2(makeQNaN128(),
                           UINT32_C(0x7fc00000)))
          return 1;
      // NaN
      if (test__trunctfsf2(makeNaN128(UINT64_C(0x810000000000)),
                           UINT32_C(0x7fc08000)))
          return 1;
      // inf
      if (test__trunctfsf2(makeInf128(),
                           UINT32_C(0x7f800000)))
          return 1;
      // zero
      if (test__trunctfsf2(0.0L, UINT32_C(0x0)))
          return 1;
  
      if (test__trunctfsf2(0x1.23a2abb4a2ddee355f36789abcdep+5L,
                           UINT32_C(0x4211d156)))
          return 1;
      if (test__trunctfsf2(0x1.e3d3c45bd3abfd98b76a54cc321fp-9L,
                           UINT32_C(0x3b71e9e2)))
          return 1;
      if (test__trunctfsf2(0x1.234eebb5faa678f4488693abcdefp+4534L,
                           UINT32_C(0x7f800000)))
          return 1;
      if (test__trunctfsf2(0x1.edcba9bb8c76a5a43dd21f334634p-435L,
                           UINT32_C(0x0)))
          return 1;
  
  #else
      printf("skipped\n");
  
  #endif
      return 0;
  }
  