1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.apache.commons.statistics.ranking; 18 19 /** 20 * Strategies for handling {@link Double#NaN NaN} values in rank transformations. 21 * 22 * @since 1.1 23 */ 24 public enum NaNStrategy { 25 26 /** 27 * NaNs are considered minimal in the ordering, equivalent to (that is, tied 28 * with) {@linkplain Double#NEGATIVE_INFINITY negative infinity}. 29 */ 30 MINIMAL, 31 32 /** 33 * NaNs are considered maximal in the ordering, equivalent to (that is, tied 34 * with) {@linkplain Double#POSITIVE_INFINITY positive infinity}. 35 */ 36 MAXIMAL, 37 38 /** NaNs are removed before rank transform is applied. */ 39 REMOVED, 40 41 /** 42 * NaNs are left fixed "in place", that is the rank transformation is applied to 43 * the other elements in the input array, but the NaN elements are returned 44 * unchanged. 45 */ 46 FIXED, 47 48 /** NaNs result in an exception. */ 49 FAILED 50 }