Skip to content

Commit d9dcd1e

Browse files
committed
Make LinearAlgebra a dependency and add MatMulMode
1 parent d9735c9 commit d9dcd1e

File tree

5 files changed

+162
-106
lines changed

5 files changed

+162
-106
lines changed

Project.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ version = "0.22.17"
55

66
[deps]
77
CRlibm_jll = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0"
8+
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
89
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
910
RoundingEmulator = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705"
1011

@@ -13,14 +14,12 @@ DiffRules = "b552c78f-8df3-52c6-915a-8e097449b14b"
1314
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
1415
RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
1516
IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953"
16-
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
1717

1818
[extensions]
1919
IntervalArithmeticDiffRulesExt = "DiffRules"
2020
IntervalArithmeticForwardDiffExt = "ForwardDiff"
2121
IntervalArithmeticRecipesBaseExt = "RecipesBase"
2222
IntervalArithmeticIntervalSetsExt = "IntervalSets"
23-
IntervalArithmeticLinearAlgebraExt = "LinearAlgebra"
2423

2524
[compat]
2625
CRlibm_jll = "1"

src/IntervalArithmetic.jl

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
"""
2+
IntervalArithmetic
3+
4+
Library for validated numerics using interval arithmetic.
5+
6+
Default settings:
7+
- power mode is set to `:fast`
8+
- matrix multiplication mode is set to `:slow`
9+
10+
Learn more: https://github.com/JuliaIntervals/IntervalArithmetic.jl
11+
"""
112
module IntervalArithmetic
213

314
import CRlibm_jll
@@ -8,16 +19,23 @@ using MacroTools: MacroTools, prewalk, postwalk, @capture
819
#
920

1021
include("intervals/intervals.jl")
22+
# convenient alias
23+
const RealOrComplexI{T} = Union{Interval{T},Complex{Interval{T}}}
24+
const ComplexI{T} = Complex{Interval{T}}
25+
const RealIntervalType{T} = Union{BareInterval{T},Interval{T}}
26+
export RealOrComplexI, ComplexI, RealIntervalType
27+
28+
#
1129

1230
include("display.jl")
1331
export setdisplay
1432

33+
#
34+
1535
include("symbols.jl")
1636

17-
# convenient alias
18-
const RealOrComplexI{T} = Union{Interval{T},Complex{Interval{T}}}
19-
const ComplexI{T} = Complex{Interval{T}}
20-
const RealIntervalType{T} = Union{BareInterval{T},Interval{T}}
21-
export RealOrComplexI, ComplexI, RealIntervalType
37+
#
38+
39+
include("matmul.jl")
2240

2341
end

src/intervals/intervals.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Construction and composability with numbers
22
include("construction.jl")
33
export BareInterval, bareinterval, decoration, ill, trv, def, dac, com,
4-
Interval, interval, isguaranteed, @interval, @I_str
4+
Interval, interval, isguaranteed, @interval, @I_str
55
include("parsing.jl")
66
include("real_interface.jl")
77
include("exact_literals.jl")

0 commit comments

Comments
 (0)