third_party/cairo/src/cairo-mesh-pattern-rasterizer.c
static inline void
fd_down (double f[4])
{
    f[3] *= 0.125;
    f[2] = f[2] * 0.25 - f[3];
    f[1] = (f[1] - f[2]) * 0.5;
}
/*
 * Halve the step of the coefficients for forward differences.
 *
 * Input: f[i] is the i-th difference of the curve
 *
 * Output: f[i] is the i-th difference of the curve with half the
 *         original step
 *
 * f[0] is not affected, so the current t is not changed.
 *
 * The other coefficients are changed so that the step is half the
 * original step. This means that doing fd_fwd (f) n times with the
 * input f results in the same f[0] as doing fd_fwd (f) 2n times with
 * the output f.
 */
Halve the step of the coefficients for forward differences.
Input: f[i] is the i-th difference of the curve

f[i] is the i-th difference of the curve with half the
original step

f[0] is not affected, so the current t is not changed.

The other coefficients are changed so that the step is half the
original step. This means that doing fd_fwd (f) n times with the
input f results in the same f[0] as doing fd_fwd (f) 2n times with
the output f.
Halve the step of the coefficients for forward differences . Input : f [ i ] is the i - th difference of the curve f [ i ] is the i - th difference of the curve with half the original step f [ 0 ] is not affected so the current t is not changed . The other coefficients are changed so that the step is half the original step . This means that doing fd_fwd ( f ) n times with the input f results in the same f [ 0 ] as doing fd_fwd ( f ) 2n times with the output f .
static inline void
fd_down (double f[4])
{
    f[3] *= 0.125;
    f[2] = f[2] * 0.25 - f[3];
    f[1] = (f[1] - f[2]) * 0.5;
}
static inline void fd_down ( double f [ 4 ] ) { f [ 3 ] *= 0.125 ; f [ 2 ] = f [ 2 ] * 0.25 - f [ 3 ] ; f [ 1 ] = ( f [ 1 ] - f [ 2 ] ) * 0.5 ; }
Halve the step of the coefficients for forward differences.
Halve the step of the coefficients for forward differences .