-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
enhancementNew feature or requestNew feature or request
Description
The first complete version is implemented in #49. Here is a list of improvements left for future PRs:
- Add more tests for CI
- Some basic tests performed similarly for
p4est
- Tests of stuff we use in Trixi.jl, see, e.g.,
p4est
bindings generated with Clang.jl Trixi.jl#1184 - Also run some tests with multiple (2?) MPI ranks
- More stuff later, e.g., wrap also VTK headers and test output
- Some basic tests performed similarly for
- Make tests look nicer
- Right now, defining functions in the
@testset
s used for@cfunction
does not work directly. Thus, we define callback functions before the other code, which is not ideal since it is not really local. Can we improve this, e.g., by writing such@testset
s in their own files?
- Right now, defining functions in the
- Set
strict = true
indocs/make.jl
and make Documenter work again in CI - Improve corresponding Trixi.jl parts:
- Check whether
quadrant_obj = unsafe_load(quadrant); quadrant_obj.x
has a performance impact and whether we should use something likeunsafe_load(quadrant.x)
instead, seep4est
bindings generated with Clang.jl Trixi.jl#1184
- Check whether
- Create helper functions in P4est.jl for patterns used often in Trixi.jl
- See for example the idea
pointer_load(info, sides, elem_count)
inp4est
bindings generated with Clang.jl Trixi.jl#1184 (comment) (which should probably bepointer_load(info, :sides, :elem_count)
or@pointer_load(info, sides, elem_count)
) - Maybe Add implementation for PointerWrappers #58 as an alternative?
- See for example the idea
- More
getproperty
overloads- Right now, we get nice
getproperty
overloads for some pointer types such asPtr{p4est_quadrant}
. It would be nice to have these overloads also to the basicstruct
s such asp4est
etc. - Maybe Add implementation for PointerWrappers #58 as an alternative?
- Right now, we get nice
- Create a list of headers we do not wrap at the moment
- Are they needed, shall we add them?
- How do we want to generate and store new bindings?
- Bindings specific to
p4est
versions insrc
(as drafted in this PR in db12e75)? - Infrastructure to build new bindings as we currently have in
dev
with documentation how to use this stuff and put in in a file that can be used with locally generated bindings? - Describe the process in the docs and test it in CI
- Bindings specific to
- Handle every remaining comment
# TODO: Clang
(if any) - Get rid of
dev/fixes.sh
and implement the adaptations in Julia indev/generator.jl
to make everything accessible to people familiar with Julia but not necessarilysed
etc.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request