All Projects → linbox-team → givaro

linbox-team / givaro

Licence: Unknown and 4 other licenses found Licenses found Unknown LICENSE Unknown COPYING Unknown COPYRIGHT Unknown Licence_CeCILL-B_V1-en.txt Unknown Licence_CeCILL-B_V1-fr.txt
Givaro - C++ library for arithmetic and algebraic computations

Programming Languages

C++
36643 projects - #6 most used programming language
M4
1887 projects
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to givaro

Surge
A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation.
Stars: ✭ 4,945 (+11960.98%)
Mutual labels:  arithmetic
FixedPointsArduino
A fixed point arithmetic library for Arduino
Stars: ✭ 68 (+65.85%)
Mutual labels:  arithmetic
ToolGood.Algorithm
Support four arithmetic operations, Excel formulas, and support custom parameters. 支持四则运算、Excel公式语法,并支持自定义参数。
Stars: ✭ 77 (+87.8%)
Mutual labels:  arithmetic
equadratures
equadratures.org/
Stars: ✭ 92 (+124.39%)
Mutual labels:  polynomials
Abacus
Advanced Combinatorics and Algebraic Number Theory Symbolic Computation library for JavaScript, Python
Stars: ✭ 16 (-60.98%)
Mutual labels:  polynomials
shellmath
Yes, Virginia, you can do floating-point arithmetic in Bash!
Stars: ✭ 33 (-19.51%)
Mutual labels:  arithmetic
imath
Arbitrary precision integer and rational arithmetic library
Stars: ✭ 92 (+124.39%)
Mutual labels:  arithmetic
SimpleTypes
The universal PHP library to convert any values and measures (money, weight, currency converter, length, etc.).
Stars: ✭ 56 (+36.59%)
Mutual labels:  arithmetic
spfpm
Package for performing fixed-point, arbitrary-precision arithmetic in Python.
Stars: ✭ 61 (+48.78%)
Mutual labels:  arithmetic
tr29124 test
C++ special math functions
Stars: ✭ 16 (-60.98%)
Mutual labels:  polynomials
verrou
floating-point errors checker
Stars: ✭ 39 (-4.88%)
Mutual labels:  arithmetic
30secondchallenge
Inspired by the newspaper puzzle my wife's grandma tests me with each time I visit.
Stars: ✭ 19 (-53.66%)
Mutual labels:  arithmetic
Tensor
A library and extension that provides objects for scientific computing in PHP.
Stars: ✭ 146 (+256.1%)
Mutual labels:  arithmetic
multinomials
Multinomials for the Mathematical Components library.
Stars: ✭ 12 (-70.73%)
Mutual labels:  polynomials
PolyJuMP.jl
A JuMP extension for Polynomial Optimization
Stars: ✭ 36 (-12.2%)
Mutual labels:  polynomials
ProbabilityBoundsAnalysis.jl
Probability bounds analysis in Julia
Stars: ✭ 17 (-58.54%)
Mutual labels:  arithmetic
Root-Finder
Root-Finder is a header-only univariate polynomial solver, which finds/counts all real roots of any polynomial within any interval.
Stars: ✭ 30 (-26.83%)
Mutual labels:  polynomials
SumOfSquares.jl
Sum of Squares Programming for Julia
Stars: ✭ 96 (+134.15%)
Mutual labels:  polynomials
rekenaar
Idris tactics for (commutative) monoids
Stars: ✭ 21 (-48.78%)
Mutual labels:  arithmetic
JavaBase
📝 Java Base Learning
Stars: ✭ 13 (-68.29%)
Mutual labels:  arithmetic

Givaro: C++ library for arithmetic and algebraic computations

======

CI Inria: Build Status Travis: Build Status

LICENSE


Givaro is distributed unded the terms of the CeCILL-B free software license (see COPYING).

PURPOSE


Givaro main features are implementations of the basic arithmetic of many mathematical entities: Primes fields, Extensions Fields, Finite Fields, Finite Rings, Polynomials, Algebraic numbers, Arbitrary precision integers and rationals (C++ wrappers over gmp), fixed precision integers. It also provides data-structures and templated classes for the manipulation of basic algebraic objects, such as vectors, matrices, univariate polynomials (and therefore recursive multivariate). It contains different program modules and is fully compatible with the FFLAS-FFPACK and LinBox linear algebra libraries.

Download and install


For lastest releases, please check out this website; older releases can be found on that website. Then, you can install doing:

> tar -zxvf givaro-*.tar.gz
> cd givaro-*
> ./configure --prefix=##GIVAROROOT#
> make install

Configuration can be adapted. Check configure --help to print the parameter choices.

In particular if GMP is not installed to the default location you might need to add for instance --with-gmp=##GMPROOT#/gmp-x-y-z to the configure line.

Also, on non-Linux systems you might need to use gmake instead of make.

Compile your own files


Givaro uses pkgconfig to expose the compilation flags it requires.

You will get the compilation flags by calling

pkg-config --cflags givaro

and the linking flags by calling

pkg-config --libs givaro

If you have installed givaro in a non-standard directory (such as /usr/local), make sure to have added the path where to find givaro's .pc file to the PKG_CONFIG_PATH environment variable.

PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:<path to your givaro install>/lib/pkgconfig

An alternative option is to just add the following line to your Makefile. Then a simple call will compile your C and C++ files.

include ##GIVAROROOT##/share/givaro/givaro-makefile

Frequently Asked Questions

  • When compiling, I get error messages similar to
/tmp/ccjZqIED.s: Assembler messages:
/tmp/ccjZqIED.s:142: Error: operand type mismatch for `vxorps'
/tmp/ccjZqIED.s:768: Error: no such instruction: `shlx %rax,%rdx,%rdx'
/tmp/ccjZqIED.s:1067: Error: no such instruction: `shlx %rax,%rdx,%rdx'

It means that the assembler is not capable of handling instructions generated by the compiler. You should either upgrade your assembler (e.g., by upgrading binutils on Linux) or use CXXFLAGS in ./configure to controls the instructions generated by the compiler (e.g., by adding -march=..., or -mno-avx2 or similar, depending on your machine and assembler version).

For more information, see this link.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].