Yuto Horikawa

Results 195 comments of Yuto Horikawa

>For intervals, one interesting case is -0.0. Should -0.0 in 0..1 return true or false? It should be `true` because `-0.0 == 0` is `true`.

Should we drop the following constructor, not just the conversion? ```julia julia> d = (1)..(1+im) 1 + 0im..1 + 1im julia> 1 in d ERROR: MethodError: no method matching isless(::Complex{Int64},...

How about using macro? * `@open 1..2` (`Interval{:open,:open}(1,2)`) * `@leftopen 1..2` (`Interval{:open,:closed}(1,2)`) * `@rightopen 1..2` (`Interval{:closed,:open}(1,2)`)

Note that there still be some incorrect non-zero with `changebasis` function. ```julia julia> using BasicBSpline julia> p = 3 3 julia> P1 = BSplineSpace{p}(KnotVector(1:8)) BSplineSpace{3, Int64}(KnotVector([1, 2, 3, 4, 5,...

Or, split `fittingcontrolpoints` function into BasicBSplineFitting.jl package?

`+(::BSplineSpace, ::BSplineSpace)` is not always `BSplineSpace`. Here are counter examples: * `BSplineSpace{2}(KnotVector([0,0,0,1,1,1])) + BSplineSpace{3}(KnotVector([2,2,2,2,3,3,3,3]))` * `BSplineSpace{0}(KnotVector([0,1,2])) + BSplineSpace{3}(KnotVector([0,0,0,0,2,2,2,2]))`

This discussion may be a good reference. https://discourse.julialang.org/t/mathematica-bsplinecurve-in-julia/78107

[Other Interpolation Packages](http://juliamath.github.io/Interpolations.jl/latest/other_packages/#Other-Interpolation-Packages) may be a good reference.

**Before this PR** ```julia julia> using BasicBSpline, Zygote, BenchmarkTools julia> P = BSplineSpace{2}(KnotVector(0:12)) BSplineSpace{2, Int64}(KnotVector([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])) julia> bsplinebasis(P,1,2.3) 0.24500000000000013...

Thanks for the benchmarks again! I have tried the benchmark on another PC (intel CPU), and I found the performance improvements! **On the current master** ```julia julia> using FastGaussQuadrature, BenchmarkTools,...