162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci **************************************************************************** 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * "DHRYSTONE" Benchmark Program 662306a36Sopenharmony_ci * ----------------------------- 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * Version: C, Version 2.1 962306a36Sopenharmony_ci * 1062306a36Sopenharmony_ci * File: dhry_2.c (part 3 of 3) 1162306a36Sopenharmony_ci * 1262306a36Sopenharmony_ci * Date: May 25, 1988 1362306a36Sopenharmony_ci * 1462306a36Sopenharmony_ci * Author: Reinhold P. Weicker 1562306a36Sopenharmony_ci * 1662306a36Sopenharmony_ci **************************************************************************** 1762306a36Sopenharmony_ci */ 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci#include "dhry.h" 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci#include <linux/string.h> 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_cistatic Boolean Func_3(Enumeration Enum_Par_Val) 2562306a36Sopenharmony_ci/***************************/ 2662306a36Sopenharmony_ci/* executed once */ 2762306a36Sopenharmony_ci/* Enum_Par_Val == Ident_3 */ 2862306a36Sopenharmony_ci{ 2962306a36Sopenharmony_ci Enumeration Enum_Loc; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci Enum_Loc = Enum_Par_Val; 3262306a36Sopenharmony_ci if (Enum_Loc == Ident_3) { 3362306a36Sopenharmony_ci /* then, executed */ 3462306a36Sopenharmony_ci return true; 3562306a36Sopenharmony_ci } else { 3662306a36Sopenharmony_ci /* not executed */ 3762306a36Sopenharmony_ci return false; 3862306a36Sopenharmony_ci } 3962306a36Sopenharmony_ci} /* Func_3 */ 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_civoid Proc_6(Enumeration Enum_Val_Par, Enumeration *Enum_Ref_Par) 4362306a36Sopenharmony_ci/*********************************/ 4462306a36Sopenharmony_ci/* executed once */ 4562306a36Sopenharmony_ci/* Enum_Val_Par == Ident_3, Enum_Ref_Par becomes Ident_2 */ 4662306a36Sopenharmony_ci{ 4762306a36Sopenharmony_ci *Enum_Ref_Par = Enum_Val_Par; 4862306a36Sopenharmony_ci if (!Func_3(Enum_Val_Par)) { 4962306a36Sopenharmony_ci /* then, not executed */ 5062306a36Sopenharmony_ci *Enum_Ref_Par = Ident_4; 5162306a36Sopenharmony_ci } 5262306a36Sopenharmony_ci switch (Enum_Val_Par) { 5362306a36Sopenharmony_ci case Ident_1: 5462306a36Sopenharmony_ci *Enum_Ref_Par = Ident_1; 5562306a36Sopenharmony_ci break; 5662306a36Sopenharmony_ci case Ident_2: 5762306a36Sopenharmony_ci if (Int_Glob > 100) { 5862306a36Sopenharmony_ci /* then */ 5962306a36Sopenharmony_ci *Enum_Ref_Par = Ident_1; 6062306a36Sopenharmony_ci } else { 6162306a36Sopenharmony_ci *Enum_Ref_Par = Ident_4; 6262306a36Sopenharmony_ci } 6362306a36Sopenharmony_ci break; 6462306a36Sopenharmony_ci case Ident_3: /* executed */ 6562306a36Sopenharmony_ci *Enum_Ref_Par = Ident_2; 6662306a36Sopenharmony_ci break; 6762306a36Sopenharmony_ci case Ident_4: 6862306a36Sopenharmony_ci break; 6962306a36Sopenharmony_ci case Ident_5: 7062306a36Sopenharmony_ci *Enum_Ref_Par = Ident_3; 7162306a36Sopenharmony_ci break; 7262306a36Sopenharmony_ci } /* switch */ 7362306a36Sopenharmony_ci} /* Proc_6 */ 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_civoid Proc_7(One_Fifty Int_1_Par_Val, One_Fifty Int_2_Par_Val, One_Fifty *Int_Par_Ref) 7762306a36Sopenharmony_ci/**********************************************/ 7862306a36Sopenharmony_ci/* executed three times */ 7962306a36Sopenharmony_ci/* first call: Int_1_Par_Val == 2, Int_2_Par_Val == 3, */ 8062306a36Sopenharmony_ci/* Int_Par_Ref becomes 7 */ 8162306a36Sopenharmony_ci/* second call: Int_1_Par_Val == 10, Int_2_Par_Val == 5, */ 8262306a36Sopenharmony_ci/* Int_Par_Ref becomes 17 */ 8362306a36Sopenharmony_ci/* third call: Int_1_Par_Val == 6, Int_2_Par_Val == 10, */ 8462306a36Sopenharmony_ci/* Int_Par_Ref becomes 18 */ 8562306a36Sopenharmony_ci{ 8662306a36Sopenharmony_ci One_Fifty Int_Loc; 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci Int_Loc = Int_1_Par_Val + 2; 8962306a36Sopenharmony_ci *Int_Par_Ref = Int_2_Par_Val + Int_Loc; 9062306a36Sopenharmony_ci} /* Proc_7 */ 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_civoid 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) 9462306a36Sopenharmony_ci/*********************************************************************/ 9562306a36Sopenharmony_ci/* executed once */ 9662306a36Sopenharmony_ci/* Int_Par_Val_1 == 3 */ 9762306a36Sopenharmony_ci/* Int_Par_Val_2 == 7 */ 9862306a36Sopenharmony_ci{ 9962306a36Sopenharmony_ci One_Fifty Int_Index; 10062306a36Sopenharmony_ci One_Fifty Int_Loc; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci Int_Loc = Int_1_Par_Val + 5; 10362306a36Sopenharmony_ci Arr_1_Par_Ref[Int_Loc] = Int_2_Par_Val; 10462306a36Sopenharmony_ci Arr_1_Par_Ref[Int_Loc+1] = Arr_1_Par_Ref[Int_Loc]; 10562306a36Sopenharmony_ci Arr_1_Par_Ref[Int_Loc+30] = Int_Loc; 10662306a36Sopenharmony_ci for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index) 10762306a36Sopenharmony_ci Arr_2_Par_Ref[Int_Loc][Int_Index] = Int_Loc; 10862306a36Sopenharmony_ci Arr_2_Par_Ref[Int_Loc][Int_Loc-1] += 1; 10962306a36Sopenharmony_ci Arr_2_Par_Ref[Int_Loc+20][Int_Loc] = Arr_1_Par_Ref[Int_Loc]; 11062306a36Sopenharmony_ci Int_Glob = 5; 11162306a36Sopenharmony_ci} /* Proc_8 */ 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ciEnumeration Func_1(Capital_Letter Ch_1_Par_Val, Capital_Letter Ch_2_Par_Val) 11562306a36Sopenharmony_ci/*************************************************/ 11662306a36Sopenharmony_ci/* executed three times */ 11762306a36Sopenharmony_ci/* first call: Ch_1_Par_Val == 'H', Ch_2_Par_Val == 'R' */ 11862306a36Sopenharmony_ci/* second call: Ch_1_Par_Val == 'A', Ch_2_Par_Val == 'C' */ 11962306a36Sopenharmony_ci/* third call: Ch_1_Par_Val == 'B', Ch_2_Par_Val == 'C' */ 12062306a36Sopenharmony_ci{ 12162306a36Sopenharmony_ci Capital_Letter Ch_1_Loc; 12262306a36Sopenharmony_ci Capital_Letter Ch_2_Loc; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci Ch_1_Loc = Ch_1_Par_Val; 12562306a36Sopenharmony_ci Ch_2_Loc = Ch_1_Loc; 12662306a36Sopenharmony_ci if (Ch_2_Loc != Ch_2_Par_Val) { 12762306a36Sopenharmony_ci /* then, executed */ 12862306a36Sopenharmony_ci return Ident_1; 12962306a36Sopenharmony_ci } else { 13062306a36Sopenharmony_ci /* not executed */ 13162306a36Sopenharmony_ci Ch_1_Glob = Ch_1_Loc; 13262306a36Sopenharmony_ci return Ident_2; 13362306a36Sopenharmony_ci } 13462306a36Sopenharmony_ci} /* Func_1 */ 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ciBoolean Func_2(Str_30 Str_1_Par_Ref, Str_30 Str_2_Par_Ref) 13862306a36Sopenharmony_ci/*************************************************/ 13962306a36Sopenharmony_ci/* executed once */ 14062306a36Sopenharmony_ci/* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" */ 14162306a36Sopenharmony_ci/* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */ 14262306a36Sopenharmony_ci{ 14362306a36Sopenharmony_ci One_Thirty Int_Loc; 14462306a36Sopenharmony_ci Capital_Letter Ch_Loc; 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ci Int_Loc = 2; 14762306a36Sopenharmony_ci while (Int_Loc <= 2) { 14862306a36Sopenharmony_ci /* loop body executed once */ 14962306a36Sopenharmony_ci if (Func_1(Str_1_Par_Ref[Int_Loc], 15062306a36Sopenharmony_ci Str_2_Par_Ref[Int_Loc+1]) == Ident_1) { 15162306a36Sopenharmony_ci /* then, executed */ 15262306a36Sopenharmony_ci Ch_Loc = 'A'; 15362306a36Sopenharmony_ci Int_Loc += 1; 15462306a36Sopenharmony_ci } 15562306a36Sopenharmony_ci } /* if, while */ 15662306a36Sopenharmony_ci if (Ch_Loc >= 'W' && Ch_Loc < 'Z') { 15762306a36Sopenharmony_ci /* then, not executed */ 15862306a36Sopenharmony_ci Int_Loc = 7; 15962306a36Sopenharmony_ci } 16062306a36Sopenharmony_ci if (Ch_Loc == 'R') { 16162306a36Sopenharmony_ci /* then, not executed */ 16262306a36Sopenharmony_ci return true; 16362306a36Sopenharmony_ci } else { 16462306a36Sopenharmony_ci /* executed */ 16562306a36Sopenharmony_ci if (strcmp(Str_1_Par_Ref, Str_2_Par_Ref) > 0) { 16662306a36Sopenharmony_ci /* then, not executed */ 16762306a36Sopenharmony_ci Int_Loc += 7; 16862306a36Sopenharmony_ci Int_Glob = Int_Loc; 16962306a36Sopenharmony_ci return true; 17062306a36Sopenharmony_ci } else { 17162306a36Sopenharmony_ci /* executed */ 17262306a36Sopenharmony_ci return false; 17362306a36Sopenharmony_ci } 17462306a36Sopenharmony_ci } /* if Ch_Loc */ 17562306a36Sopenharmony_ci} /* Func_2 */ 176