From 34b8ee4cca2b3f9fcf3fdad5f0ea1df9d3670b7f Mon Sep 17 00:00:00 2001 From: rlar Date: Fri, 24 Jun 2011 13:17:23 +0000 Subject: [PATCH] tiny rewrite, swallow type conversion warnings --- ChangeLog | 6 ++++- src/ciderlib/oned/oneprint.c | 38 ++++++++++++++--------------- src/ciderlib/twod/twoprint.c | 46 ++++++++++++++++++------------------ src/frontend/com_sysinfo.c | 33 ++++++++++++-------------- 4 files changed, 62 insertions(+), 61 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5f74f3152..9ea4a6dcd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2011-06-24 Robert Larice + * src/frontend/com_sysinfo.c : + tiny rewrite, swallow type conversion warnings + 2011-06-23 Robert Larice * src/xspice/mif/mifgetvalue.c : tiny rewrite, round to nearest integer and reset errno for strtol() @@ -8,7 +12,7 @@ /xspice/icm/analog/file_source/ifspec.ifs: code model with input from file added (T. Sailer) example/xspice/fstest.sp, sine.m: test of 'filesource' - * inpcom.c: bug no. 3317928, patched by Robert + * inpcom.c: bug no. 3317928, patched by Robert 2011-06-23 Robert Larice * src/frontend/options.c , diff --git a/src/ciderlib/oned/oneprint.c b/src/ciderlib/oned/oneprint.c index 7b08c7680..ad0eabd81 100644 --- a/src/ciderlib/oned/oneprint.c +++ b/src/ciderlib/oned/oneprint.c @@ -328,8 +328,8 @@ ONEmemStats(FILE *file, ONEdevice *pDevice) { static const char memFormat[] = "%-20s%10d%10d\n"; /* static const char sumFormat[] = "%20s %-10d\n";*/ - unsigned int size; - unsigned int memory; + int size; + size_t memory; ONEmaterial *pMaterial; ONEcontact *pContact; int numContactNodes; @@ -341,64 +341,64 @@ ONEmemStats(FILE *file, ONEdevice *pDevice) fprintf(file, "----------------------------------------\n"); size = 1; - memory = size * sizeof(ONEdevice); + memory = (size_t) size * sizeof(ONEdevice); fprintf(file, memFormat, "Device", size, memory); size = pDevice->numNodes - 1; - memory = size * sizeof(ONEelem); + memory = (size_t) size * sizeof(ONEelem); fprintf(file, memFormat, "Elements", size, memory); size = pDevice->numNodes; - memory = size * sizeof(ONEnode); + memory = (size_t) size * sizeof(ONEnode); fprintf(file, memFormat, "Nodes", size, memory); size = pDevice->numNodes - 1; - memory = size * sizeof(ONEedge); + memory = (size_t) size * sizeof(ONEedge); fprintf(file, memFormat, "Edges", size, memory); size = pDevice->numNodes; - memory = size * sizeof(ONEelem *); + memory = (size_t) size * sizeof(ONEelem *); size = 0; for (pMaterial = pDevice->pMaterials; pMaterial; pMaterial = pMaterial->next) size++; - memory += size * sizeof(ONEmaterial); + memory += (size_t) size * sizeof(ONEmaterial); size = numContactNodes = 0; for (pContact = pDevice->pFirstContact; pContact; pContact = pContact->next) { numContactNodes += pContact->numNodes; size++; } - memory += size * sizeof(ONEcontact); + memory += (size_t) size * sizeof(ONEcontact); size = numContactNodes; - memory += size * sizeof(ONEnode *); + memory += (size_t) size * sizeof(ONEnode *); size = 0; fprintf(file, "%-20s%10s%10d\n", "Misc Mesh", "n/a", memory); size = pDevice->numOrigEquil; - memory = size * sizeof(struct MatrixElement); + memory = (size_t) size * sizeof(struct MatrixElement); fprintf(file, memFormat, "Equil Orig NZ", size, memory); size = pDevice->numFillEquil; - memory = size * sizeof(struct MatrixElement); + memory = (size_t) size * sizeof(struct MatrixElement); fprintf(file, memFormat, "Equil Fill NZ", size, memory); size = pDevice->numOrigEquil + pDevice->numFillEquil; - memory = size * sizeof(struct MatrixElement); + memory = (size_t) size * sizeof(struct MatrixElement); fprintf(file, memFormat, "Equil Tot NZ", size, memory); size = pDevice->dimEquil; - memory = size * 4 * sizeof(double); + memory = (size_t) size * 4 * sizeof(double); fprintf(file, memFormat, "Equil Vectors", size, memory); size = pDevice->numOrigBias; - memory = size * sizeof(struct MatrixElement); + memory = (size_t) size * sizeof(struct MatrixElement); fprintf(file, memFormat, "Bias Orig NZ", size, memory); size = pDevice->numFillBias; - memory = size * sizeof(struct MatrixElement); + memory = (size_t) size * sizeof(struct MatrixElement); fprintf(file, memFormat, "Bias Fill NZ", size, memory); size = pDevice->numOrigBias + pDevice->numFillBias; - memory = size * sizeof(struct MatrixElement); + memory = (size_t) size * sizeof(struct MatrixElement); fprintf(file, memFormat, "Bias Tot NZ", size, memory); size = pDevice->dimBias; - memory = size * 5 * sizeof(double); + memory = (size_t) size * 5 * sizeof(double); fprintf(file, memFormat, "Bias Vectors", size, memory); size = (pDevice->numNodes - 1) * ONEnumEdgeStates + pDevice->numNodes * ONEnumNodeStates; - memory = size * sizeof(double); + memory = (size_t) size * sizeof(double); fprintf(file, memFormat, "State Vector", size, memory); } diff --git a/src/ciderlib/twod/twoprint.c b/src/ciderlib/twod/twoprint.c index a61fdcac2..4d1dc4952 100644 --- a/src/ciderlib/twod/twoprint.c +++ b/src/ciderlib/twod/twoprint.c @@ -346,8 +346,8 @@ TWOmemStats(FILE *file, TWOdevice *pDevice) { static const char memFormat[] = "%-20s%10d%10d\n"; /* static const char sumFormat[] = "%20s %-10d\n"; */ - unsigned int size; - unsigned int memory; + int size; + size_t memory; TWOmaterial *pMaterial; TWOcontact *pContact; TWOchannel *pChannel; @@ -359,73 +359,73 @@ TWOmemStats(FILE *file, TWOdevice *pDevice) fprintf(file, "----------------------------------------\n"); size = 1; - memory = size * sizeof(TWOdevice); + memory = (size_t) size * sizeof(TWOdevice); fprintf( file, memFormat, "Device", size, memory ); size = pDevice->numElems; - memory = size * sizeof(TWOelem); + memory = (size_t) size * sizeof(TWOelem); fprintf( file, memFormat, "Elements", size, memory ); size = pDevice->numNodes; - memory = size * sizeof(TWOnode); + memory = (size_t) size * sizeof(TWOnode); fprintf( file, memFormat, "Nodes", size, memory ); size = pDevice->numEdges; - memory = size * sizeof(TWOedge); + memory = (size_t) size * sizeof(TWOedge); fprintf( file, memFormat, "Edges", size, memory ); size = pDevice->numXNodes; - memory = size * sizeof(TWOelem **); + memory = (size_t) size * sizeof(TWOelem **); size = (pDevice->numXNodes-1) * pDevice->numYNodes; - memory += size * sizeof(TWOelem *); + memory += (size_t) size * sizeof(TWOelem *); size = pDevice->numElems + 1; - memory += size * sizeof(TWOelem *); + memory += (size_t) size * sizeof(TWOelem *); size = pDevice->numXNodes + pDevice->numYNodes; - memory += size * sizeof(double); + memory += (size_t) size * sizeof(double); size = 0; for (pMaterial = pDevice->pMaterials; pMaterial; pMaterial = pMaterial->next) size++; - memory += size * sizeof(TWOmaterial); + memory += (size_t) size * sizeof(TWOmaterial); size = numContactNodes = 0; for (pContact = pDevice->pFirstContact; pContact; pContact = pContact->next) { numContactNodes += pContact->numNodes; size++; } - memory += size * sizeof(TWOcontact); + memory += (size_t) size * sizeof(TWOcontact); size = numContactNodes; - memory += size * sizeof(TWOnode *); + memory += (size_t) size * sizeof(TWOnode *); size = 0; for (pChannel = pDevice->pChannel; pChannel; pChannel = pChannel->next) size++; - memory += size * sizeof(TWOchannel); + memory += (size_t) size * sizeof(TWOchannel); fprintf(file, "%-20s%10s%10d\n", "Misc Mesh", "n/a", memory); size = pDevice->numOrigEquil; - memory = size * sizeof(struct MatrixElement); + memory = (size_t) size * sizeof(struct MatrixElement); fprintf( file, memFormat, "Equil Orig NZ", size, memory ); size = pDevice->numFillEquil; - memory = size * sizeof(struct MatrixElement); + memory = (size_t) size * sizeof(struct MatrixElement); fprintf( file, memFormat, "Equil Fill NZ", size, memory ); size = pDevice->numOrigEquil + pDevice->numFillEquil; - memory = size * sizeof(struct MatrixElement); + memory = (size_t) size * sizeof(struct MatrixElement); fprintf( file, memFormat, "Equil Tot NZ", size, memory ); size = pDevice->dimEquil; - memory = size * 4 * sizeof(double); + memory = (size_t) size * 4 * sizeof(double); fprintf( file, memFormat, "Equil Vectors", size, memory ); size = pDevice->numOrigBias; - memory = size * sizeof(struct MatrixElement); + memory = (size_t) size * sizeof(struct MatrixElement); fprintf( file, memFormat, "Bias Orig NZ", size, memory ); size = pDevice->numFillBias; - memory = size * sizeof(struct MatrixElement); + memory = (size_t) size * sizeof(struct MatrixElement); fprintf( file, memFormat, "Bias Fill NZ", size, memory ); size = pDevice->numOrigBias + pDevice->numFillBias; - memory = size * sizeof(struct MatrixElement); + memory = (size_t) size * sizeof(struct MatrixElement); fprintf( file, memFormat, "Bias Tot NZ", size, memory ); size = pDevice->dimBias; - memory = size * 5 * sizeof(double); + memory = (size_t) size * 5 * sizeof(double); fprintf( file, memFormat, "Bias Vectors", size, memory ); size = pDevice->numEdges * TWOnumEdgeStates + pDevice->numNodes * TWOnumNodeStates; - memory = size * sizeof(double); + memory = (size_t) size * sizeof(double); fprintf( file, memFormat, "State Vector", size, memory ); } diff --git a/src/frontend/com_sysinfo.c b/src/frontend/com_sysinfo.c index 6a7fde4c0..313792469 100644 --- a/src/frontend/com_sysinfo.c +++ b/src/frontend/com_sysinfo.c @@ -67,13 +67,13 @@ static size_t get_sysmem(struct sys_memory *memall); /* Print to stream the given memory size in a human friendly format */ static void -fprintmem(FILE* stream, unsigned long long memory) { - if (memory > 1048576) - fprintf(stream, "%8.6f MB", memory/1048576.); - else if (memory > 1024) - fprintf(stream, "%5.3f kB", memory/1024.); +fprintmem(FILE* stream, long long memory) { + if (memory > (1<<20)) + fprintf(stream, "%8.6f MB", (double)memory / (1<<20)); + else if (memory > (1<<10)) + fprintf(stream, "%5.3f kB", (double)memory / (1<<10)); else - fprintf(stream, "%lu bytes", (unsigned long)memory); + fprintf(stream, "%u bytes", (unsigned)memory); } @@ -176,16 +176,13 @@ static size_t get_sysmem(struct sys_memory *memall) { /* Return length of first line in a string */ -static tInt getLineLength(const char *str) { - tInt length = strlen(str); - char c = str[0]; - tInt index = 0; - - while((c != '\n') && (index < length)) { - index++; - c = str[index]; - } - return index; +static size_t getLineLength(const char *str) { + const char *p = str; + + while(*p && (*p != '\n')) + p++; + + return (size_t) (p - str); } /* Checks if number 'match' is found in a vector 'set' of size 'size' @@ -258,7 +255,7 @@ TesError tesCreateSystemInfo(TesSystemInfo *info) { const char *modelPtr = strchr(modelStr, ':'); if(modelPtr != NULL) { /*length of string from ':' till end of line */ - tInt numToEOL = getLineLength(modelPtr); + size_t numToEOL = getLineLength(modelPtr); if(numToEOL > 2) { /* skip ": "*/ numToEOL-=2; @@ -289,7 +286,7 @@ TesError tesCreateSystemInfo(TesSystemInfo *info) { if (isblank(*strPtr)) numProcs++; } info->numLogicalProcessors = numProcs; - physIDs = (tInt*) malloc(numProcs * sizeof(tInt)); + physIDs = (tInt*) malloc((size_t)numProcs * sizeof(tInt)); /* get number of physical CPUs */ numProcs = 0;