-
-
Notifications
You must be signed in to change notification settings - Fork 201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: Adapt handling of optional parameters to interface definition changes in the C core #1567
base: main
Are you sure you want to change the base?
Conversation
Current Aviator status
This pull request is currently open (not queued). How to mergeTo merge this PR, comment
See the real-time status of this PR on the
Aviator webapp.
Use the Aviator Chrome Extension
to see the status of your PR within GitHub.
|
I was wrong, this needed to be fixed in the yaml interface file, and is now fixed. I think this is good to go. Since this is a big change, there is some risk and revdepchecks are in order. There are no functional changes, but there may be bugs. |
The C side PR was merged, which means that this also needs to be merged. It is now updated to what is likely to become C/igraph 0.10.14. I'd like to have this merged soon as it is a blocker for further improvements I want to make. Thus, merge #1568, then merge this, then ping me. |
CI/CD is failing here, https://github.com/igraph/rigraph/actions/runs/11681694081/job/32527681296?pr=1567#step:9:184 :
Haven't looked closer, but is this anticipated? |
5d7abb4
to
34bcf0c
Compare
I stacked and will review later today. |
34bcf0c
to
2bce24f
Compare
C core now updated to the very latest. This is basically at the 0.10.15 C release. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll split this PR. Do I understand correctly that the CRAN failure is fixed with #1568 and that this could wait until after the CRAN release?
a73a1ca
to
26f0dfa
Compare
…rated code and remove support for deprecated array3 type
chore: fix some spelling mistakes refactor: minor readability cleanup in igraph_decompose() doc: more documentation improvements doc: several documentation improvements and cross-referencing chore: fix typo in error message docs: community_optimal_modulairty() does support directed graphs chore: do not warn about unknown warning options with legacy Intel compiler fix: validate sample size in igraph_motifs_randesu_estimate() chore: fix typo in comment
…d missing IGRAPH_R_CHECK error checks
fix: some BIPARTITE_TYPES parameters were incorrectly marked as optional refactor: use OPTIONAL instead of =NULL in interfaces refactor: minor readability cleanup in matching functions fix: `igraph_bipartite_projection_size()` now validates the bipartite `types` vector
…' in igraph_is_bipartite
fix: some weights parameters were incorrectly marked as OPTIONAL in functions.yaml fix: mark some optional weight parameters as OPTIONAL in functions.yaml fix: type -> types in is_bipartite interface
…n_size()` This parameter is optional in R, but not in C. Therefore the C interface definition doesn't provide a default or OPTIONAL marker.
interface: add more missing OPTIONAL markers
These checks are added automatically by Stimulus for OPTIONAL parameters
interface: even more missing OPTIONAL markers
chore: trim trailing whitespace in interface file interface: add missing interface for igraph_get_isomorphisms_vf2_callback() interface: mark all callback extra parameters and some callback functions as optional interface: add default parameter values for fundamental_cycles() and minimum_cycle_basis() interface: even more missing OPTIONAL markers interface: add more missing OPTIONAL markers fix: some weights parameters were incorrectly marked as OPTIONAL in functions.yaml fix: mark some optional weight parameters as OPTIONAL in functions.yaml fix: type -> types in is_bipartite interface fix: some BIPARTITE_TYPES parameters were incorrectly marked as optional refactor: use OPTIONAL instead of =NULL in interfaces feat: functionality for listing all simple cycles interface: default OUT mode for igraph_find_cycle() refactor: better error reporting for igraph_find_cycle() chore: some copyright header cleanup in public headers refactor: minor readability improvements fix: add some missing IGRAPH_CHECKs
…ycles_callback()` as the framework for handling callback functions is not yet present
chore: updated changelog chore: updated changelog chore: run pre-commit hooks chore: bump VERSION property in shared library fix: fix self-loops handling during simple cycle detection, closes igraph/igraph#2692 Revert "fix: temporary fix for simple cycle search mishandling self-loops, ref igraph/igraph#2692" fix: temporary fix for simple cycle search mishandling self-loops, ref igraph/igraph#2692 test: minimum cycle length for igraph_simple_cycles() refactor: do not use vector_get() in simple cycle finder refactor: cleaner parameter ordering in igraph_i_simple_cycles_circuit() refactor: support specifying a minimum cycle length in `igraph_simple_cycles()` interface: loops=True default for igraph_degree() chore: updated contributors list
… widest path functions This parameter is not optional in C, but it still needs a default in R to signify that weights should be taken from attributes.
c1d0791
to
305bc33
Compare
Somehow I missed this comment. Yes, this is correct. I still suggest including this in the release, since it's not possible to pick up the latest C core fixes without it. IMO splitting it up is not the best use of time when we are resource-constrained. |
This PR contains two changes:
Both PRs should be merged at the same time.
There is some duplicate NULL-check ugliness that is not harmful, but should be cleaned up. I think this needs to be fixed directly in Stimulus. Can you help with this @Antonov548 ? Example:
(Rf_isNull(weights) ? 0 : (Rf_isNull(weights) ? NULL : &c_weights))
I'm marking this as draft so it doesn't get accidentally merged before we all agree, but from my side it's good to go.