diff options
| author | dam <dam@gudinoff> | 2024-05-29 12:49:49 +0100 |
|---|---|---|
| committer | dam <dam@gudinoff> | 2024-05-29 12:49:49 +0100 |
| commit | ec706533ca26d49670adb97617df0d565528e395 (patch) | |
| tree | 8576d455c6748a38e81787b308fb8cbbe1ad7b89 /modules/README.md | |
| parent | afc6eadaea1e909892c3ac374154bc532dd2845f (diff) | |
| download | task-time-tracker-ec706533ca26d49670adb97617df0d565528e395.tar.zst task-time-tracker-ec706533ca26d49670adb97617df0d565528e395.zip | |
Updated documentation and licenses for release.
Diffstat (limited to 'modules/README.md')
| -rw-r--r-- | modules/README.md | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/modules/README.md b/modules/README.md new file mode 100644 index 0000000..d9b5839 --- /dev/null +++ b/modules/README.md @@ -0,0 +1,34 @@ +jai-modules +=========== + +Modules for the language being developed by Thekla, Inc. + +# Saturation + +This module provides basic integer [saturation arithmetic](https://en.wikipedia.org/wiki/Saturation_arithmetic) procedures: `add`, `sub`, `mul`, and `div`. +These procedures accept any of the built-in integer types and adjust the output accordingly, e.g., adding an `u8` with an `s16` results in an `s16`; +All procedures return a flag signaling if the result is saturated and, additionally, the division procedure returns the remainder; +Branch-free procedures are included for the x64 architecture. These may be used by setting the `PREFER_BRANCH_FREE_CODE` module argument, or by setting `prefer_branch_free_code` on each function call. These should speed things up, specially when using signed values. Some benchmarks are included on the tests file. + +# TUI + +A simple terminal user interface module that provides basic functionalities similar to the [ncurses library](https://en.wikipedia.org/wiki/Ncurses). +Usefull for creating simple terminal-based apps that require user input. +View `snake.jai` for an example. +It has been tested on the following terminal emulators: +- [GNOME Terminal](https://en.wikipedia.org/wiki/GNOME_Terminal) +- [kitty](https://en.wikipedia.org/wiki/Kitty_(terminal_emulator)) +- [Konsole](https://en.wikipedia.org/wiki/Konsole) +- [Linux console](https://en.wikipedia.org/wiki/Linux_console) +- [xterm](https://en.wikipedia.org/wiki/Xterm) +- [Windows Terminal](https://en.wikipedia.org/wiki/Windows_Terminal) + +# UTF8 + +Basic operations over UTF8 encoded strings. + +# License + +Licensed under MIT or ISC. + +SPDX-License-Identifier: MIT OR ISC |
