# Generated by using Rcpp::compileAttributes() -> do not edit by hand # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 #' Generate batch of deterministic random numbers #' #' Uses sine-based RNG matching the JavaScript jigsaw generator. #' Much faster than calling R's random() function repeatedly. #' #' @param seed Starting seed value #' @param count Number of random values to generate #' @param min_val Minimum value (default 0.0) #' @param max_val Maximum value (default 1.0) #' @return NumericVector of random values #' @keywords internal random_batch_cpp <- function(seed, count, min_val = 0.0, max_val = 1.0) { .Call(`_jigsawR_random_batch_cpp`, seed, count, min_val, max_val) } #' Compute cubic Bezier curve points in batch #' #' Vectorized implementation of cubic Bezier interpolation. #' Computes points along the curve defined by P0, CP1, CP2, P1. #' #' @param p0 Start point as c(x, y) #' @param cp1 First control point as c(x, y) #' @param cp2 Second control point as c(x, y) #' @param p1 End point as c(x, y) #' @param n_points Number of points to generate #' @return NumericMatrix with x and y columns #' @keywords internal bezier_batch_cpp <- function(p0, cp1, cp2, p1, n_points) { .Call(`_jigsawR_bezier_batch_cpp`, p0, cp1, cp2, p1, n_points) } #' Translate SVG path coordinates by (dx, dy) #' #' Character-by-character parsing without regex for better performance. #' Handles M, L, C, A, and Z commands. #' #' @param path_string SVG path d attribute string #' @param dx X translation #' @param dy Y translation #' @return Translated SVG path string #' @keywords internal svg_translate_cpp <- function(path_string, dx, dy) { .Call(`_jigsawR_svg_translate_cpp`, path_string, dx, dy) }