Home | History | Annotate | Download | only in core

Lines Matching refs:coeff

463 static void get_cubic_coeff(const SkScalar pt[], SkScalar coeff[4])
465 coeff[0] = pt[6] + 3*(pt[2] - pt[4]) - pt[0];
466 coeff[1] = 3*(pt[4] - pt[2] - pt[2] + pt[0]);
467 coeff[2] = 3*(pt[2] - pt[0]);
468 coeff[3] = pt[0];
805 static SkScalar refine_cubic_root(const SkFP coeff[4], SkScalar root)
812 // f' = 3*coeff[0]*T^2 + 2*coeff[1]*T + coeff[2]
813 D = SkFPMul(SkFPMul(coeff[0], SkFPMul(T,T)), 3);
814 D = SkFPAdd(D, SkFPMulInt(SkFPMul(coeff[1], T), 2));
815 D = SkFPAdd(D, coeff[2]);
820 // f = coeff[0]*T^3 + coeff[1]*T^2 + coeff[2]*T + coeff[3]
821 N = SkFPMul(SkFPMul(SkFPMul(T, T), T), coeff[0]);
822 N = SkFPAdd(N, SkFPMul(SkFPMul(T, T), coeff[1]));
823 N = SkFPAdd(N, SkFPMul(T, coeff[2]));
824 N = SkFPAdd(N, coeff[3]);
900 /* Solve coeff(t) == 0, returning the number of roots that
902 coeff[0]t^3 + coeff[1]t^2 + coeff[2]t + coeff[3]
907 static int solve_cubic_polynomial(const SkFP coeff[4], SkScalar tValues[3])
913 if (SkScalarNearlyZero(coeff[0])) // we're just a quadratic
915 return SkFindUnitQuadRoots(coeff[1], coeff[2], coeff[3], tValues);
921 SkASSERT(coeff[0] != 0);
923 SkFP inva = SkFPInvert(coeff[0]);
924 a = SkFPMul(coeff[1], inva);
925 b = SkFPMul(coeff[2], inva);
926 c = SkFPMul(coeff[3], inva);
998 static void formulate_F1DotF2(const SkScalar src[], SkFP coeff[4])
1008 coeff[0] = SkFPMul(C, C);
1009 coeff[1] = SkFPMulInt(SkFPMul(B, C), 3);
1010 coeff[2] = SkFPMulInt(SkFPMul(B, B), 2);
1011 coeff[2] = SkFPAdd(coeff[2], SkFPMul(C, A));
1012 coeff[3] = SkFPMul(A, B);