-
Notifications
You must be signed in to change notification settings - Fork 2
fast and safe base library for x86-64 Linux SSE4.2 in asm (non-official patches)
License
rurban/linasm
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
################################################################################ # Encoding: UTF-8 Tab size: 4 # # # # LINASM RELEASE 1.13 (STABLE) # # # # License: LGPLv3+ Copyleft (Ɔ) 2016, Jack Black # ################################################################################ INTRODUCTION ============ LinAsm is collection of very fast and SIMD optimized assembly written libraries for x86-64 Linux. It implements many common and widely used algorithms for array manipulations: searching, sorting, arithmetic and vector operations, unit conversions; fast mathematical and statistic functions; numbers and time converting algorithms; finite impulse response (FIR) digital filters; spectrum analysis algorithms, Fast Hartley transformation; CPU cache friendly functions and extremely fast abstract data types (ADT) such as hash tables b-trees, and much more. LinAsm libraries are written on FASM assembly language. They are stable and have appropriate benchmarks for many units. All libraries are well documented and grouped by their functionality. To get more information about this library, please visit the official web site: http://linasm.sourceforge.net LICENSING ========= LinAsm is free software, distributed under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 3 of the License (or any later version). For more information, see the file COPYING. PACKAGE STRUCTURE ================= LinAsm source code package has very simple directory structure. I prefer to follow KISS principle in software developing process and recommend you to keep in mind this style in your programs. It works fine for big and very complex projects, allows to keep source code clear, stable and human readable for future code maintainers. Source code is placed into separate directories are called "include" and "source". "Build" directory holds FASM compiler for assembly source code. include: ~~~~~~~~ The "include" directory holds C and C++ header files that define function prototypes, structures and data types. They should be copied as is into local include directory such as /usr/include or /usr/local/include. Installation procedure will do it for you automatically, according to the settings you provide. To call LinAsm functions you should include these header files as you do this for all other headers. LinAsm headers should not conflict with other system headers you already have in Linux. source: ~~~~~~~ The "source" directory includes assembly source code files, are written on Flat Assembler programming language, developed by Tomasz Grysztar. Its official web site is http://flatassembler.net. I used a lot of FASM macros to generate assembly code and replaced registers with variable names using "equ" directive of assembly language. Source code looks now as high level language instructions. But it is assembler in fact. You should not modify predefined constants are used in these files except you well know what you are doing. build: ~~~~~~ LinAsm source code should be compiled by "fasm" executable file, which is placed into "build" directory of each LinAsm release. To allow this file to be launched, please check that a file system has mount option "exec" and the file "build/fasm" has appropriate execution permission. The fasm file has no backdoors, viruses or rootkits. It is vanilla FASM compiler, extracted from official FASM installation kit and placed into build directory. This is required only for compilation stage and doesn't use for any other purposes. INSTALLATION ============ Library compilation and installation process is fully described in "INSTALL" file. Please revise the appropriate document for details. ################################################################################ # END OF FILE # ################################################################################
About
fast and safe base library for x86-64 Linux SSE4.2 in asm (non-official patches)
Topics
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published