rARS: Removed redundant solve()
call (computed twice per iteration). Added special handling for
degenerate tangent = 0 segments (uniform envelope) to
prevent division-by-zero NaN. Added p(x) <= 0 guard in
V(x) to avoid log(0) /
log(negative) crashes.
rMARS: Replaced ifelse()
control-flow misuse with proper if/else for
x_star assignment (#P0-6). Added fallback for
deriv2 == 0 (inflexion-point boundary) to prevent silent
region skipping (#P0-7). Moved deriv1/deriv2
symbolic derivative construction outside the while-loop to avoid
redundant re-parsing (#P1-5). Added is.finite() guards on
integration limits. Fixed spelling “shouble” -> “should”.
rCCARS: Added duplicate-point removal after
sorting cross-points to prevent zero-length integrate()
calls (#P1-8). Added NaN guard in inverse-CDF formula with
uniform-sampling fallback (#P0-9). Renamed rubbish1 to
merged. Fixed concave segment replication logic.
rASS: Changed acceptance from >
to >= to handle floating-point edge cases (#P0-11).
Added max_steps parameter to bound stepping-out and
shrinkage loops, preventing infinite loops on heavy-tailed distributions
(#P0-10). Fixed return length: now returns exactly n
samples excluding the initial x0 (#P2-26). Pre-allocated
result vector. Added input validation.
rMARS
into two factory helpers (make_tangent_seg,
make_secant_seg) with a switch
dispatcher.DESCRIPTION to use Authors@R
field.