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

expand_root: some new_children pointers are not assigned #26

Open
arcsinY opened this issue Feb 27, 2022 · 0 comments
Open

expand_root: some new_children pointers are not assigned #26

arcsinY opened this issue Feb 27, 2022 · 0 comments

Comments

@arcsinY
Copy link

arcsinY commented Feb 27, 2022

Hi,

In function "expand_root" (alex.h), you use two variables named "in_bounds_new_nodes_start" and "in_bounds_new_nodes_end" to control the boundary of "root->children_". So some elements in "root->children_" will not be assigned to a pointers. However, in function "expand" (alex_nodes.h), all elements of "children_" of a model node will be traversed, and then it will visit null pointers.

Is is right? It seems that we should check whether a elements of "children_" is null when we expand a model node.

Thank you

curtis-sun added a commit to curtis-sun/ALEX that referenced this issue Jun 17, 2022
…factors

1. In function "expand_root" (alex.h), all pointers must be assigned to resolve issue microsoft#26 .
2. The case that the slope is equal to 0 must be carefully check to prevent emergence of infinite.
3. In function "significant_cost_deviation" and "catastrophic_cost" (alex_nodes.h), if the slope is equal to 0, keys of the data node are equal and should not be split. Otherwise, one key cannot be mapped to different data nodes.
4.  In function "expand_root" (alex.h), the computation of expansion factor should be more precise for long long int, especially for "ceil" function, or expansion factor may be equal to 1.
jialinding pushed a commit that referenced this issue Mar 12, 2024
…factors (#29)

1. In function "expand_root" (alex.h), all pointers must be assigned to resolve issue #26 .
2. The case that the slope is equal to 0 must be carefully check to prevent emergence of infinite.
3. In function "significant_cost_deviation" and "catastrophic_cost" (alex_nodes.h), if the slope is equal to 0, keys of the data node are equal and should not be split. Otherwise, one key cannot be mapped to different data nodes.
4.  In function "expand_root" (alex.h), the computation of expansion factor should be more precise for long long int, especially for "ceil" function, or expansion factor may be equal to 1.

Co-authored-by: Zhaoyan Sun <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant