rgo (Runtime-alGOrithmic, pronounced as are-go) is a C/C++ library for runtime algorithmics on memory sequences.
Note: This library is still in it's early stages and is NOT anywhere near being fully optimised.
rgo is written (mostly) in assembly, and we therefore can't possibly support every platform in existence.
Currently, it's only compatible with the UNIX System-V ABI. Systems using this ABI include FreeBSD, Linux, macOS, OpenBSD, and other System-V derivative. Support for Windows is being reflected for a future release.
rgo is written in GNU C and GNU assembly for the following machine architectures:
AMD64, including AVX;
IA-32, including SSE and AVX;
(Planned) Aarch64, including Neon and SVE;
(Planned) Motorola 68000;
(Planned) Power ISA, including AltiVec;
(Planned) RISC-V;
(Planned) Sparc;
The provided makefile has been tested to work with GNU make and BSD make and should work with other make implementations.
The target rgo builds the static library file (located at rgo/librgo.a). The target clean removes all object files, whilst purge removes all object files and the static library file.
Instructions for building the test program may be found on the first line of test.c.
Copyright 2022 Gabriel Jensen.
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.