or run

npx @tessl/cli init
Log in

Version

Files

docs

function-utilities.mdindex.mdlist-operations.mdmathematical-operations.mdobject-operations.mdstring-processing.md
tile.json

rubric.jsonevals/scenario-9/

{
  "context": "Evaluates how well the solution leans on prelude.ls numeric helpers to deliver rounding-aware normalization, floor-division breakdowns, trigonometric projections, and parity grouping defined in the spec. Emphasis is on calling the package primitives directly instead of reimplementing math, especially around rounding semantics and integer math with negatives.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "NaN guard",
      "description": "Uses `is-it-NaN` to detect invalid inputs in normalization (and other numeric entry points) and throws the required error when a non-number is provided.",
      "max_score": 15
    },
    {
      "name": "Rounded sign",
      "description": "Builds the normalized reading with package math: uses `round` with `pow`-based scaling to achieve decimal rounding, combines `abs` with `signum` (or `negate` where appropriate) to emit magnitude and sign exactly as specified.",
      "max_score": 25
    },
    {
      "name": "Floor division",
      "description": "Computes quotient and remainder via `div` and `mod` (not raw `/` and `%`) to honor floor-style integer division for negatives, ensuring the remainder is non-negative and smaller than the divisor magnitude.",
      "max_score": 25
    },
    {
      "name": "Trig snapshot",
      "description": "Derives the waveform snapshot with `sin` and `cos` for the angle plus `sqrt`/`pow` to calculate the unit-length check instead of manual approximations.",
      "max_score": 20
    },
    {
      "name": "Parity split",
      "description": "Partitions sequences using the package parity predicates (`even` and `odd`) while preserving order, avoiding custom parity logic.",
      "max_score": 15
    }
  ]
}