Closed daanhb closed 2 years ago
I probably left out a few things. I could not get deprecations to work correctly and I simply left them out... We are going from 0.4 to 0.5 series so that is probably fine.
@JuliaRegistrator register()
Registration pull request created: JuliaRegistries/General/35742
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.5.0 -m "<description of version>" 624873556a52480983ff7db425730ff17e7a93d1
git push origin v0.5.0
I had packages downstream relying on the changes so I released v0.5... Hopefully it will be straightforward to update ApproxFun @dlfivefifty. It should be fine, except for having to import components
and ncomponents
from DomainSets (or from CompositeTypes) now.
@JuliaRegistrator register()
Registration pull request created: JuliaRegistries/General/36088
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.5.1 -m "<description of version>" fe5cb0a8ca754859702d78962216144c440a4d62
git push origin v0.5.1
@JuliaRegistrator register()
Registration pull request created: JuliaRegistries/General/36460
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.5.2 -m "<description of version>" 481141b88d4e8c632da7ae65b9dd8a6208d122e4
git push origin v0.5.2
Update: I've changed the canonical domain of an interval to be [-1,1]
rather than [0,1]
. This will be in 0.5.3.
@JuliaRegistrator register()
Registration pull request created: JuliaRegistries/General/43535
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.5.3 -m "<description of version>" 5b3904a11f93cba45866085ba7aaa03b11850924
git push origin v0.5.3
@JuliaRegistrator register()
Registration pull request created: JuliaRegistries/General/43643
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.5.4 -m "<description of version>" 8e9fc19351017781db80483df1665de0b8108dee
git push origin v0.5.4
@JuliaRegistrator register()
Registration pull request created: JuliaRegistries/General/44774
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.5.5 -m "<description of version>" 64984430e78c97f14294fb1378451ec3e8ffea53
git push origin v0.5.5
With #78 there were some name changes:
There are three trio's of functions:
The idea is similar in all three cases. The
union
function is the generic Julia function that is invoked with thecup
symbol. If one of the arguments is aDomain
, thenuniondomain
is invoked. The latter can also be invoked directly: the difference is thatuniondomain
treats all its arguments as if they are domains, even if they are not<:Domain
. So this allows you to create the union of an interval and a vector, for example. Finally,UnionDomain
always returns aUnionDomain
type, whereasuniondomain
may do some simplifications and return something else (that is functionally equivalent to the actual union).For intervals,
uniondomain
differes fromunion
, with the latter followingIntervalSets
(which throws error if two intervals do not overlap) anduniondomain
always returning something that represents the union. This makesuniondomain
,intersectdomain
andsetdiffdomain
potentially type-unstable (this is unavoidable and was already the case with set operations). For type-stability, useUnionDomain
.interval_map(a,b,c,d)
is no longer exported. A newmapto
function is in the works which is more general:mapto(a..b, c..d)
returns a map froma..b
toc..d
. The idea is that this will work for many other domains as well. It works by associating domains with acanonicaldomain
, which allows automatic discovery of maps between many more domains than you explicitly program (for example from any intervala..b
to a circle). Needs some more work, though.There is now a special type for rectangles and cubes. The
ProductDomain
andProductDomain{T}
constructors now recognize when a list of intervals is given and they return a more specialized type. Boxes are simple and relevant enough to support better, I thought. I find working with abstract constructors very convenient for that purpose. Most functionality is implemented at the abstract level, so extending is very easy, and it is always the case that the result is<:ProductDomain
.There is a
UnitCube
(a product of UnitInterval), but also[-1,1]^d
has its own stateless type now, as do all the other fixed intervals:const ChebyshevProductDomain{N,T} = FixedIntervalProduct{ChebyshevInterval{T},N,T}
I revised the hierarchy of unit balls, unit spheres and unit simplices. Again, an abstract constructor:
UnitBall(Val(3))
andUnitBall(3)
replace the previousEuclideanUnitBall
(now just an alias) andVectorUnitBall
(again just an alias).The
in
andapprox_in
functions are now implemented using promotion. It is functionally the same as before, but cleaner, and it allows concrete domains to intervene when necessary (for example by being more flexible in membership, or more strict).