microsoft / microsoft/calculator

Add support for imaginary numbers

Open
#613 6 comments 15 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Enhancement help wanted needs spec Pri: 2
Dominant language
C#
Stars
31.1k
Forks
5.8k
PR merge metrics
No merged PRs in 30d

Description

Problem Statement
Windows Calculator currently does not support imaginary numbers. Instead, we show "Invalid input":

image

Evidence or User Insights
The complex number system is part of US high school common core curriculum. According to some reports in the Math Educators Stack Exchange, complex numbers are taught in at least some high school level math and science courses in China, Norway, Italy, India, Israel, and the UK.

Proposal
Add support for imaginary numbers in Scientific mode of Windows Calculator.

Goals

  • Add support for output that includes imaginary numbers (e.g., √(-16) = 4 i)
  • Add support for inputting expressions with imaginary numbers (e.g., i2 = -1)
  • Add i to the keyboard

Non-Goals

  • Support for imaginary numbers outside of Scientific mode

Low-Fidelity Concept
image

Requested Assignment
I'm just suggesting this idea. I don't want to implement it.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the Scientific mode requirements described in this issue, including imaginary-number output, expression input, and the Scientific-mode keyboard. Done means Scientific mode supports examples such as √(-16) = 4i and i² = -1, with an i key, while other modes remain out of scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.