builtins-18.c

来自「用于进行gcc测试」· C语言 代码 · 共 66 行

C
66
字号
/* Copyright (C) 2003 Free Software Foundation.   Check that built-in cabs, cabsf and cabsl functions don't   break anything and produces the expected results.   Written by Roger Sayle, 1st June 2003.  *//* { dg-do link } *//* { dg-options "-O2 -ffast-math" } *//* { dg-add-options c99_runtime } */#include "builtins-config.h"extern void link_error(void);extern float cabsf (float _Complex);extern double cabs (double _Complex);extern long double cabsl (long double _Complex);intmain (void){  /* For each type, test both runtime and compile time (constant folding)     optimization.  */  float _Complex fc = 3.0F + 4.0iF;  double _Complex dc = 3.0 + 4.0i;  long double _Complex ldc = 3.0L + 4.0iL;#ifdef HAVE_C99_RUNTIME  /* Test floats.  */  if (cabsf (fc) != 5.0F)    link_error ();  if (__builtin_cabsf (fc) != 5.0F)    link_error ();  if (cabsf (3.0F + 4.0iF) != 5.0F)    link_error ();  if (__builtin_cabsf (3.0F + 4.0iF) != 5.0F)    link_error ();#endif  /* Test doubles.  */  if (cabs (dc) != 5.0)    link_error ();  if (__builtin_cabs (dc) != 5.0)    link_error ();  if (cabs (3.0 + 4.0i) != 5.0)    link_error ();  if (__builtin_cabs (3.0 + 4.0i) != 5.0)    link_error ();#ifdef HAVE_C99_RUNTIME  /* Test long doubles.  */  if (cabsl (ldc) != 5.0L)    link_error ();  if (__builtin_cabsl (ldc) != 5.0L)    link_error ();  if (cabsl (3.0L + 4.0iL) != 5.0L)    link_error ();  if (__builtin_cabsl (3.0L + 4.0iL) != 5.0L)    link_error ();#endif  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?