diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2018-05-17 03:49:14 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2018-05-17 03:49:14 +0000 |
commit | 6cfb2c211b2f70f58191a7cf65904a40653e8c3a (patch) | |
tree | e695789c0e65be3e64e3d3284689ec2175ddfe95 /generator/pgmramp.c | |
parent | 2586375176ead0dc29e5e9e151b3dae01afca8f4 (diff) | |
download | netpbm-mirror-6cfb2c211b2f70f58191a7cf65904a40653e8c3a.tar.gz netpbm-mirror-6cfb2c211b2f70f58191a7cf65904a40653e8c3a.tar.xz netpbm-mirror-6cfb2c211b2f70f58191a7cf65904a40653e8c3a.zip |
Fix bug in previous commit
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@3255 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'generator/pgmramp.c')
-rw-r--r-- | generator/pgmramp.c | 21 |
1 files changed, 16 insertions, 5 deletions
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; |