Skip to content

Roadmap #2

@sostock

Description

@sostock
  • Simplify tests. Currently, running the tests takes a lot of time. We probably don’t need all of them. (Simplify tests #3)
  • Allow knot vectors where the first and last breakpoints are repeated less than k times. ([WIP] Allow more general knot sequences #5)
    • Add a new constructor with mandatory keyword argument:
      • BSplineBasis(k, knots=...) for supplying the knot sequence directly.
      • BSplineBasis(k, breakpoints=...) which creates the knot vector from the breakpoints by repeating the first and last breakpoint k times, equivalent to the old constructor without keyword argument.
    • Indexing a BSplineBasis with an AbstractUnitRange creates a new BSplineBasis with an appropriate knot vector. view(::BSplineBasis, ::AbstractUnitRange) creates an equivalent BSplineBasis whose knot vector is a view. The indices keyword argument can then be removed.
    • Since the BSplineBasis is changed to contain the knot vector instead of the breakpoints, breakpoints(basis) is changed to return unique(knots(basis)). Alternatively, the breakpoints function can be removed completely, since the user can just call unique(knots(basis)) themself.
  • Add a StaticBSplineBasis{K, T} type where the order K is a type parameter for potentially better performance.
    • Specialized implementations for small K are possible.
    • Add AbstractBSplineBasis{T} as supertype for BSplineBasis{T} and StaticBSplineBasis{K, T}.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions