1{
2 buildOctavePackage,
3 lib,
4 fetchurl,
5 mpfr,
6}:
7
8buildOctavePackage rec {
9 pname = "interval";
10 version = "3.2.1";
11
12 src = fetchurl {
13 url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
14 sha256 = "sha256-OOUmQnN1cTIpqz2Gpf4/WghVB0fYQgVBcG/eqQk/3Og=";
15 };
16
17 propagatedBuildInputs = [
18 mpfr
19 ];
20
21 meta = {
22 homepage = "https://gnu-octave.github.io/packages/interval/";
23 license = lib.licenses.gpl3Plus;
24 maintainers = with lib.maintainers; [ KarlJoad ];
25 description = "Interval arithmetic to evaluate functions over subsets of their domain";
26 longDescription = ''
27 The interval package for real-valued interval arithmetic allows one to
28 evaluate functions over subsets of their domain. All results are verified,
29 because interval computations automatically keep track of any errors.
30
31 These concepts can be used to handle uncertainties, estimate arithmetic
32 errors and produce reliable results. Also it can be applied to
33 computer-assisted proofs, constraint programming, and verified computing.
34
35 The implementation is based on interval boundaries represented by
36 binary64 numbers and is conforming to IEEE Std 1788-2015, IEEE standard
37 for interval arithmetic.
38 '';
39 };
40}