Skip to content
/ linasm Public

fast and safe base library for x86-64 Linux SSE4.2 in asm (non-official patches)

License

Notifications You must be signed in to change notification settings

rurban/linasm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

No packages published

Languages