diff options
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | nbench0.c | 1 | ||||
-rw-r--r-- | nbench0.h | 7 | ||||
-rw-r--r-- | sysspec.c | 254 | ||||
-rw-r--r-- | sysspec.h | 81 |
5 files changed, 2 insertions, 348 deletions
@@ -54,11 +54,8 @@ neural.o: neural.c linear.o: linear.c $(GCC) $(GCCFLAGS) -c linear.c -sysspec.o: sysspec.h sysspec.c nmglobal.h Makefile - $(GCC) $(GCCFLAGS) -c sysspec.c - -nbench: emfloat.o randnum.o nbench0.o numsort.o sysspec.o hardware.o stringsort.o bitfield.o fpemulation.o fourier.o assignment.o idea.o huffman.o neural.o linear.o - $(GCC) emfloat.o randnum.o nbench0.o numsort.o sysspec.o hardware.o stringsort.o bitfield.o fpemulation.o fourier.o assignment.o idea.o huffman.o neural.o linear.o -o nbench -lm +nbench: emfloat.o randnum.o nbench0.o numsort.o hardware.o stringsort.o bitfield.o fpemulation.o fourier.o assignment.o idea.o huffman.o neural.o linear.o + $(GCC) emfloat.o randnum.o nbench0.o numsort.o hardware.o stringsort.o bitfield.o fpemulation.o fourier.o assignment.o idea.o huffman.o neural.o linear.o -o nbench -lm clean: - /bin/rm -f *.o nbench sysinfo.c sysinfoc.c @@ -85,7 +85,6 @@ lx_intindex=(double)1.0; lx_fpindex=(double)1.0; intindex=(double)1.0; fpindex=(double)1.0; -mem_array_ents=0; /* Nothing in mem array */ /* ** We presume all tests will be run unless told @@ -216,13 +216,6 @@ int write_to_file; /* Write output to file */ int global_align; /* Memory alignment */ /* -** Following global is the memory array. This is used to store -** original and aligned (modified) memory addresses. -*/ -unsigned long mem_array[2][MEM_ARRAY_SIZE]; -int mem_array_ents; /* # of active entries */ - -/* ** Following are global structures, one built for ** each of the tests. */ diff --git a/sysspec.c b/sysspec.c deleted file mode 100644 index 9449ad5..0000000 --- a/sysspec.c +++ /dev/null @@ -1,254 +0,0 @@ - -/* -** sysspec.c -** System-specific routines. -** -** BYTEmark (tm) -** BYTE's Native Mode Benchmarks -** Rick Grehan, BYTE Magazine -** -** Creation: -** Revision: 3/95;10/95 -** -** 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-SPECIFIC ROUTINES ** -************************************ -** -** These are the routines that provide functions that are -** system-specific. If the benchmarks are to be ported -** to new hardware/new O.S., this is the first place to -** start. -*/ -#include "sysspec.h" - -/*********************************** -** MEMORY ARRAY HANDLING ROUTINES ** -***********************************/ -/**************************** -** InitMemArray -** Initialize the memory array. This simply amounts to -** setting mem_array_ents to zero, indicating that there -** isn't anything in the memory array. -*/ -void InitMemArray(void) -{ -mem_array_ents=0; -return; -} - -/*************************** -** AddMemArray -** Add a pair of items to the memory array. -** true_addr is the true address (mem_array[0][n]) -** adj_addr is the adjusted address (mem_array[0][n]) -** Returns 0 if ok -** -1 if not enough room -*/ -int AddMemArray(ulong true_addr, - ulong adj_addr) -{ -if(mem_array_ents>=MEM_ARRAY_SIZE) - return(-1); - -mem_array[0][mem_array_ents]=true_addr; -mem_array[1][mem_array_ents]=adj_addr; -mem_array_ents++; -return(0); -} - -/************************* -** RemoveMemArray -** Given an adjusted address value (mem_array[1][n]), locate -** the entry and remove it from the mem_array. -** Also returns the associated true address. -** Returns 0 if ok -** -1 if not found. -*/ -int RemoveMemArray(ulong adj_addr,ulong *true_addr) -{ -int i,j; - -/* Locate the item in the array. */ -for(i=0;i<mem_array_ents;i++) - if(mem_array[1][i]==adj_addr) - { /* Found it..bubble stuff down */ - *true_addr=mem_array[0][i]; - j=i; - while(j+1<mem_array_ents) - { mem_array[0][j]=mem_array[0][j+1]; - mem_array[1][j]=mem_array[1][j+1]; - j++; - } - mem_array_ents--; - return(0); /* Return if found */ - } - -/* If we made it here...something's wrong...show error */ -return(-1); -} - -/********************************** -** FILE HANDLING ROUTINES ** -**********************************/ - -/**************************** -** CreateFile -** This routine accepts a filename for an argument and -** creates that file in the current directory (unless the -** name contains a path that overrides the current directory). -** Note that the routine does not OPEN the file. -** If the file exists, it is truncated to length 0. -*/ -void CreateFile(char *filename, - int *errorcode) -{ -FILE *fhandle; /* File handle used internally */ - -fhandle=fopen(filename,"w"); - -if(fhandle==NULL) - *errorcode=ERROR_FILECREATE; -else - *errorcode=0; - -/* -** Since all we're doing here is creating the file, -** go ahead and close it. -*/ -fclose(fhandle); -} - -/**************************** -** bmOpenFile -** Opens the file given by fname, returning its handle. -** If an error occurs, returns its code in errorcode. -** The file is opened in read-write exclusive mode. -*/ -FILE *bmOpenFile(char *fname, /* File name */ - int *errorcode) /* Error code returned */ -{ - -FILE *fhandle; /* Returned file handle */ - -fhandle=fopen(fname,"w+"); - -if(fhandle==NULL) - *errorcode=ERROR_FILEOPEN; -else - *errorcode=0; - -return(fhandle); -} - - -/**************************** -** CloseFile -** Closes the file identified by fhandle. -** A more inocuous routine there never was. -*/ -void CloseFile(FILE *fhandle, /* File handle */ - int *errorcode) /* Returned error code */ -{ -fclose(fhandle); -*errorcode=0; -return; -} - -/**************************** -** readfile -** Read bytes from an opened file. This routine -** is a combination seek-and-read. -** Note that this routine expects the offset to be from -** the beginning of the file. -*/ -void readfile(FILE *fhandle, /* File handle */ - unsigned long offset, /* Offset into file */ - unsigned long nbytes, /* # of bytes to read */ - void *buffer, /* Buffer to read into */ - int *errorcode) /* Returned error code */ -{ - -long newoffset; /* New offset by fseek */ -size_t nelems; /* Expected return code from read */ -size_t readcode; /* Actual return code from read */ - -/* -** Presume success. -*/ -*errorcode=0; - -/* -** Seek to the proper offset. -*/ -newoffset=fseek(fhandle,(long)offset,SEEK_SET); -if(newoffset==-1L) -{ *errorcode=ERROR_FILESEEK; - return; -} - -/* -** Do the read. -*/ -nelems=(size_t)(nbytes & 0xFFFF); -readcode=fread(buffer,(size_t)1,nelems,fhandle); -if(readcode!=nelems) - *errorcode=ERROR_FILEREAD; - -} - -/**************************** -** writefile -** writes bytes to an opened file. This routine is -** a combination seek-and-write. -** Note that this routine expects the offset to be from -** the beinning of the file. -*/ -void writefile(FILE *fhandle, /* File handle */ - unsigned long offset, /* Offset into file */ - unsigned long nbytes, /* # of bytes to read */ - void *buffer, /* Buffer to read into */ - int *errorcode) /* Returned error code */ -{ - -long newoffset; /* New offset by lseek */ -size_t nelems; /* Expected return code from write */ -size_t writecode; /* Actual return code from write */ - -/* -** Presume success. -*/ -*errorcode=0; - -/* -** Seek to the proper offset. -*/ -newoffset=fseek(fhandle,(long)offset,SEEK_SET); -if(newoffset==-1L) -{ *errorcode=ERROR_FILESEEK; - return; -} - -/* -** Do the write. -*/ -nelems=(size_t)(nbytes & 0xFFFF); -writecode=fwrite(buffer,(size_t)1,nelems,fhandle); -if(writecode==nelems) - *errorcode=ERROR_FILEWRITE; - -} diff --git a/sysspec.h b/sysspec.h deleted file mode 100644 index 89aa3ad..0000000 --- a/sysspec.h +++ /dev/null @@ -1,81 +0,0 @@ -/* -** sysspec.h -** Header file for sysspec.c -** BYTEmark (tm) -** BYTE's Native Mode Benchmarks -** Rick Grehan, BYTE Magazine -** -** Creation: -** Revision: 3/95 -** -** 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. -*/ - -/* -** Standard includes -*/ -#include <stdlib.h> -#include <stdio.h> -#include <time.h> -#include <string.h> - -#include "nmglobal.h" - -#if !defined(MAC) && !defined(OSX) -#include <malloc.h> -#endif - - -/* -** System-specific includes -*/ - -/************** -** EXTERNALS ** -**************/ -extern unsigned long mem_array[2][MEM_ARRAY_SIZE]; -extern int mem_array_ents; -extern int global_align; - -/**************************** -** FUNCTION PROTOTYPES ** -****************************/ - -void InitMemArray(void); - -int AddMemArray(unsigned long true_addr, unsigned long adj_addr); - -int RemoveMemArray(unsigned long adj_addr,unsigned long *true_addr); - -void CreateFile(char *filename, - int *errorcode); - -FILE *bmOpenFile(char *fname, - int *errorcode); - -void CloseFile(FILE *fhandle, - int *errorcode); - -void readfile(FILE *fhandle, - unsigned long offset, - unsigned long nbytes, - void *buffer, - int *errorcode); - -void writefile(FILE *fhandle, - unsigned long offset, - unsigned long nbytes, - void *buffer, - int *errorcode); |