No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



The client-side component of the SwiftCalcs application.


This software is copyright Brentan Alexander Consulting LLC. All rights reserved.


This software contains other software components licensed under GPL3 and other open source licenses. In order to abide by those licenses, the SwiftCalcs client component is licensed under Mozilla Public License, v.2.0. You can obtain a copy of this license at


Thanks to the support of developers whose open source software is used in this application, including:


swift_calcs_client contains three different libraries that are used by the swift calcs application. They are all built using the ‘make’ command. All three libraries are composed of multiple javscript files that, upon build, are concatenated together into a single file. The intro.js and outro.js files in each library provide the beginning/end of the built library.


This folder contains the library for the webworker that launches and runs the math engine emgiac. This is done in a worker so that active calculations do not freeze the UI. Its primary purpose is to launch emgiac, receive commands from the main process, perform the calculation in emgiac, and return results to the main process.


This folder contains the library that is loaded by third-party websites that embed swift calcs content


This folder contains the library for the swift calcs UI, and is organized in to a few different folders based on the function of the underlying scripts. They are:

  • wrapper: contains intro/outro files

  • worksheet: The base object for a swift calcs worksheet. A worksheet contains multiple elements, organized from top of the worksheet to the bottom. Each element can have children of its own. Each line in a worksheet is its own element. Worksheets track the first/last elements in .ends and .ends. Elements track children in the same manner, and also track neighbors with [L] and [R] (L and R are defined as -1 and 1, respectively).

  • element.js: The base class for an element

  • elements: All the various elements that can exist in a swift calcs worksheet, from plots to solvers to text boxes. The most common elements are the math and text elements.

  • ui_support: Various functions that provide UI features, like popups and dialogs.

  • utilies: Functions that provide various utility functions for the rest of the library