ref: c653b8d2f14a4bf4ca967b976c64aa0fb2bdfd0f
parent: 8f43d324d12431d297ca2f8136b221a58ff52269
author: Alexei Podtelezhnikov <apodtele@gmail.com>
date: Wed May 12 12:17:21 EDT 2021
* src/smooth/ftgrays.c (FT_GRAY_SET): Adjust for better code.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,8 @@
-2021-05-07 Alexei Podtelezhnikov <apodtele@gmail.com>
+2021-05-11 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/smooth/ftgrays.c (FT_GRAY_SET): Adjust for better code.
+
+2021-05-11 Alexei Podtelezhnikov <apodtele@gmail.com>
[smooth] Faster bitmap sweeping.
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -409,22 +409,21 @@
/* It is faster to write small spans byte-by-byte than calling */
/* `memset'. This is mainly due to the cost of the function call. */
-#define FT_GRAY_SET( d, s, count ) \
- FT_BEGIN_STMNT \
- unsigned char* q = d; \
- unsigned char c = (unsigned char)s; \
- switch ( count ) \
- { \
- case 7: *q++ = c; /* fall through */ \
- case 6: *q++ = c; /* fall through */ \
- case 5: *q++ = c; /* fall through */ \
- case 4: *q++ = c; /* fall through */ \
- case 3: *q++ = c; /* fall through */ \
- case 2: *q++ = c; /* fall through */ \
- case 1: *q = c; /* fall through */ \
- case 0: break; \
- default: FT_MEM_SET( d, s, count ); \
- } \
+#define FT_GRAY_SET( d, s, count ) \
+ FT_BEGIN_STMNT \
+ unsigned char* q = d; \
+ switch ( count ) \
+ { \
+ case 7: *q++ = (unsigned char)s; /* fall through */ \
+ case 6: *q++ = (unsigned char)s; /* fall through */ \
+ case 5: *q++ = (unsigned char)s; /* fall through */ \
+ case 4: *q++ = (unsigned char)s; /* fall through */ \
+ case 3: *q++ = (unsigned char)s; /* fall through */ \
+ case 2: *q++ = (unsigned char)s; /* fall through */ \
+ case 1: *q = (unsigned char)s; /* fall through */ \
+ case 0: break; \
+ default: FT_MEM_SET( d, s, count ); \
+ } \
FT_END_STMNT