386 lines
16 KiB
XML
386 lines
16 KiB
XML
<?xml version="1.0"?>
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<!--
|
|
This file contains some false positive bugs detected by findbugs. Their
|
|
false positive nature has been analyzed individually and they have been
|
|
put here to instruct findbugs it must ignore them.
|
|
-->
|
|
<FindBugsFilter>
|
|
|
|
<!-- the following equality tests are part of the reference algorithms -->
|
|
<!-- which already know about limited precision of the double numbers -->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.analysis.solvers.BaseSecantSolver" />
|
|
<Method name="doSolve" params="" returns="double" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.distribution.SaddlePointExpansion" />
|
|
<Or>
|
|
<Method name="getDeviancePart" params="double,double" returns="double" />
|
|
<Method name="getStirlingError" params="double" returns="double" />
|
|
</Or>
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optimization.univariate.BrentOptimizer" />
|
|
<Method name="localMin" params="boolean,double,double,double,double,double" returns="double" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optim.univariate.BrentOptimizer" />
|
|
<Method name="localMin" params="boolean,double,double,double,double,double" returns="double" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.analysis.solvers.BrentSolver" />
|
|
<Method name="brent" params="double,double,double,double" returns="double" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.analysis.solvers.MullerSolver" />
|
|
<Or>
|
|
<Method name="solve" params="double,double,double,double" returns="double" />
|
|
</Or>
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.analysis.solvers.MullerSolver2" />
|
|
<Or>
|
|
<Method name="doSolve" params="" returns="double" />
|
|
</Or>
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.linear.EigenDecomposition" />
|
|
<Method name="findEigenVectors" params="double[][]" returns="void" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
<Match>
|
|
<Or>
|
|
<Class name="org.apache.commons.math3.optim.nonlinear.scalar.noderiv.BOBYQAOptimizer" />
|
|
<Class name="org.apache.commons.math3.optimization.direct.BOBYQAOptimizer" />
|
|
</Or>
|
|
<Method name="altmov" params="int,double" returns="double[]" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optim.nonlinear.scalar.noderiv.CMAESOptimizer" />
|
|
<Method name="doOptimize" params="" returns="org.apache.commons.math3.optim.PointValuePair" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
|
|
<!-- The following equality test is intentional and needed for semantic purposes -->
|
|
<Match>
|
|
<Or>
|
|
<Class name="org.apache.commons.math3.geometry.euclidean.oned.Vector1D" />
|
|
<Class name="org.apache.commons.math3.geometry.euclidean.twod.Vector2D" />
|
|
<Class name="org.apache.commons.math3.geometry.euclidean.threed.Vector3D" />
|
|
</Or>
|
|
<Method name="equals" params="java.lang.Object" returns="boolean" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optimization.linear.LinearConstraint" />
|
|
<Method name="equals" params="java.lang.Object" returns="boolean" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optim.linear.LinearConstraint" />
|
|
<Method name="equals" params="java.lang.Object" returns="boolean" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
|
|
<!-- The following equality test is intentional and needed for rounding purposes -->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.util.Precision" />
|
|
<Method name="roundUnscaled" params="double,double,int" returns="double" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
|
|
<!-- The following equality test is intentional for division protection -->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.analysis.interpolation.LoessInterpolator" />
|
|
<Method name="smooth" params="double[],double[]" returns="double[]" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
|
|
<!-- The following equality test is intentional for infinity detection -->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.util.FastMath" />
|
|
<Method name="atan2" params="double,double" returns="double" />
|
|
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
|
|
</Match>
|
|
|
|
<!-- The following switch fall-through are due to conversion from FORTRAN goto,
|
|
which are handled by a state integer representing the target labels of the goto.
|
|
In the original code, this is sequential and fall-through is expected
|
|
-->
|
|
<Match>
|
|
<Or>
|
|
<Class name="org.apache.commons.math3.optim.nonlinear.scalar.noderiv.BOBYQAOptimizer" />
|
|
<Class name="org.apache.commons.math3.optimization.direct.BOBYQAOptimizer" />
|
|
</Or>
|
|
<Or>
|
|
<Method name="bobyqb" params="double[],double[]" returns="double" />
|
|
<Method name="trsbox" />
|
|
</Or>
|
|
<Bug pattern="SF_SWITCH_FALLTHROUGH" />
|
|
</Match>
|
|
|
|
<!-- Spurious: The fields are deprecated and not used anymore
|
|
(to be removed in 4.0)
|
|
-->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optimization.general.AbstractLeastSquaresOptimizer" />
|
|
<Or>
|
|
<Field name="weightedResidualJacobian" />
|
|
<Field name="weightedResiduals" />
|
|
</Or>
|
|
<Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD" />
|
|
</Match>
|
|
|
|
<!-- Spurious: Findbugs confused by final local variables -->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.util.FastMath" />
|
|
<Method name="atan" params="double,double,boolean" returns="double" />
|
|
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
|
|
</Match>
|
|
|
|
<!-- the following expositions of internal representation are intentional and documented -->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.stat.regression.RegressionResults"/>
|
|
<Method name="<init>" params="double[],double[][],boolean,long,int,double,double,double,boolean,boolean" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.stat.descriptive.AbstractUnivariateStatistic"/>
|
|
<Method name="getDataRef" params="" returns="double[]" />
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optimization.PointValuePair"/>
|
|
<Method name="getPointRef" params="" returns="double[]" />
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optim.PointValuePair"/>
|
|
<Method name="getPointRef" params="" returns="double[]" />
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optimization.PointValuePair"/>
|
|
<Method name="<init>" params="double[],double,boolean" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optim.PointValuePair"/>
|
|
<Method name="<init>" params="double[],double,boolean" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<!-- Serialization is handled by an internal class -->
|
|
<Match>
|
|
<Or>
|
|
<Class name="org.apache.commons.math3.optim.PointValuePair"/>
|
|
<Class name="org.apache.commons.math3.optim.PointVectorValuePair"/>
|
|
<Class name="org.apache.commons.math3.optimization.PointValuePair"/>
|
|
<Class name="org.apache.commons.math3.optimization.PointVectorValuePair"/>
|
|
</Or>
|
|
<Bug pattern="SE_NO_SUITABLE_CONSTRUCTOR" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optimization.PointVectorValuePair"/>
|
|
<Or>
|
|
<Method name="getPointRef" params="" returns="double[]" />
|
|
<Method name="getValueRef" params="" returns="double[]" />
|
|
</Or>
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optim.PointVectorValuePair"/>
|
|
<Or>
|
|
<Method name="getPointRef" params="" returns="double[]" />
|
|
<Method name="getValueRef" params="" returns="double[]" />
|
|
</Or>
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optimization.PointVectorValuePair"/>
|
|
<Method name="<init>" params="double[],double[][],boolean" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.optim.PointVectorValuePair"/>
|
|
<Method name="<init>" params="double[],double[][],boolean" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.ode.sampling.DummyStepInterpolator"/>
|
|
<Method name="<init>" params="double[],double[],boolean" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.ode.sampling.AbstractStepInterpolator"/>
|
|
<Or>
|
|
<Method name="getInterpolatedState" params="" returns="double[]" />
|
|
<Method name="getInterpolatedDerivatives" params="" returns="double[]" />
|
|
</Or>
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.ode.sampling.NordsieckStepInterpolator"/>
|
|
<Method name="reinitialize" params="double,double,double[],org.apache.commons.math3.linear.Array2DRowRealMatrix" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.ode.sampling.NordsieckStepInterpolator"/>
|
|
<Method name="getInterpolatedStateVariation" params="" returns="double[]" />
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.linear.Array2DRowRealMatrix"/>
|
|
<Method name="<init>" params="double[][],boolean" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.linear.Array2DRowRealMatrix"/>
|
|
<Method name="getDataRef" params="" returns="double[][]" />
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.linear.BlockFieldMatrix"/>
|
|
<Method name="<init>" params="int,int,org.apache.commons.math3.FieldElement[][],boolean" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.linear.Array2DRowFieldMatrix"/>
|
|
<Method name="<init>" params="org.apache.commons.math3.Field,org.apache.commons.math3.FieldElement[][],boolean" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.linear.Array2DRowFieldMatrix"/>
|
|
<Method name="getDataRef" params="" returns="org.apache.commons.math3.FieldElement[][]" />
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.linear.BlockRealMatrix"/>
|
|
<Method name="<init>" params="int,int,double[][],boolean" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.util.ResizableDoubleArray"/>
|
|
<Or>
|
|
<Method name="getValues" params="" returns="double[]" />
|
|
<Method name="getInternalValues" params="" returns="double[]" />
|
|
</Or>
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.linear.ArrayRealVector"/>
|
|
<Method name="getDataRef" params="" returns="double[]" />
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.linear.ArrayFieldVector"/>
|
|
<Method name="getDataRef" params="" returns="org.apache.commons.math3.FieldElement[]" />
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.linear.DiagonalMatrix"/>
|
|
<Method name="getDataRef" params="" returns="double[]" />
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<!-- The equals method for RealVector intentionally throws an exception -->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.linear.RealVector"/>
|
|
<Bug pattern="EQ_UNUSUAL" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.stat.clustering.EuclideanIntegerPoint"/>
|
|
<Method name="<init>" params="int[]" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.stat.clustering.EuclideanIntegerPoint"/>
|
|
<Method name="getPoint" params="" returns="int[]" />
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
<Match>
|
|
<Or>
|
|
<Class name="org.apache.commons.math3.stat.clustering.EuclideanDoublePoint"/>
|
|
<Class name="org.apache.commons.math3.ml.clustering.DoublePoint"/>
|
|
</Or>
|
|
<Method name="<init>" params="double[]" returns="void" />
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
</Match>
|
|
<Match>
|
|
<Or>
|
|
<Class name="org.apache.commons.math3.stat.clustering.EuclideanDoublePoint"/>
|
|
<Class name="org.apache.commons.math3.ml.clustering.DoublePoint"/>
|
|
</Or>
|
|
<Method name="getPoint" params="" returns="double[]" />
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
</Match>
|
|
|
|
<!-- The following cases are intentional unit tests for null parameters -->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.stat.StatUtilsTest" />
|
|
<Method name="testPercentile" params="" returns="void" />
|
|
<Bug pattern="NP_NULL_PARAM_DEREF_NONVIRTUAL" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.analysis.UnivariateRealSolverFactoryImplTest" />
|
|
<Method name="testNewNewtonSolverNull" params="" returns="void" />
|
|
<Bug pattern="NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.stat.regression.OLSMultipleLinearRegressionTest" />
|
|
<Method name="cannotAddNullYSampleData" params="" returns="void" />
|
|
<Bug pattern="NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS" />
|
|
</Match>
|
|
|
|
<!-- IntDoublePair intentionally implements Comparable inconsistently with equals -->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.stat.ranking.NaturalRanking$IntDoublePair" />
|
|
<Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS" />
|
|
</Match>
|
|
|
|
<!-- False positive warning from findbugs, the integer division result cast to double is correct here -->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.stat.inference.MannWhitneyUTest" />
|
|
<Method name="mannWhitneyU" params="double[],double[]" returns="double" />
|
|
<Bug pattern="ICAST_IDIV_CAST_TO_DOUBLE" />
|
|
</Match>
|
|
|
|
<!-- The following switch fall-through is intended. -->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D" />
|
|
<Method name="createLinks" />
|
|
<Bug pattern="SF_SWITCH_FALLTHROUGH" />
|
|
</Match>
|
|
|
|
<!-- Integer division results cast to double are intentional. -->
|
|
<Match>
|
|
<Class name="org.apache.commons.math3.special.BesselJ" />
|
|
<Method name="rjBesl" />
|
|
<Bug pattern="ICAST_IDIV_CAST_TO_DOUBLE" />
|
|
</Match>
|
|
|
|
</FindBugsFilter>
|