Itpp - IT++ library mirror/fork. C++ library of mathematical, signal processing and communication classes and functions.

Overview
Introduction
************

IT++ is a C++ library of mathematical, signal processing and communication
classes and functions. Its main use is in simulation of communication systems
and for performing research in the area of communications. The kernel of the
library consists of generic vector and matrix classes, and a set of
accompanying routines. Such a kernel makes IT++ similar to MATLAB or GNU
Octave.

The IT++ library originates from the former department of Information Theory
at the Chalmers University of Technology, Gothenburg, Sweden. Because the
library is coded in C++, the name IT++ seemed like a good idea at the time.
While departments come and go, IT++ have developed a life of it's own and is
now released under the terms of the GNU General Public License (GPL) for you
to enjoy.

IT++ is being developed and widely used by researchers who work in the area
of communications, both in the industry and at universities. In 2005, 2006
and 2007, IT++ was developed as a part of the European Network of Excellence
in Wireless Communications (NEWCOM).

IT++ makes extensive use of existing open-source or commercial libraries
for increased functionality, speed and accuracy. In particular BLAS, LAPACK
and FFTW libraries can be used. Instead of the reference BLAS and LAPACK
implementations, some optimized platform-specific libraries can be used as
well, i.e.:

  o ATLAS (Automatically Tuned Linear Algebra Software) - includes optimised
    BLAS and a limited set of LAPACK routines
  o MKL (Intel Math Kernel Library) - includes all required BLAS, LAPACK and
    FFT routines (FFTW not required)
  o ACML (AMD Core Math Library) - includes BLAS, LAPACK and FFT routines
    (FFTW not required)

It is possible to compile and use IT++ without any of the above listed
libraries, but the functionality will be reduced.

IT++ should work on GNU/Linux, Sun Solaris, Microsoft Windows (with Cygwin,
MinGW/MSYS or Microsoft Visual C++) and Mac OS X operating systems.

Issues
  • Can not use the module.

    Can not use the module.

    opened by mrdgo 2
  • Keep the cmake modules FindLAPACK and FindBLAS in sync with the git repo of CMake

    Keep the cmake modules FindLAPACK and FindBLAS in sync with the git repo of CMake

    These modules are copied from https://github.com/Kitware/CMake/tree/master/Modules, and can fix the error to find LAPACK and BLAS on Windows.

    Tested platforms (cmake version 3.23.1)

    • Windows, MinGW GCC in MSYS2
    • Windows, MSVC
    • openSUSE tumbleweed
    opened by minnyres 0
  • cmake cannot find LAPACK and BLAS in MSYS2

    cmake cannot find LAPACK and BLAS in MSYS2

    I am trying to build itpp in MSYS2 on Windows. The packages FFTW, LAPACK and BLAS are installed with MSYS2, but cmake cannot find LAPACK and BLAS.

    [email protected] MINGW64 ~/itpp-r4.3.0/build
    $ cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../itpp-win64  ..
    
    CMake Deprecation Warning at CMakeLists.txt:28 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    -- The C compiler identification is GNU 11.2.0
    -- The CXX compiler identification is GNU 11.2.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: C:/msys64/mingw64/bin/g++.exe - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Looking for sgemm
    -- Looking for sgemm - not found
    -- Looking for sgemm
    -- Looking for sgemm - not found
    -- Looking for sgemm
    -- Looking for sgemm - not found
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
    -- Found Threads: TRUE
    -- A library with BLAS API not found. Please specify library location.
    -- A library with BLAS API not found. Please specify library location.
    -- LAPACK requires BLAS
    -- A library with LAPACK API not found. Please specify library location.
    -- Found FFT: C:/msys64/mingw64/lib/libfftw3.dll.a
    -- A library with FFT API found.
    -- Found OpenMP_C: -fopenmp (found version "4.5")
    -- Found OpenMP_CXX: -fopenmp (found version "4.5")
    -- Found OpenMP: TRUE (found version "4.5")
    -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
    -- Could NOT find LATEX (missing: LATEX_COMPILER)
    -- Looking for include files sys/time.h, time.h
    -- Looking for include files sys/time.h, time.h - found
    -- Looking for dlfcn.h
    -- Looking for dlfcn.h - not found
    -- Looking for ieeefp.h
    -- Looking for ieeefp.h - found
    -- Looking for inttypes.h
    -- Looking for inttypes.h - found
    -- Looking for memory.h
    -- Looking for memory.h - found
    -- Looking for stdint.h
    -- Looking for stdint.h - found
    -- Looking for stdlib.h
    -- Looking for stdlib.h - found
    -- Looking for strings.h
    -- Looking for strings.h - found
    -- Looking for string.h
    -- Looking for string.h - found
    -- Looking for sys/stat.h
    -- Looking for sys/stat.h - found
    -- Looking for sys/types.h
    -- Looking for sys/types.h - found
    -- Looking for unistd.h
    -- Looking for unistd.h - found
    -- Looking for C++ include cmath
    -- Looking for C++ include cmath - found
    -- Looking for C++ include complex
    -- Looking for C++ include complex - found
    -- Looking for isfinite
    -- Looking for isfinite - not found
    -- Looking for isinf
    -- Looking for isinf - not found
    -- Looking for isnan
    -- Looking for isnan - not found
    -- Looking for signgam
    -- Looking for signgam - found
    -- Looking for acosh
    -- Looking for acosh - found
    -- Looking for asinh
    -- Looking for asinh - found
    -- Looking for atanh
    -- Looking for atanh - found
    -- Looking for cbrt
    -- Looking for cbrt - found
    -- Looking for erf
    -- Looking for erf - found
    -- Looking for erfc
    -- Looking for erfc - found
    -- Looking for expm1
    -- Looking for expm1 - found
    -- Looking for finite
    -- Looking for finite - found
    -- Looking for isfinite
    -- Looking for isfinite - not found
    -- Looking for isinf
    -- Looking for isinf - not found
    -- Looking for isnan
    -- Looking for isnan - found
    -- Looking for lgamma
    -- Looking for lgamma - found
    -- Looking for log1p
    -- Looking for log1p - found
    -- Looking for log2
    -- Looking for log2 - found
    -- Looking for rint
    -- Looking for rint - found
    -- Looking for tgamma
    -- Looking for tgamma - found
    -- Looking for std::isfinite
    -- Looking for std::isfinite - found
    -- Looking for std::isinf
    -- Looking for std::isinf - found
    -- Looking for std::isnan
    -- Looking for std::isnan - found
    CMake Warning at CMakeLists.txt:186 (message):
      BLAS library not found.
    
    
    CMake Warning at CMakeLists.txt:190 (message):
      LAPACK library not found.
    
    
    CMake Warning at CMakeLists.txt:198 (message):
      You can still compile IT++ but the functionality will be reduced.
    
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/msys64/home/cat/itpp-r4.3.0/build
    
    
    
    opened by minnyres 3
Releases(r4.3.0)
C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, NEON, AVX512)

C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, NEON, AVX512)

Xtensor Stack 1.4k Jun 24, 2022
Digital control and signal processing library for DSPs developed in C

digital-control Overview Thisis a simple C library containing very useful digital control and signal processing functionalities destinated for DSP's a

CLECIO JUNG 2 Jun 8, 2022
Digital Signal Processing Library and Audio Toolbox for the Modern Synthesist.

Digital Signal Processing Library and Audio Toolbox for the Modern Synthesist. Attention This library is still under development! Read the docs and ch

everdrone 79 Jun 18, 2022
Aquila is a digital signal processing library for C++11.

What is Aquila? Aquila is an open source and cross-platform DSP (Digital Signal Processing) library for C++11. Example #include "aquila/aquila.h" int

Zbigniew Siciarz 383 Jun 22, 2022
This is some utility functions/classes for having a nice way to communicate with a pico board RP2040

PicoScreenTerminal This is some utility functions/classes for having a nice way to communicate with a pico board RP2040 How to build First follow the

GuillaumeG. 4 Nov 15, 2021
A simple implementation of a parser and its use to calculate simple mathematical expressions

Calculator C Parser A simple implementation of a parser and its use to calculate simple mathematical expressions I haven't written a detailed descript

Romes 14 Nov 8, 2021
Node.js bindings for the Mathematical Expression Toolkit

ExprTk.js This is the Node.js bindings for ExprTk (Github) by @ArashPartow ExprTk.js supports both synchronous and asynchronous background execution o

Momtchil Momtchev 5 Feb 18, 2022
Openmind - Deduction framework with arbitrary mathematical system solver.

openmind Compilation: Debian/Ubuntu: sudo apt install cmake g++ git libboost-all-dev libxss-dev libx11-dev libxcb-screensaver0-dev ocl-icd-opencl-dev

Sergei Krivonos 10 Apr 3, 2022
Fork of junaburg's picom fork with a patch for rounded corners and shadows

picom new! : You'll now also find tryone's dual_kawase blur for the new backend, as well as rounded corners from sdhand if they are so desired, merged

Arian Rezazadeh 36 Jun 25, 2022
Arduino library for basic aerial navigation functions used for processing Euler angles, direction cosine matrices, quaternions, frame conversions, and more.

navduino Arduino library for basic aerial navigation functions used for Euler angles Direction cosine matrices Quaternions Rodrigues Rotation Vectors

PB2 4 Apr 24, 2022
Basic definitions and utility functions for GNSS raw measurement processing

gnss_comm Authors/Maintainers: CAO Shaozu (shaozu.cao AT gmail.com) The gnss_comm package contains basic definitions and utility functions for GNSS ra

HKUST Aerial Robotics Group 54 May 24, 2022
Libft is an individual project at 42 that requires us to re-create some standard C library functions including some additional ones that can be used later to build a library of useful functions for the rest of the program.

Libft is an individual project at 42 that requires us to re-create some standard C library functions including some additional ones that can be used later to build a library of useful functions for the rest of the program.

Paulo Rafael Ramalho 0 Apr 5, 2022
The PNT Integrity Library provides users a method to verify the integrity of the received GPS data and ranging signals, thereby improving resiliency against potential GPS signal loss.

PNT Integrity Library The PNT Integrity Library provides users a method to verify the integrity of the received GPS data and ranging signals, thereby

Cybersecurity and Infrastructure Security Agency 40 Apr 28, 2022
Thread aware Signal/Slot library

CsSignal Introduction CsSignal is a library for thread aware Signal/Slot delivery. This library does not depend upon CopperSpice or any other librarie

CopperSpice 56 Jun 27, 2022
Vectron VGA Plus generates a [email protected] VGA signal and has an interface that works with retro computers or microcontrollers.

Vectron VGA Plus Vectron VGA Plus generates a [email protected] VGA signal and has an interface that works with retro computers or microcontrollers. Screen

Nick Bild 29 Jun 7, 2022
multi-sdr-gps-sim generates a IQ data stream on-the-fly to simulate a GPS L1 baseband signal using a SDR platform like HackRF or ADLAM-Pluto.

multi-sdr-gps-sim generates a GPS L1 baseband signal IQ data stream, which is then transmitted by a software-defined radio (SDR) platform. Supported at the moment are HackRF, ADLAM-Pluto and binary IQ file output. The software interacts with the user through a curses based text user interface (TUI) in terminal.

null 57 Jun 20, 2022
mstatus is a super minimal entirely signal based statusbar for DWM.

mstatus is a uber-minimalistic signal based statusbar for DWM. All components of the statusbar are modules that must either be written by the user, or written by someone else and copied by the user.

Thomas Voss 1 Feb 2, 2022
JUCE Signal Generator

JUCE Signal Generator Application This project serves as a re-introduction to JUCE programming (I haven't used it since under-grad, circa 2012). Build

Tom Wilson 1 Dec 22, 2021
C++11 signal/slot implementation

sigslot C++11 signal/slot implementation Requirements c++11 How to use For a code sample, see test.cpp class Emitter { public: Signal<int>

Supergrover 70 Jun 21, 2022