+// See LICENSE for license details.
+
#ifndef _DHRYSTONE_H
#define _DHRYSTONE_H
#elif defined(__riscv)
-#define HZ 976563
-#define Too_Small_Time 50
+#define HZ 1000000
+#define Too_Small_Time 1
#define CLOCK_TYPE "rdcycle()"
-#define Start_Timer() Begin_Time = rdcycle()/1024
-#define Stop_Timer() End_Time = rdcycle()/1024
+#define Start_Timer() Begin_Time = read_csr(mcycle)
+#define Stop_Timer() End_Time = read_csr(mcycle)
#else
/* Use times(2) time function unless */
#endif /* TIME */
-#define Mic_secs_Per_Second 1000000.0
+#define Mic_secs_Per_Second 1000000
#define NUMBER_OF_RUNS 500 /* Default number of runs */
#ifdef NOSTRUCTASSIGN
} variant;
} Rec_Type, *Rec_Pointer;
-void Proc_1(Rec_Pointer Ptr_Val_Par);
-void Proc_2(int* Int_Par_Ref);
-void Proc_3(Rec_Pointer* Ptr_Ref_Par);
-void Proc_4();
-void Proc_5();
-void Proc_6(Enumeration Enum_Val_Par, Enumeration* Enum_Ref_Par);
-void Proc_7(int Int_1_Par_Val, int Int_2_Par_Val, int* Int_Par_Ref);
-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);
-Enumeration Func_1 (char Ch_1_Par_Val, char Ch_2_Par_Val);
-Boolean Func_2(Str_30 Str_1_Par_Ref, Str_30 Str_2_Par_Ref);
-Boolean Func_3(Enumeration Enum_Par_Val);
-
#endif