deepstone
diff src/scantmpl.h @ 40:1fa939507d8b
fast floating point->int conversion
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Fri, 15 Sep 2017 05:00:37 +0300 |
parents | 17a5107b6fa4 |
children |
line diff
1.1 --- a/src/scantmpl.h Mon Mar 10 17:28:28 2014 +0200 1.2 +++ b/src/scantmpl.h Fri Sep 15 05:00:37 2017 +0300 1.3 @@ -251,7 +251,9 @@ 1.4 #ifdef INTERP_DEPTH 1.5 long pix = (sline + x0 + i) - fb->pixels; 1.6 #ifdef RAST_FLOAT 1.7 - unsigned short zval = (unsigned short)(z * USHRT_MAX); 1.8 + /*unsigned short zval = (unsigned short)(z * USHRT_MAX);*/ 1.9 + float zn = z + 1.0; 1.10 + unsigned short zval = ((*(long*)&zn) & 0x7fffff) >> 7; 1.11 #else 1.12 unsigned short zval = (unsigned short)((z >> 1) & 0xffff); 1.13 #endif