1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
/*
** nmglobal.h
** Global definitions for native mode benchmarks.
**
** BYTEmark (tm)
** BYTE's Native Mode Benchmarks
** Rick Grehan, BYTE Magazine
**
** Creation:
** Revision: 3/95;10/95
** 10/95 - Added memory array & alignment -- RG
**
** DISCLAIMER
** The source, executable, and documentation files that comprise
** the BYTEmark benchmarks are made available on an "as is" basis.
** This means that we at BYTE Magazine have made every reasonable
** effort to verify that the there are no errors in the source and
** executable code. We cannot, however, guarantee that the programs
** are error-free. Consequently, McGraw-HIll and BYTE Magazine make
** no claims in regard to the fitness of the source code, executable
** code, and documentation of the BYTEmark.
** Furthermore, BYTE Magazine, McGraw-Hill, and all employees
** of McGraw-Hill cannot be held responsible for any damages resulting
** from the use of this code or the results obtained from using
** this code.
*/
/*
** SYSTEM DEFINES
*/
#include <stdint.h>
#define TRUE 1
#define FALSE 0
#define MINIMUM_TICKS 60
#define MINIMUM_SECONDS 5 /* Minimum number of seconds to run each test */
typedef struct {
double results; /* # of sort iterations per sec */
} SortStruct;
typedef struct {
double results; /* # of bitfield ops per sec */
} BitOpStruct;
/*
** TYPEDEFS
*/
typedef struct {
double results; /* Results */
} EmFloatStruct;
typedef struct {
double results; /* Results */
} FourierStruct;
typedef struct {
double results; /* Results */
} AssignStruct;
typedef struct {
double results; /* Results */
} IDEAStruct;
typedef struct {
double results; /* Results */
} HuffStruct;
/********************************
** BACK PROPAGATION NEURAL NET **
********************************/
/*
** MAXNNETLOOPS
**
** This constant sets the max number of loops through the neural
** net that the system will attempt before giving up. This
** is not a critical constant. You can alter it if your system
** has sufficient horsepower.
*/
/*#define MAXNNETLOOPS 50000L*/
#define MAXNNETLOOPS 500000L
/*
** TYPEDEFS
*/
typedef struct {
double results; /* Results */
unsigned long loops; /* # of times to learn */
} NNetStruct;
/***********************
** LU DECOMPOSITION **
** (Linear Equations) **
***********************/
/*
** MAXLUARRAYS
**
** This sets the upper limit on the number of arrays
** that the benchmark will attempt to build before
** flagging an error. It is not a critical constant, and
** may be increased if your system has the horsepower.
*/
/*#define MAXLUARRAYS 1000*/
#define MAXLUARRAYS 10000
/*
** TYPEDEFS
*/
typedef struct {
double results; /* Results */
} LUStruct;
extern SortStruct global_numsortstruct;
extern SortStruct global_strsortstruct;
extern BitOpStruct global_bitopstruct;
extern EmFloatStruct global_emfloatstruct;
extern FourierStruct global_fourierstruct;
extern AssignStruct global_assignstruct;
extern IDEAStruct global_ideastruct;
extern HuffStruct global_huffstruct;
extern NNetStruct global_nnetstruct;
extern LUStruct global_lustruct;
|