We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
DomainSets
1 parent 737eb81 commit 826a9eeCopy full SHA for 826a9ee
Project.toml
@@ -1,6 +1,6 @@
1
name = "ApproxFunBase"
2
uuid = "fbd15aa5-315a-5a7d-a8a4-24992e37be05"
3
-version = "0.7.46"
+version = "0.7.47"
4
5
[deps]
6
AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c"
src/ApproxFunBase.jl
@@ -4,15 +4,15 @@ using Base, BlockArrays, BandedMatrices, BlockBandedMatrices, DomainSets,
IntervalSets, SpecialFunctions, AbstractFFTs, FFTW,
SpecialFunctions, DSP, DualNumbers, LinearAlgebra, SparseArrays,
LowRankApprox, FillArrays, InfiniteArrays, InfiniteLinearAlgebra
7
- # Arpack
8
9
import StaticArrays, Calculus
10
using StaticArrays: SVector, @SArray, SArray
11
12
import DomainSets: Domain, indomain, UnionDomain, ProductDomain, Point, ∂,
13
- elements, DifferenceDomain, Interval, ChebyshevInterval, boundary,
+ SetdiffDomain, Interval, ChebyshevInterval, boundary,
14
rightendpoint, leftendpoint, dimension, WrappedDomain, VcatDomain,
15
- component, components, ncomponents
+ component, components, ncomponents, factor, factors, nfactors,
+ canonicaldomain
16
17
using AbstractFFTs: Plan
18
src/Domains/Domains.jl
@@ -31,7 +31,7 @@ end
31
function Base.setdiff(d::SegmentDomain,p::Point)
32
x = Number(p)
33
(x ∉ d || x ≈ leftendpoint(d) || x ≈ rightendpoint(d)) && return d
34
- DifferenceDomain(d,p)
+ SetdiffDomain(d,p)
35
end
36
37
@@ -41,7 +41,7 @@ end
41
include("multivariate.jl")
42
43
affine_setdiff(d::Domain, ptsin::UnionDomain) =
44
- _affine_setdiff(d, Number.(elements(ptsin)))
+ _affine_setdiff(d, Number.(components(ptsin)))
45
46
affine_setdiff(d::Domain, ptsin::WrappedDomain{<:AbstractVector}) =
47
_affine_setdiff(d, ptsin.domain)
src/Domains/ProductDomain.jl
@@ -1,11 +1,3 @@
-
-nfactors(d::ProductDomain) = length(components(d))
-factors(d::ProductDomain) = components(d)
-factor(d::ProductDomain,k::Integer) = component(d,k)
-canonicaldomain(d::ProductDomain) = ProductDomain(map(canonicaldomain,factors(d))...)
# product domains are their own canonical domain
for OP in (:fromcanonical,:tocanonical)
@eval begin
src/Multivariate/TensorSpace.jl
@@ -304,7 +304,7 @@ TensorSpace(sp::Tuple) =
304
dimension(sp::TensorSpace) = mapreduce(dimension,*,sp.spaces)
305
306
==(A::TensorSpace{<:NTuple{N,Space}}, B::TensorSpace{<:NTuple{N,Space}}) where {N} =
307
- all(((a,b),) -> a == b, zip(factors(A), factors(B)))
+ factors(A) == factors(B)
308
309
conversion_rule(a::TensorSpace{<:NTuple{2,Space}}, b::TensorSpace{<:NTuple{2,Space}}) =
310
conversion_type(a.spaces[1],b.spaces[1]) ⊗ conversion_type(a.spaces[2],b.spaces[2])
src/PDE/KroneckerOperator.jl
@@ -255,7 +255,7 @@ Base.transpose(S::ConstantTimesOperator) = sp.c*transpose(S.op)
255
### Calculus
256
257
#TODO: general dimension
258
-function Derivative(S::TensorSpace{SV,DD}, order) where {SV,DD<:EuclideanDomain{2}}
+function Derivative(S::TensorSpace{<:Any,<:EuclideanDomain{2}}, order)
259
@assert length(order)==2
260
if order[1]==0
261
Dy=Derivative(S.spaces[2],order[2])
@@ -272,7 +272,7 @@ function Derivative(S::TensorSpace{SV,DD}, order) where {SV,DD<:EuclideanDomain{
272
T=promote_type(eltype(Dx),eltype(Dy))
273
274
# try to work around type inference
275
- DerivativeWrapper{typeof(K),typeof(S),Vector{Int},T}(K,order)
+ DerivativeWrapper{typeof(K),typeof(S),typeof(order),T}(K,order)
276
277
278
test/SpacesTest.jl
@@ -265,6 +265,8 @@ using LinearAlgebra
265
@test ApproxFunBase.spacescompatible(a, a)
266
b = PointSpace(1:4) ⊗ PointSpace(1:3)
267
@test !ApproxFunBase.spacescompatible(a, b)
268
+ @test a == a
269
+ @test a != b
270
271
0 commit comments