Rev 379 | Rev 489 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 379 | Rev 473 | ||
---|---|---|---|
Line 1114... | Line 1114... | ||
1114 | // https://misc.daniel-marschall.de/projects/filter_factory/function_c2m.html |
1114 | // https://misc.daniel-marschall.de/projects/filter_factory/function_c2m.html |
1115 | int32_t eax, ebx; |
1115 | int32_t eax, ebx; |
1116 | ebx = y < 0 ? -y : y; |
1116 | ebx = y < 0 ? -y : y; |
1117 | eax = x < 0 ? -x : x; |
1117 | eax = x < 0 ? -x : x; |
1118 | if (eax == ebx) { |
1118 | if (eax == ebx) { |
1119 | eax = 27146; // 27146/65536 == sqrt(1)-1 |
1119 | eax = 27146; // 27146/65536 == sqrt(2)-1 |
1120 | } |
1120 | } |
1121 | else { |
1121 | else { |
1122 | if (eax > ebx) { |
1122 | if (eax > ebx) { |
1123 | int tmp = eax; |
1123 | int tmp = eax; |
1124 | eax = ebx; |
1124 | eax = ebx; |
Line 1251... | Line 1251... | ||
1251 | const int xmin = 0, ymin = 0; |
1251 | const int xmin = 0, ymin = 0; |
1252 | 1252 | ||
1253 | eax = (var['X'] - xmin) >> 1; |
1253 | eax = (var['X'] - xmin) >> 1; |
1254 | ebx = (var['Y'] - ymin) >> 1; |
1254 | ebx = (var['Y'] - ymin) >> 1; |
1255 | if (eax == ebx) { |
1255 | if (eax == ebx) { |
1256 | eax = 27146; // 27146/65536 == sqrt(1)-1 |
1256 | eax = 27146; // 27146/65536 == sqrt(2)-1 |
1257 | } |
1257 | } |
1258 | else { |
1258 | else { |
1259 | if (eax > ebx) { |
1259 | if (eax > ebx) { |
1260 | int tmp = eax; |
1260 | int tmp = eax; |
1261 | eax = ebx; |
1261 | eax = ebx; |
Line 1304... | Line 1304... | ||
1304 | ebx = ((ymin - var['Y']) >> 1) + var['y']; |
1304 | ebx = ((ymin - var['Y']) >> 1) + var['y']; |
1305 | eax = eax < 0 ? -eax : eax; |
1305 | eax = eax < 0 ? -eax : eax; |
1306 | ebx = ebx < 0 ? -ebx : ebx; |
1306 | ebx = ebx < 0 ? -ebx : ebx; |
1307 | 1307 | ||
1308 | if (eax == ebx) { |
1308 | if (eax == ebx) { |
1309 | eax = 27146; // 27146/65536 == sqrt(1)-1 |
1309 | eax = 27146; // 27146/65536 == sqrt(2)-1 |
1310 | } |
1310 | } |
1311 | else { |
1311 | else { |
1312 | if (eax > ebx) { |
1312 | if (eax > ebx) { |
1313 | int tmp = eax; |
1313 | int tmp = eax; |
1314 | eax = ebx; |
1314 | eax = ebx; |