mzero4.c

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

C
59
字号
/* Copyright (C) 2003  Free Software Foundation.   by Roger Sayle <roger@eyesopen.com>, derived from mzero3.c   Constant folding of sin(-0.0), tan(-0.0) and atan(-0.0) should   all return -0.0, for both double and float forms.  */void abort (void);typedef __SIZE_TYPE__ size_t;extern int memcmp (const void *, const void *, size_t);double sin (double);double tan (double);double atan (double);float sinf (float);float tanf (float);float atanf (float);void expectd (double, double);void expectf (float, float);voidexpectd (double value, double expected){  if (value != expected      || memcmp ((void *)&value, (void *) &expected, sizeof (double)) != 0)    abort ();}voidexpectf (float value, float expected){  if (value != expected      || memcmp ((void *)&value, (void *) &expected, sizeof (float)) != 0)    abort ();}int main (){  expectd (sin (0.0), 0.0);  expectd (tan (0.0), 0.0);  expectd (atan (0.0), 0.0);  expectd (sin (-0.0), -0.0);  expectd (tan (-0.0), -0.0);  expectd (atan (-0.0), -0.0);  expectf (sinf (0.0f), 0.0f);  expectf (tanf (0.0f), 0.0f);  expectf (atanf (0.0f), 0.0f);  expectf (sinf (-0.0f), -0.0f);  expectf (tanf (-0.0f), -0.0f);  expectf (atanf (-0.0f), -0.0f);  return 0;}

⌨️ 快捷键说明

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