scalar-return-4_x.c

来自「linux下编程用 编译软件」· C语言 代码 · 共 67 行

C
67
字号
#include "compat-common.h"#define T(NAME, TYPE, INITVAL) 					\TYPE g01##NAME;							\								\extern void init##NAME (TYPE *p, TYPE v);			\extern void checkg##NAME (void);				\extern TYPE test0##NAME (void);					\extern TYPE test1##NAME (TYPE);					\								\void								\check##NAME (TYPE x, TYPE v)					\{								\  if (x != v)							\    DEBUG_CHECK							\}								\								\void								\testit##NAME (void)						\{								\  TYPE rslt;							\  DEBUG_FPUTS (#NAME);						\  DEBUG_FPUTS (" init: ");					\  init##NAME (&g01##NAME,  1);					\  checkg##NAME ();						\  DEBUG_NL;							\  DEBUG_FPUTS (#NAME);						\  DEBUG_FPUTS (" test0: ");					\  rslt = test0##NAME ();					\  check##NAME (rslt, g01##NAME);				\  DEBUG_NL;							\  DEBUG_FPUTS (#NAME);						\  DEBUG_FPUTS (" test1: ");					\  rslt = test1##NAME (g01##NAME);				\  check##NAME (rslt, g01##NAME);				\  DEBUG_NL;							\}#ifndef SKIP_COMPLEX_INTT(cc, _Complex char, CINT (0, 1))T(cs, _Complex short, CINT (1 + 2))#endifT(cf, _Complex float, CDBL (1.0, 2.0))#undef Tvoidscalar_return_4_x (){DEBUG_INIT#define T(NAME) testit##NAME ();#ifndef SKIP_COMPLEX_INTT(cc)T(cs)#endifT(cf)DEBUG_FINIif (fails != 0)  abort ();#undef T}

⌨️ 快捷键说明

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