initial commit
This commit is contained in:
53
_bmad-output/implementation-artifacts/6-8-list-operations.md
Normal file
53
_bmad-output/implementation-artifacts/6-8-list-operations.md
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
epic: 6
|
||||
story: 6.8
|
||||
title: "List Operations"
|
||||
status: draft
|
||||
---
|
||||
|
||||
## Epic 6 — Advanced Math & Functions
|
||||
**Goal:** Scientific, financial, and power-user math.
|
||||
|
||||
### Story 6.8: List Operations
|
||||
|
||||
As a **CalcPad user**,
|
||||
I want to use list-based functions like min, max, gcd, and lcm with multiple arguments,
|
||||
So that I can perform aggregate computations on explicit sets of values.
|
||||
|
||||
**Acceptance Criteria:**
|
||||
|
||||
**Given** the user writes `min(5, 3, 7)`
|
||||
**When** the engine evaluates
|
||||
**Then** the result is `3`
|
||||
|
||||
**Given** the user writes `max(5, 3, 7)`
|
||||
**When** the engine evaluates
|
||||
**Then** the result is `7`
|
||||
|
||||
**Given** the user writes `gcd(10, 20, 5)`
|
||||
**When** the engine evaluates
|
||||
**Then** the result is `5`
|
||||
|
||||
**Given** the user writes `lcm(210, 40, 8)`
|
||||
**When** the engine evaluates
|
||||
**Then** the result is `840`
|
||||
|
||||
**Given** the user writes `min(5)` with a single argument
|
||||
**When** the engine evaluates
|
||||
**Then** the result is `5`
|
||||
|
||||
**Given** the user writes `gcd(0, 5)`
|
||||
**When** the engine evaluates
|
||||
**Then** the result is `5` (gcd(0, n) = n)
|
||||
|
||||
**Given** the user writes `lcm(0, 5)`
|
||||
**When** the engine evaluates
|
||||
**Then** the result is `0` (lcm(0, n) = 0)
|
||||
|
||||
**Given** the user writes `min()` with no arguments
|
||||
**When** the engine evaluates
|
||||
**Then** an error is displayed indicating that at least one argument is required
|
||||
|
||||
**Given** the user writes `gcd(12.5, 7.5)`
|
||||
**When** the engine evaluates
|
||||
**Then** an error is displayed (gcd is defined for integers only) or the values are truncated/rounded with a warning
|
||||
Reference in New Issue
Block a user