initial commit

This commit is contained in:
2026-03-16 19:54:53 -04:00
commit bfe0e01254
3341 changed files with 483939 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
---
epic: 6
story: 6.2
title: "Logarithmic & Exponential Functions"
status: draft
---
## Epic 6 — Advanced Math & Functions
**Goal:** Scientific, financial, and power-user math.
### Story 6.2: Logarithmic & Exponential Functions
As a **CalcPad user**,
I want to use logarithmic and exponential functions including ln, log, log2, exp, pow, sqrt, cbrt, and nth-root,
So that I can perform scientific, financial, and engineering calculations involving growth, decay, and roots.
**Acceptance Criteria:**
**Given** the user writes `ln(1)`
**When** the engine evaluates
**Then** the result is `0`
**Given** the user writes `ln(e)` where `e` is Euler's number
**When** the engine evaluates
**Then** the result is `1`
**Given** the user writes `log(100)`
**When** the engine evaluates
**Then** the result is `2` (base-10 logarithm)
**Given** the user writes `log2(256)`
**When** the engine evaluates
**Then** the result is `8`
**Given** the user writes `exp(1)`
**When** the engine evaluates
**Then** the result is approximately `2.71828` (e^1)
**Given** the user writes `2^10`
**When** the engine evaluates
**Then** the result is `1024`
**Given** the user writes `pow(2, 10)`
**When** the engine evaluates
**Then** the result is `1024`
**Given** the user writes `e^3`
**When** the engine evaluates
**Then** the result is approximately `20.0855`
**Given** the user writes `sqrt(144)`
**When** the engine evaluates
**Then** the result is `12`
**Given** the user writes `cbrt(27)`
**When** the engine evaluates
**Then** the result is `3`
**Given** the user writes an nth-root expression such as `4th root of 625` or `root(625, 4)`
**When** the engine evaluates
**Then** the result is `5`
**Given** the user writes `ln(0)` or `log(-1)`
**When** the engine evaluates
**Then** the engine displays an error indicating the argument is out of the valid domain
**Given** the user writes `sqrt(-4)`
**When** the engine evaluates
**Then** the engine displays an error (complex numbers are out of scope unless explicitly supported)