Module flatten_simd

Source
Expand description

This is a temporary module that contains a SIMD version of flattening of cubic curves, as well as some code that was copied from kurbo, which is needed to reimplement the full flatten method.

Structsยง

FlattenCtx
The context needed for flattening curves.
FlattenParams ๐Ÿ”’
Point32 ๐Ÿ”’

Constantsยง

MAX_QUADS ๐Ÿ”’
This limit was chosen based on the pre-existing GitHub gist. This limit should not be hit in normal operation, but might be hit for very large transforms.
TO_QUAD_TOL ๐Ÿ”’

Traitsยง

Callback ๐Ÿ”’
FlattenParamsExt ๐Ÿ”’

Functionsยง

approx_parabola_integral ๐Ÿ”’
An approximation to $\int (1 + 4x^2) ^ -0.25 dx$
approx_parabola_integral_simd ๐Ÿ”’
approx_parabola_integral_simd_x4 ๐Ÿ”’
approx_parabola_inv_integral ๐Ÿ”’
An approximation to the inverse parabola integral.
approx_parabola_inv_integral_simd ๐Ÿ”’
estimate_num_quads ๐Ÿ”’
estimate_subdiv_simd ๐Ÿ”’
eval_cubics_simd ๐Ÿ”’
eval_simd ๐Ÿ”’
flatten ๐Ÿ”’
See the docs for the kurbo implementation of flattening: https://docs.rs/kurbo/latest/kurbo/fn.flatten.html
flatten_cubic_simd ๐Ÿ”’
is_finite_simd ๐Ÿ”’
output_lines_simd ๐Ÿ”’
pt_splat_simd ๐Ÿ”’