diff --git a/main.c b/main.c index c21935c..e42aafa 100644 --- a/main.c +++ b/main.c @@ -10,7 +10,6 @@ SAMPLE OUTPUT Name: Intel Core i7-4790K -Arch: 64 Bits Frequency: 4.0 GHz NÂșCores: 4 cores(8 threads) AXV: AVX,AVX2 @@ -69,7 +68,6 @@ int main(int argc, char* argv[]) { char* pp = getPeakPerformance(cpu,getFrequency(freq)); setAttribute(art,ATTRIBUTE_NAME,cpuName); - setAttribute(art,ATTRIBUTE_ARCH,"x86_64"); setAttribute(art,ATTRIBUTE_FREQUENCY,maxFrequency); setAttribute(art,ATTRIBUTE_NCORES,nCores); setAttribute(art,ATTRIBUTE_AVX,avx); diff --git a/printer.c b/printer.c index 4407bb2..2d7e87b 100644 --- a/printer.c +++ b/printer.c @@ -16,7 +16,6 @@ #define RESET "\x1b[0m" #define TITLE_NAME "Name: " -#define TITLE_ARCH "Arch: " #define TITLE_FREQUENCY "Frequency: " #define TITLE_NCORES "N.Cores: " #define TITLE_AVX "AVX: " @@ -29,13 +28,17 @@ #define TITLE_L3 "L3 Size: " #define TITLE_PEAK "Peak FLOPS: " -static const char* ATTRIBUTE_FIELDS [ATTRIBUTE_COUNT] = { TITLE_NAME, TITLE_ARCH, TITLE_FREQUENCY, +/*** CENTER TEXT ***/ +#define LINES_SPACE_UP 4 +#define LINES_SPACE_DOWN 4 + +static const char* ATTRIBUTE_FIELDS [ATTRIBUTE_COUNT] = { TITLE_NAME, TITLE_FREQUENCY, TITLE_NCORES, TITLE_AVX, TITLE_SSE, TITLE_FMA, TITLE_AES, TITLE_SHA, TITLE_L1, TITLE_L2, TITLE_L3, TITLE_PEAK }; -static const int ATTRIBUTE_LIST[ATTRIBUTE_COUNT] = { ATTRIBUTE_NAME, ATTRIBUTE_ARCH, ATTRIBUTE_FREQUENCY, +static const int ATTRIBUTE_LIST[ATTRIBUTE_COUNT] = { ATTRIBUTE_NAME, ATTRIBUTE_FREQUENCY, ATTRIBUTE_NCORES, ATTRIBUTE_AVX, ATTRIBUTE_SSE, ATTRIBUTE_FMA, ATTRIBUTE_AES, ATTRIBUTE_SHA, ATTRIBUTE_L1, ATTRIBUTE_L2, ATTRIBUTE_L3, @@ -60,6 +63,13 @@ int setAttribute(struct ascii* art, int type, char* value) { } struct ascii* set_ascii(VENDOR cpuVendor, STYLE style) { + /*** Check that number of lines of ascii art matches the number + of spaces plus the number of lines filled with text ***/ + if(LINES_SPACE_UP+LINES_SPACE_DOWN+ATTRIBUTE_COUNT != NUMBER_OF_LINES) { + printf("Bug at line number %d in file %s\n", __LINE__, __FILE__); + return NULL; + } + struct ascii* art = malloc(sizeof(struct ascii)); art->vendor = cpuVendor; if(cpuVendor == VENDOR_INTEL) { @@ -170,7 +180,7 @@ void print_ascii_intel(struct ascii* art) { } /*** PRINT ATTRIBUTE ***/ - if(n>2 && ncolor1,ATTRIBUTE_FIELDS[n-3],art->color2,art->atributes[n-3]); + if(n>LINES_SPACE_UP-1 && ncolor1,ATTRIBUTE_FIELDS[n-LINES_SPACE_UP],art->color2,art->atributes[n-LINES_SPACE_UP]); else printf("\n"); } } diff --git a/printer.h b/printer.h index 6594057..8667f68 100644 --- a/printer.h +++ b/printer.h @@ -7,20 +7,19 @@ #define BOOLEAN_TRUE 1 #define BOOLEAN_FALSE 0 -#define ATTRIBUTE_COUNT 13 +#define ATTRIBUTE_COUNT 12 #define ATTRIBUTE_NAME 0 -#define ATTRIBUTE_ARCH 1 -#define ATTRIBUTE_FREQUENCY 2 -#define ATTRIBUTE_NCORES 3 -#define ATTRIBUTE_AVX 4 -#define ATTRIBUTE_SSE 5 -#define ATTRIBUTE_FMA 6 -#define ATTRIBUTE_AES 7 -#define ATTRIBUTE_SHA 8 -#define ATTRIBUTE_L1 9 -#define ATTRIBUTE_L2 10 -#define ATTRIBUTE_L3 11 -#define ATTRIBUTE_PEAK 12 +#define ATTRIBUTE_FREQUENCY 1 +#define ATTRIBUTE_NCORES 2 +#define ATTRIBUTE_AVX 3 +#define ATTRIBUTE_SSE 4 +#define ATTRIBUTE_FMA 5 +#define ATTRIBUTE_AES 6 +#define ATTRIBUTE_SHA 7 +#define ATTRIBUTE_L1 8 +#define ATTRIBUTE_L2 9 +#define ATTRIBUTE_L3 10 +#define ATTRIBUTE_PEAK 11 typedef int STYLE; #define STYLES_COUNT 2