You are on page 1of 2


Abstract Arithmetics Library (AAL)

String Mathematics

Introduction Specter is an innovation in computer science and computer engineering. Specter is the code name of Abstract Arithmetics Library (AAL). AAL's target is not the high-end computers or mainframes and clusters. AAL is supposed to enable any low-end cheap computer to do operations with big numbers and to be used in research and development in the fields of big numbers computational theory, cryptography and astronomical engineering. AAL aims to be a unified and portable library that can be embedded anywhere. How it works AAL exploits the inner limits of a specific low-end CPU architecture and provides a software mechanism to overcome several problems for big numbers computations. To do so, AAL introduces a new domain in computational theory, the String Mathematics domain. String Mathematics is a virtual domain that AAL uses to overcome the hardware limitations. The hardware limitations I am talking about is first of all the bit architecture of a low-end computer and secondly, the capacity in RAM and hard disk space. AAL is actually a small emulator that emulates the manual human processing computations by hand in the decimal system into a computer program. In other words, AAL is the analog of a human mathematician that does simple calculations by hand in a piece of paper! The idea behind the concept is that a character by character calculation in the decimal system has no limits and yet does not need big utilization of the hardware or any specific hardware at all. Technical information AAL is free and open source and is coded in ANSI C. AAL takes advantage of the way that C maps data types such as char and int in RAM and does all the processing based on the minimum available computational quantity which is 8bits = 1Byte (char). Though in order to do calculations with decimal numbers from 0 9 you would only need a nibble (half-byte), we want to use the 8bits char type in order to keep the privilege that C give us of having a char that acts as an int. There are also no well-known or massive production computers or microcontrollers that utilize less than 8bits so for our purposes the 4 MSB are not the case. Please note that I am always talking for a system that has a little-endian ordering. Comparison with other libs So, for huge numbers AAL does the job and computes the results that a common 8bit ALU in the binary domain would not have the capacity to do. On the other hand one would say that in theory if we could split any huge number in segments and do the operations separately then we would have no limits with the current architecture. The problem is that in practice this is much more complicated than it seems and its the technique that other libraries such as GMP, use to compute big numbers. Here we should note that opposed to AAL, GMP and other libs are bit dependent and optimized for high-end computers. Finally they differ in the fact that they have upper limits restricted by hardware parts such as CPU bit architecture, CPU registers, CPU cache, RAM cache, RAM timing, hard disk space and

they reside on a compiler to be portable. Thus, they are not truly optimized for any computer and neither portable. There are 3 main disadvantages of the philosophy described above and I explain them below in detail: 1. Segmentation of calculations does not always work without huge overhead in RAM and in CPU utilization. The best known way is the usage of Fourier transformations and large data tables in RAM. This means many computer cycles and huge impact in performance. This is unacceptable for a low-end computer or a micro-controller. 2. Assembly code is considered a must for this philosophy, due to huge data and operations on them. But assembly is a hardware specific language and thus restricts portability and unification. 3. Hardware dependent solution is not an option for openness and advancement. Sources Specter (AAL) is still on the development phase at BETA stage. Please download Specter from the following link...

George A. Delaportas (G0D) ------------------------------------Informatics & Computer Engineer MSc in Networking and Data Communications PhD in Computer Forensics