Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge latest upstream changes #5

Closed
wants to merge 67 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
068c297
test poly inv
jgdumas Aug 22, 2022
47699fa
Newton-Raphson inverse modulo X^i
jgdumas Aug 22, 2022
55620f1
karamul & stdmul now compute only between Rbeg and Rend
jgdumas Aug 23, 2022
6a2fd00
if dividend lower than divisor, return quotient=0
jgdumas Aug 23, 2022
9206aab
do not set the degree before reverse, otherwise loose leading zeroes
jgdumas Aug 23, 2022
d1348fa
cleanup
jgdumas Aug 23, 2022
4a4d56e
comments
jgdumas Aug 23, 2022
10be451
precondition for sqr: R ca nhold the product
jgdumas Aug 23, 2022
f1556d0
irred also mod 2
jgdumas Aug 25, 2022
2e89329
Merge branch 'master' into newton
jgdumas Aug 25, 2022
60da33f
autoupdate
jgdumas Aug 25, 2022
8c07a07
LT_INIT once
jgdumas Aug 25, 2022
52fc4cf
Merge branch 'master' into autoupd
jgdumas Aug 25, 2022
a16df70
Merge branch 'master' into newton
jgdumas Aug 25, 2022
9486c5d
Forces a signed representation for GFq.
jgdumas Aug 25, 2022
ff137be
better not interfere with type defined in class.
jgdumas Aug 25, 2022
f87eb0f
Merge branch 'extext' into gfqsgn
jgdumas Aug 25, 2022
f41ccaa
Merge branch 'master' into gfqsgn
jgdumas Aug 25, 2022
0555176
Merge branch 'master' into newton
jgdumas Aug 26, 2022
87a56e1
Merge branch 'master' into autoupd
jgdumas Aug 26, 2022
90e588a
no need for a whole temporary
jgdumas Aug 26, 2022
d56e000
pre-reserving space
jgdumas Aug 26, 2022
783633a
Merge branch 'master' into newton
jgdumas Aug 26, 2022
cf10980
Merge branch 'master' into autoupd
jgdumas Aug 26, 2022
8b9c42f
Merge branch 'master' into gfqsgn
jgdumas Aug 26, 2022
646f6ea
Update README.md
jgdumas Sep 30, 2022
d61ac63
remove colors from xml output (for the CI)
jgdumas Sep 30, 2022
0aa507b
Merge pull request #213 from linbox-team/xmlcolorout
ClementPernet Sep 30, 2022
5c11766
os-x compliant SED call
ClementPernet Sep 30, 2022
4adee0e
Merge pull request #206 from linbox-team/newton
bgrenet Sep 30, 2022
0a3fb26
colour out, with sed for os-x
jgdumas Sep 30, 2022
43ec9a6
Merge branch 'master' of github.com:linbox-team/givaro
jgdumas Sep 30, 2022
184df5f
cast Degree to ptrdiff_t for std::min
jgdumas Oct 7, 2022
6da8a38
preparing for 4.2.1
ClementPernet Oct 14, 2022
9e4e329
Merge branch 'master' of github.com:linbox-team/givaro
ClementPernet Oct 14, 2022
3bd58d7
remove unecessary checks as recommanded by autoupdate
ClementPernet Oct 14, 2022
1f6c827
Merge branch 'master' into autoupd
ClementPernet Oct 14, 2022
9c5fdc3
Merge pull request #207 from linbox-team/autoupd
ClementPernet Oct 14, 2022
2af8e18
First implementation of a standard middle product algorithm
Oct 14, 2022
77e0bb0
Middle product Karatsuba implementation
Oct 21, 2022
21bea30
Merge pull request #208 from linbox-team/gfqsgn
bgrenet Oct 25, 2022
e46a113
bug: remainder of polynomial euclidean division must be of degree low…
jgdumas Oct 26, 2022
fb07233
Merge branch 'master' of github.com:linbox-team/givaro
jgdumas Oct 26, 2022
f91415f
Merge pull request #216 from linbox-team/midproduct
jgdumas Oct 26, 2022
44b14bf
Revert "autoupdate"
ClementPernet Oct 28, 2022
ff41b06
Merge pull request #217 from linbox-team/revert-207-autoupd
ClementPernet Oct 28, 2022
c7744bb
Add missing #include <cstdint> for (u)int64_t
musicinmybrain Jan 19, 2023
a3faa47
Merge pull request #218 from musicinmybrain/gcc13
jgdumas Jan 31, 2023
0cb2a3d
Add installation instructions for cloned repositories
Mar 20, 2023
aff23cd
Suggestions and put again horizontal rules
dlesnoff Mar 21, 2023
7742fb4
Lowercase License and Purpose
dlesnoff Mar 21, 2023
1d63d2e
Merge pull request #221 from dlesnoff/readme-fix
vneiger Mar 21, 2023
55e4f3d
Remove rules (superfluous due to GFM)
dlesnoff Mar 21, 2023
c3f24c0
Grenoble University -> Givaro webpage
dlesnoff Mar 21, 2023
2933e13
Merge pull request #222 from dlesnoff/readme-fix
vneiger Mar 21, 2023
c4039a6
maxCardinality and min for QField too (similar to ZRing)
jgdumas May 25, 2023
9d6cc30
provide inverse for units
jgdumas May 25, 2023
de94316
protected only subroutines (not private anymore)
jgdumas May 25, 2023
4c9ae5b
easy fix for a nasty bug in ModularExtended::div
ClementPernet Jun 27, 2023
bcd1e37
Merge branch 'master' of github.com:linbox-team/givaro
ClementPernet Jun 27, 2023
a81d44b
remove declaration of std::bool_constant -> not needed
pascalgiorgi Sep 11, 2023
a46f172
Add ModularExtended<double> to the ring and field test suites
ClementPernet Jun 27, 2023
6bfcc64
testing mod ext float
jgdumas Jun 27, 2023
a6b3708
cstdint required for uint64_t
jgdumas Oct 11, 2023
b0cf33e
More givarational operators
jgdumas Jan 26, 2024
1132161
configure.ac: fix a bashism
orlitzky Feb 9, 2024
fc6cac7
Merge pull request #227 from orlitzky/fix-configure-bashism
jgdumas Mar 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ docs_dev:docs/givaro-dev-html/index.html
docs/givaro-dev-html/index.html:
(cd docs; ${MAKE} docs_dev)

VERSION=4.2.0
VERSION=4.2.1alpha0

git:
git commit -a; git pull; git push
44 changes: 24 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,59 +1,65 @@
# Givaro: C++ library for arithmetic and algebraic computations
======

CI Inria: [![Build Status](https://ci.inria.fr/linbox/buildStatus/icon?job=Givaro)](https://ci.inria.fr/linbox/job/Givaro)
Travis: [![Build Status](https://travis-ci.org/linbox-team/givaro.svg?branch=master)](https://travis-ci.org/linbox-team/givaro/)

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


## PURPOSE
--------------------
## 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,
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](http://linbox-team.github.io/fflas-ffpack) and
[LinBox](http://linalg.org) linear algebra libraries.


## Download and install
--------------------

For lastest releases, please check out [this website](http://github.com/linbox-team/givaro); older releases can be found on [that website](https://casys.gricad-pages.univ-grenoble-alpes.fr/givaro).
Then, you can install doing:
For latest releases, please check out [the Github releases page](https://github.com/linbox-team/givaro/releases); older releases can be found on [the Givaro webpage](https://casys.gricad-pages.univ-grenoble-alpes.fr/givaro).
The installation process depends on your download method. If you downloaded an archive:

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

If you cloned the git repository directly, replace `./configure` by `./autogen.sh`:
```
> git clone git@github.com:linbox-team/givaro.git
> cd givaro
> ./autogen.sh --prefix=##GIVAROROOT##
> make
$ make install
```
Running ./autogen.sh will create a configure file that can be used directly for later re-compilations.

*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.*
*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
You will get the compilation flags by calling
```
pkg-config --cflags givaro
```
and the linking flags by calling
```
and the linking flags by calling
```
pkg-config --libs givaro
```
Expand All @@ -69,9 +75,7 @@ include ##GIVAROROOT##/share/givaro/givaro-makefile
```



Frequently Asked Questions
--------------------------
## Frequently Asked Questions

- **When compiling, I get error messages similar to**
```
Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

AC_PREREQ([2.68])

AC_INIT([Givaro],[4.2.0],[http://github.com/linbox-team/givaro],[givaro],
AC_INIT([Givaro],[4.2.1],[http://github.com/linbox-team/givaro],[givaro],
[https://casys.gricad-pages.univ-grenoble-alpes.fr/givaro])

AC_CONFIG_MACRO_DIR([macros])
Expand Down Expand Up @@ -121,7 +121,7 @@ AS_ECHO([---------------------------------------])

# Look for GMP and add flags if necessary
GIV_CHECK_GMP(40000)
REQUIRED_FLAGS+=" ${GMP_CFLAGS}"
REQUIRED_FLAGS="${REQUIRED_FLAGS} ${GMP_CFLAGS}"

GIV_DOC

Expand Down
2 changes: 1 addition & 1 deletion src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@ libgivaro_la_LIBADD= \
kernel/gmp++/libgmppp.la kernel/bstruct/libgivbstruct.la kernel/integer/libgivinteger.la kernel/memory/libgivmemory.la kernel/rational/libgivrational.la kernel/system/libgivsystem.la kernel/field/libgivfield.la library/tools/libgivtools.la library/poly1/libgivpoly1.la $(GMP_LIBS)

# soname of libgivaro
libgivaro_la_LDFLAGS = -version-info 11:0:2
libgivaro_la_LDFLAGS = -version-info 11:1:2
libgivaro_la_LDFLAGS+= -no-undefined
libgivaro_la_LDFLAGS+=$(LDFLAGS)
12 changes: 7 additions & 5 deletions src/kernel/field/gfq.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// and abiding by the rules of distribution of free software.
// see the COPYRIGHT file for more details.
// file: gfq.h
// Time-stamp: <29 May 20 16:27:47 Jean-Guillaume.Dumas@imag.fr>
// Time-stamp: <25 Aug 22 14:28:13 Jean-Guillaume.Dumas@imag.fr>
// date: 1999
// version:
// author: Jean-Guillaume.Dumas
Expand Down Expand Up @@ -33,17 +33,19 @@

namespace Givaro {

template<class TT> class GFqDom;
template<class Size_store> class GFqDom;

// Simplified alias
template<class TT=int64_t> using GFq=GFqDom<TT>;
template<class Size_store=int64_t> using GFq=GFqDom<Size_store>;



//! class GFqDom
template<class TT> class GFqDom {
template<class Size_store> class GFqDom {
protected:
typedef typename Signed_Trait<TT>::unsigned_type UTT;
typedef typename Signed_Trait<Size_store>::unsigned_type UTT;
typedef typename Signed_Trait<Size_store>::signed_type TT;
// Forces signed storage
typedef TT Rep;
typedef typename std::vector<UTT>::size_type UT ;
public:
Expand Down
Loading