Skip to content

TODO list #164

Description

@rchillyard

Number Library TODO List

Root Expression Simplification

  • Should we handle Complex numbers in Root.simplifyExact, or leave those symbolic?
  • Do we need special handling for k=1 (which should always be exact)?
  • Should negative radicands with even roots remain symbolic or error?

Review fuzzy equality (~=) implementation and testing strategy. Current approach requires exact floating-point values in tests, but fuzziness should allow for reasonable tolerance. Consider: (1) whether isProbablyZero tolerance is too strict, (2) whether test assertions should use explicit tolerance parameters, (3) why AbsoluteFuzz(5E-15) isn't providing enough wiggle room for 1E-9 differences. The fuzzyEqv logic may need refinement to properly use fuzziness bounds rather than hardcoded 1e-9 tolerance

Establish naming conventions for test descriptions

Define standard format for it should "xxxx" in strings
Consider patterns like:

Behavior-focused: "simplify X to Y" vs "X simplifies to Y"
Property-focused: "be atomic" vs "have atomic property"
Action-focused: "evaluate X correctly" vs "evaluate X"
Negative cases: "not simplify X" vs "fail to simplify X"

Create style guide for consistency

Examples of good vs unclear test names
Consider whether test names should match behavior names
Balance between brevity and clarity

I'll think about patterns I'm seeing and have some recommendations ready when you're back

Future Enhancements

(Add items as they come up)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions