175 lines · 4.4 KB · C
RawDownload
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)/* **************************************************************************** * *                   "DHRYSTONE" Benchmark Program *                   ----------------------------- * *  Version:    C, Version 2.1 * *  File:       dhry_2.c (part 3 of 3) * *  Date:       May 25, 1988 * *  Author:     Reinhold P. Weicker * **************************************************************************** */ #include "dhry.h" #include <linux/string.h>  static Boolean Func_3(Enumeration Enum_Par_Val)/***************************//* executed once        *//* Enum_Par_Val == Ident_3 */{	Enumeration Enum_Loc; 	Enum_Loc = Enum_Par_Val;	if (Enum_Loc == Ident_3) {		/* then, executed */		return true;	} else {		/* not executed */		return false;	}} /* Func_3 */  void Proc_6(Enumeration  Enum_Val_Par, Enumeration *Enum_Ref_Par)/*********************************//* executed once *//* Enum_Val_Par == Ident_3, Enum_Ref_Par becomes Ident_2 */{	*Enum_Ref_Par = Enum_Val_Par;	if (!Func_3(Enum_Val_Par)) {		/* then, not executed */		*Enum_Ref_Par = Ident_4;	}	switch (Enum_Val_Par) {	case Ident_1:		*Enum_Ref_Par = Ident_1;		break;	case Ident_2:		if (Int_Glob > 100) {			/* then */			*Enum_Ref_Par = Ident_1;		} else {			*Enum_Ref_Par = Ident_4;		}		break;	case Ident_3: /* executed */		*Enum_Ref_Par = Ident_2;		break;	case Ident_4:		break;	case Ident_5:		*Enum_Ref_Par = Ident_3;		break;	} /* switch */} /* Proc_6 */  void Proc_7(One_Fifty Int_1_Par_Val, One_Fifty Int_2_Par_Val, One_Fifty *Int_Par_Ref)/**********************************************//* executed three times                                      *//* first call:      Int_1_Par_Val == 2, Int_2_Par_Val == 3,  *//*                  Int_Par_Ref becomes 7                    *//* second call:     Int_1_Par_Val == 10, Int_2_Par_Val == 5, *//*                  Int_Par_Ref becomes 17                   *//* third call:      Int_1_Par_Val == 6, Int_2_Par_Val == 10, *//*                  Int_Par_Ref becomes 18                   */{	One_Fifty Int_Loc; 	Int_Loc = Int_1_Par_Val + 2;	*Int_Par_Ref = Int_2_Par_Val + Int_Loc;} /* Proc_7 */  void Proc_8(Arr_1_Dim Arr_1_Par_Ref, Arr_2_Dim Arr_2_Par_Ref, int Int_1_Par_Val, int Int_2_Par_Val)/*********************************************************************//* executed once      *//* Int_Par_Val_1 == 3 *//* Int_Par_Val_2 == 7 */{	One_Fifty Int_Index;	One_Fifty Int_Loc; 	Int_Loc = Int_1_Par_Val + 5;	Arr_1_Par_Ref[Int_Loc] = Int_2_Par_Val;	Arr_1_Par_Ref[Int_Loc+1] = Arr_1_Par_Ref[Int_Loc];	Arr_1_Par_Ref[Int_Loc+30] = Int_Loc;	for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index)		Arr_2_Par_Ref[Int_Loc][Int_Index] = Int_Loc;	Arr_2_Par_Ref[Int_Loc][Int_Loc-1] += 1;	Arr_2_Par_Ref[Int_Loc+20][Int_Loc] = Arr_1_Par_Ref[Int_Loc];	Int_Glob = 5;} /* Proc_8 */  Enumeration Func_1(Capital_Letter Ch_1_Par_Val, Capital_Letter Ch_2_Par_Val)/*************************************************//* executed three times                                         *//* first call:      Ch_1_Par_Val == 'H', Ch_2_Par_Val == 'R'    *//* second call:     Ch_1_Par_Val == 'A', Ch_2_Par_Val == 'C'    *//* third call:      Ch_1_Par_Val == 'B', Ch_2_Par_Val == 'C'    */{	Capital_Letter Ch_1_Loc;	Capital_Letter Ch_2_Loc; 	Ch_1_Loc = Ch_1_Par_Val;	Ch_2_Loc = Ch_1_Loc;	if (Ch_2_Loc != Ch_2_Par_Val) {		/* then, executed */		return Ident_1;	} else {		/* not executed */		Ch_1_Glob = Ch_1_Loc;		return Ident_2;	}} /* Func_1 */  Boolean Func_2(Str_30 Str_1_Par_Ref, Str_30 Str_2_Par_Ref)/*************************************************//* executed once *//* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" *//* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */{	One_Thirty Int_Loc;	Capital_Letter Ch_Loc; 	Int_Loc = 2;	while (Int_Loc <= 2) {		/* loop body executed once */		if (Func_1(Str_1_Par_Ref[Int_Loc],			   Str_2_Par_Ref[Int_Loc+1]) == Ident_1) {			/* then, executed */			Ch_Loc = 'A';			Int_Loc += 1;		}	} /* if, while */	if (Ch_Loc >= 'W' && Ch_Loc < 'Z') {		/* then, not executed */		Int_Loc = 7;	}	if (Ch_Loc == 'R') {		/* then, not executed */		return true;	} else {		/* executed */		if (strcmp(Str_1_Par_Ref, Str_2_Par_Ref) > 0) {			/* then, not executed */			Int_Loc += 7;			Int_Glob = Int_Loc;			return true;		} else {			/* executed */			return false;		}	} /* if Ch_Loc */} /* Func_2 */