commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Juntunen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MATH-1439) IntervalsSet getBoundarySize() method fails when interval is a single point
Date Sun, 21 Jan 2018 06:10:00 GMT

    [ 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)

Mime
View raw message