Skip to content
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

Kernel_23: Exploit Uncertain in collinear_3() #7822

Merged
merged 1 commit into from
Nov 6, 2023

Conversation

afabri
Copy link
Member

@afabri afabri commented Oct 23, 2023

Summary of Changes

Make collinear_3() exploit uncertainty to make it faster. See discussion in PR #5207

Release Management

  • Affected package(s): Kernel_23
  • License and copyright ownership: unchanged

@sloriot
Copy link
Member

sloriot commented Oct 23, 2023

I think the new code and the old code are doing exactly the same thing when it comes to filter failure. Indeed the only way you would save something is if the first determinant is -1 or +1, which is not possible as 0 would also be a positive value in that case.

@mglisse
Copy link
Member

mglisse commented Oct 23, 2023

the only way you would save something is if the first determinant is -1 or +1

Why? If the first sign of determinant is an uncertain containing 0 and at least one of ±1, the old code will throw trying to convert to bool in if, while the new code will continue (and if the second determinant is clearly non-zero, it will be able to conclude without going to exact computation).

@sloriot
Copy link
Member

sloriot commented Oct 24, 2023

Indeed I missed the fact that is_zero is uncertain. Looking again at CGAL_AND, I agree that exact computation will be triggered only if the interval/static det signs are all indeterminate.

@sloriot sloriot added Batch_1 First Batch of PRs under testing Under Testing and removed Batch_1 First Batch of PRs under testing labels Oct 24, 2023
@sloriot
Copy link
Member

sloriot commented Nov 2, 2023

Successfully tested in CGAL-6.0-Ic-96

@lrineau lrineau added rm only: ready for master For the release team only: that indicates that a PR is about to be merged in 'master' and removed Ready to be tested labels Nov 2, 2023
@lrineau lrineau self-assigned this Nov 2, 2023
@lrineau lrineau merged commit 58bf7af into CGAL:master Nov 6, 2023
8 checks passed
@lrineau lrineau removed the rm only: ready for master For the release team only: that indicates that a PR is about to be merged in 'master' label Nov 6, 2023
@lrineau lrineau deleted the Filtered_kernel-collinear-GF branch November 6, 2023 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants