GithubHelp home page GithubHelp logo

m-a-s-o / linasm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rurban/linasm

0.0 0.0 0.0 1.41 MB

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

Home Page: https://sourceforge.net/projects/linasm/

License: GNU Lesser General Public License v3.0

C++ 22.45% C 0.50% Assembly 76.94% Makefile 0.12%

linasm's Introduction

################################################################################
# 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                                  #
################################################################################

linasm's People

Contributors

rurban avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.