brintos

brintos / linux-shallow public Read only

0
0
Text · 4.4 KiB · c19e661 Raw
176 lines · c
1// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2/*3 ****************************************************************************4 *5 *                   "DHRYSTONE" Benchmark Program6 *                   -----------------------------7 *8 *  Version:    C, Version 2.19 *10 *  File:       dhry_2.c (part 3 of 3)11 *12 *  Date:       May 25, 198813 *14 *  Author:     Reinhold P. Weicker15 *16 ****************************************************************************17 */18 19#include "dhry.h"20 21#include <linux/string.h>22 23 24static Boolean Func_3(Enumeration Enum_Par_Val)25/***************************/26/* executed once        */27/* Enum_Par_Val == Ident_3 */28{29	Enumeration Enum_Loc;30 31	Enum_Loc = Enum_Par_Val;32	if (Enum_Loc == Ident_3) {33		/* then, executed */34		return true;35	} else {36		/* not executed */37		return false;38	}39} /* Func_3 */40 41 42void Proc_6(Enumeration  Enum_Val_Par, Enumeration *Enum_Ref_Par)43/*********************************/44/* executed once */45/* Enum_Val_Par == Ident_3, Enum_Ref_Par becomes Ident_2 */46{47	*Enum_Ref_Par = Enum_Val_Par;48	if (!Func_3(Enum_Val_Par)) {49		/* then, not executed */50		*Enum_Ref_Par = Ident_4;51	}52	switch (Enum_Val_Par) {53	case Ident_1:54		*Enum_Ref_Par = Ident_1;55		break;56	case Ident_2:57		if (Int_Glob > 100) {58			/* then */59			*Enum_Ref_Par = Ident_1;60		} else {61			*Enum_Ref_Par = Ident_4;62		}63		break;64	case Ident_3: /* executed */65		*Enum_Ref_Par = Ident_2;66		break;67	case Ident_4:68		break;69	case Ident_5:70		*Enum_Ref_Par = Ident_3;71		break;72	} /* switch */73} /* Proc_6 */74 75 76void Proc_7(One_Fifty Int_1_Par_Val, One_Fifty Int_2_Par_Val, One_Fifty *Int_Par_Ref)77/**********************************************/78/* executed three times                                      */79/* first call:      Int_1_Par_Val == 2, Int_2_Par_Val == 3,  */80/*                  Int_Par_Ref becomes 7                    */81/* second call:     Int_1_Par_Val == 10, Int_2_Par_Val == 5, */82/*                  Int_Par_Ref becomes 17                   */83/* third call:      Int_1_Par_Val == 6, Int_2_Par_Val == 10, */84/*                  Int_Par_Ref becomes 18                   */85{86	One_Fifty Int_Loc;87 88	Int_Loc = Int_1_Par_Val + 2;89	*Int_Par_Ref = Int_2_Par_Val + Int_Loc;90} /* Proc_7 */91 92 93void 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)94/*********************************************************************/95/* executed once      */96/* Int_Par_Val_1 == 3 */97/* Int_Par_Val_2 == 7 */98{99	One_Fifty Int_Index;100	One_Fifty Int_Loc;101 102	Int_Loc = Int_1_Par_Val + 5;103	Arr_1_Par_Ref[Int_Loc] = Int_2_Par_Val;104	Arr_1_Par_Ref[Int_Loc+1] = Arr_1_Par_Ref[Int_Loc];105	Arr_1_Par_Ref[Int_Loc+30] = Int_Loc;106	for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index)107		Arr_2_Par_Ref[Int_Loc][Int_Index] = Int_Loc;108	Arr_2_Par_Ref[Int_Loc][Int_Loc-1] += 1;109	Arr_2_Par_Ref[Int_Loc+20][Int_Loc] = Arr_1_Par_Ref[Int_Loc];110	Int_Glob = 5;111} /* Proc_8 */112 113 114Enumeration Func_1(Capital_Letter Ch_1_Par_Val, Capital_Letter Ch_2_Par_Val)115/*************************************************/116/* executed three times                                         */117/* first call:      Ch_1_Par_Val == 'H', Ch_2_Par_Val == 'R'    */118/* second call:     Ch_1_Par_Val == 'A', Ch_2_Par_Val == 'C'    */119/* third call:      Ch_1_Par_Val == 'B', Ch_2_Par_Val == 'C'    */120{121	Capital_Letter Ch_1_Loc;122	Capital_Letter Ch_2_Loc;123 124	Ch_1_Loc = Ch_1_Par_Val;125	Ch_2_Loc = Ch_1_Loc;126	if (Ch_2_Loc != Ch_2_Par_Val) {127		/* then, executed */128		return Ident_1;129	} else {130		/* not executed */131		Ch_1_Glob = Ch_1_Loc;132		return Ident_2;133	}134} /* Func_1 */135 136 137Boolean Func_2(Str_30 Str_1_Par_Ref, Str_30 Str_2_Par_Ref)138/*************************************************/139/* executed once */140/* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" */141/* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */142{143	One_Thirty Int_Loc;144	Capital_Letter Ch_Loc;145 146	Int_Loc = 2;147	while (Int_Loc <= 2) {148		/* loop body executed once */149		if (Func_1(Str_1_Par_Ref[Int_Loc],150			   Str_2_Par_Ref[Int_Loc+1]) == Ident_1) {151			/* then, executed */152			Ch_Loc = 'A';153			Int_Loc += 1;154		}155	} /* if, while */156	if (Ch_Loc >= 'W' && Ch_Loc < 'Z') {157		/* then, not executed */158		Int_Loc = 7;159	}160	if (Ch_Loc == 'R') {161		/* then, not executed */162		return true;163	} else {164		/* executed */165		if (strcmp(Str_1_Par_Ref, Str_2_Par_Ref) > 0) {166			/* then, not executed */167			Int_Loc += 7;168			Int_Glob = Int_Loc;169			return true;170		} else {171			/* executed */172			return false;173		}174	} /* if Ch_Loc */175} /* Func_2 */176