⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vrp13.c

📁 linux下编程用 编译软件
💻 C
字号:
/* { dg-do run }  *//* { dg-options -O2 }  */extern void abort (void);foo_div (int i, int j){  int k;  /* [-INF, -1] / [1, +INF] should not give [-1, -1].  */  if (i <= -1)    if (j >= 1)      {	k = i / j;	if (k == -1)	  abort ();	return k;      }  /* [-20, -10] / [2, 10] should give [-10, -1].  */  if (i >= -20)    if (i <= -10)      if (j >= 2)	if (j <= 10)	  {	    k = i / j;	    if (k < -10)	      link_error ();	    if (k > -1)	      link_error ();	    return k;	  }  /* [-20, -10] / [-10, -2] should give [1, 10].  */  if (i >= -20)    if (i <= -10)      if (j >= -10)	if (j <= -2)	  {	    k = i / j;	    if (k < 1)	      link_error ();	    if (k > 10)	      link_error ();	    return k;	  }  /* [-20, 10] / [2, 10] should give [-10, 5].  */  if (i >= -20)    if (i <= 10)      if (j >= 2)	if (j <= 10)	  {	    k = i / j;	    if (k < -10)	      link_error ();	    if (k > 5)	      link_error ();	    return k;	  }  /* [-20, 10] / [-10, -2] should give [-5, 10].  */  if (i >= -20)    if (i <= 10)      if (j >= -10)	if (j <= -2)	  {	    k = i / j;	    if (k < -5)	      link_error ();	    if (k > 10)	      link_error ();	    return k;	  }  /* [10, 20] / [2, 10] should give [1, 10].  */  if (i >= 10)    if (i <= 20)      if (j >= 2)	if (j <= 10)	  {	    k = i / j;	    if (k < 1)	      link_error ();	    if (k > 10)	      link_error ();	    return k;	  }  /* [10, 20] / [-10, -2] should give [-10, -1].  */  if (i >= 10)    if (i <= 20)      if (j >= -10)	if (j <= -2)	  {	    k = i / j;	    if (k > -1)	      link_error ();	    if (k < -10)	      link_error ();	    return k;	  }  abort ();}foo_mult (int i, int j){  int k;  /* [-20, -10] * [2, 10] should give [-200, -20].  */  if (i >= -20)    if (i <= -10)      if (j >= 2)	if (j <= 10)	  {	    k = i * j;	    if (k < -200)	      link_error ();	    if (k > -20)	      link_error ();	    return k;	  }  /* [-20, -10] * [-10, -2] should give [20, 200].  */  if (i >= -20)    if (i <= -10)      if (j >= -10)	if (j <= -2)	  {	    k = i * j;	    if (k < 20)	      link_error ();	    if (k > 200)	      link_error ();	    return k;	  }  /* [-20, 10] * [2, 10] should give [-200, 100].  */  if (i >= -20)    if (i <= 10)      if (j >= 2)	if (j <= 10)	  {	    k = i * j;	    if (k < -200)	      link_error ();	    if (k > 100)	      link_error ();	    return k;	  }  /* [-20, 10] * [-10, -2] should give [-100, 200].  */  if (i >= -20)    if (i <= 10)      if (j >= -10)	if (j <= -2)	  {	    k = i * j;	    if (k < -100)	      link_error ();	    if (k > 200)	      link_error ();	    return k;	  }  /* [10, 20] * [2, 10] should give [20, 200].  */  if (i >= 10)    if (i <= 20)      if (j >= 2)	if (j <= 10)	  {	    k = i * j;	    if (k < 20)	      link_error ();	    if (k > 200)	      link_error ();	    return k;	  }  /* [10, 20] * [-10, -2] should give [-200, -20].  */  if (i >= 10)    if (i <= 20)      if (j >= -10)	if (j <= -2)	  {	    k = i * j;	    if (k < -200)	      link_error ();	    if (k > -20)	      link_error ();	    return k;	  }  abort ();}main(){  if (foo_div (-10, 5) != -2)    abort ();  if (foo_div (-16, 4) != -4)    abort ();  if (foo_div (-15, -5) != 3)    abort ();  if (foo_div (8, 2) != 4)    abort ();  if (foo_div (10, -2) != -5)    abort ();  if (foo_div (20, 5) != 4)    abort ();  if (foo_div (15, -3) != -5)    abort ();  if (foo_mult (-10, 5) != -50)    abort ();  if (foo_mult (-16, 4) != -64)    abort ();  if (foo_mult (-15, -5) != 75)    abort ();  if (foo_mult (8, 2) != 16)    abort ();  if (foo_mult (10, -2) != -20)    abort ();  if (foo_mult (20, 5) != 100)    abort ();  if (foo_mult (15, -3) != -45)    abort ();  return 0;}

⌨️ 快捷键说明

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