📄 builtins-18.c
字号:
/* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -