---
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
