## QalcQalc is an interactive calculator that turns any text document into a math processor. Quickly and easily run simple or complex calculations naturally. Lightweight, powerful, simple. ## Features- At its core, Qalc is powered by Math.js, so you have access to hundreds of built in mathemtical functions, constants, units and conversions
- But, we've also built on top of Math.js to power things like percentages, currencies, date calculations, natural language, and aggregations
- Qalc evaluates your text as you type it, displaying the result at the end of the line
- Works in Plain Text, Markdown and Qalc files by default, but you can enable it in any type of file
- Syntax highlighting when using the Qalc language mode
- Completely configurable and customizable: colors, alignment, precision, formatting, and more
## AnnouncementsThe exchange rates API I was using just restricted access to certain features unless you pay a subscription fee. For now I have added a free access key when calling the API, which means currency conversions will still work for now, but we no longer have https support, and are limited to 1000 calls per month, which I imagine will be exceeded at some point. I'll work on finding a new free API. ## Release notesSee change log. ## Syntax## Basic OperatorsSee Math.js operators for all available operators and Math.js precedence for order of operations. ## Basic FunctionsThis is just a subset of available functions, see Math.js function documentation for all available functions. Note: the output of ## AggregationsThese are built on top of Math.js and are specific to Qalc. Are you looking for more types of aggregations? Let us know. ## DatesSupport for dates is built on top of Math.js and is specific to Qalc. Note that any of the relative date keywords, most importantly ## Variables and ObjectsSee Math.js variables for more about variables or Math.js objects for more about objects. ## TextSee Math.js strings for more about working with text. ## ConstantsThis is just a subset. See Math.js physical constants and Math.js constants for all available constants. ## Units and ConversionsSee Math.js units reference for a list of all units available via Math.js. Qalc also adds a few of its own units:
## CurrencyCurrency data is retrieved from https://exchangeratesapi.io/ and cached for 7 days (eventually this will be configurable). Supported currencies are: ## PercentsPercents like this are not built into Math.js. We translate ## FunctionsYou can define your own functions. See Math.js functions for more information. ## Matrices and RangesMatrix indexes are one-based, similar to most math applications (differing from most programming languages). For more about matrices, see Math.js matrices. ## ConditionalsAll conditional operators are listed in the Math.js operators documentation. ## Other KeywordsThe ## Pixels/Points/emThese units are not native to Math.js, and for good reason: they are not well defined. Depending on the context, pixels to inches can vary drastically, most commonly in the 72-300 pixels per inch range. Emphemeral units (em) by definition are relative to their parent html element. We've chosen default ratios for converting these units currently, and soon we'll offer the ability to customize them. ## Binary, Hex and OctalThe Math.js numbers documentation has a little documentation on binary, hex and octal. ## Special CommentsThese special comments must exist on a line by itself to work
## SettingsQalc offers a variety of settings that allow you to customize its behavior. These settings are explained below.
## CommandsQalc adds some commands to VSCode:
See these in action: ## AcknowledgmentsForked from Mathpad, inspired by Numi and Parsify. I built this because I wanted something cross platform, and integrated with my most common text editor. The theme used in the screenshots and gifs is a slightly modified Gruvbox. |