From 6cfb2c211b2f70f58191a7cf65904a40653e8c3a Mon Sep 17 00:00:00 2001 From: giraffedata Date: Thu, 17 May 2018 03:49:14 +0000 Subject: Fix bug in previous commit git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@3255 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- generator/pgmramp.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'generator') diff --git a/generator/pgmramp.c b/generator/pgmramp.c index 92bba142..db32b9f0 100644 --- a/generator/pgmramp.c +++ b/generator/pgmramp.c @@ -111,12 +111,23 @@ parseCommandLine(int argc, char ** argv, +static int +diffu(unsigned int const subtrahend, + unsigned int const subtractor) { + + return (int)subtrahend - (int)subtractor; + + /* (Not the conventional terminology, but better) */ +} + + + int main(int argc, char *argv[]) { struct cmdlineInfo cmdline; gray *grayrow; - int rowso2, colso2; + unsigned int rowso2, colso2; unsigned int row; pgm_init( &argc, argv ); @@ -149,15 +160,15 @@ main(int argc, char *argv[]) { MAX((float) cmdline.cols + cmdline.rows-2, 1); break; case RT_RECT: { - float const r = fabs((float)(rowso2 - row)) / rowso2; - float const c = fabs((float)(colso2 - col)) / colso2; + float const r = fabs((float)diffu(rowso2, row)) / rowso2; + float const c = fabs((float)diffu(colso2, col)) / colso2; grayrow[col] = cmdline.maxval - (r + c) / 2.0 * cmdline.maxval; } break; case RT_ELLIP: { - float const r = fabs((float)(rowso2 - row)) / rowso2; - float const c = fabs((float)(colso2 - col)) / colso2; + float const r = fabs((float)diffu(rowso2, row)) / rowso2; + float const c = fabs((float)diffu(colso2, col)) / colso2; float const v = MAX(0.0f, MIN(1.0f, SQR(r) + SQR(c))); grayrow[col] = cmdline.maxval - v * cmdline.maxval; -- cgit 1.4.1