You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Matt Juntunen (JIRA)" <ji...@apache.org> on 2018/01/21 06:10:00 UTC

[jira] [Commented] (MATH-1439) IntervalsSet getBoundarySize() method fails when interval is a single point

    [ https://issues.apache.org/jira/browse/MATH-1439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16333403#comment-16333403 ] 

Matt Juntunen commented on MATH-1439:
-------------------------------------

The approach I took was to treat sub-hyperplanes that have the same hyperplane as the bsp node they're being tested against as if they were on the minus side of the node hyperplane. This seems to solve the edge case I mention here (which has actually shown up quite a bit for me when working with large models), and I can't think of any cases where it would cause issues. I think this is especially true considering that the previous behavior was to throw an exception.

> IntervalsSet getBoundarySize() method fails when interval is a single point
> ---------------------------------------------------------------------------
>
>                 Key: MATH-1439
>                 URL: https://issues.apache.org/jira/browse/MATH-1439
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 4.0
>            Reporter: Matt Juntunen
>            Priority: Major
>             Fix For: 4.0, 3.5, 3.6
>
>
> After creating an IntervalsSet representing a single point, calls to getBoundarySize() fail with a MathInternalError. The exception is thrown from the o.a.c.m.geometry.partitioning.Characterization class, which does not expect the BSP tree nodes it visits to have hyperplanes that are similar to those of their parents. However, IntervalsSet can (and should be allowed to) create such a tree. I believe that the Characterization class should be updated to handle this situation gracefully.
>  
> Here is an example of the failing code:
> {{IntervalsSet set = new IntervalsSet(1.0, 1.0, 1e-10);}}
> {{set.getBoundarySize();}}
>  
> Pull request: https://github.com/apache/commons-math/pull/74



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)