#ifndef COSMOPOLITAN_DSP_CORE_C331_H_ #define COSMOPOLITAN_DSP_CORE_C331_H_ #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ /** * Fixed-point 8-bit magic edge resampling kernel. * * @define (3*a + 3*b + 1*c) / 7 * @see C1331() */ static inline pureconst artificial unsigned char C331(unsigned char al, unsigned char bl, unsigned char cl) { unsigned eax, ebx, ecx; eax = al; ebx = bl; ecx = cl; eax += ebx; eax *= 3 * 2350; ecx *= 1 * 2350; eax += ecx; eax >>= 14; al = eax; return al; } COSMOPOLITAN_C_END_ #endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ #endif /* COSMOPOLITAN_DSP_CORE_C331_H_ */