Here you can find the source of clamp(T value, T minimum, T maximum)
Parameter | Description |
---|---|
value | The value being clamped |
minimum | The minimum possible value |
maximum | The maximum possible value |
public static <T extends Number> T clamp(T value, T minimum, T maximum)
//package com.java2s; /*/* www .j a v a 2 s. co m*/ * Copyright 2018 ImpactDevelopment * * Licensed 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. */ public class Main { /** * Clamps a Number * * @param value The value being clamped * @param minimum The minimum possible value * @param maximum The maximum possible value * @return The clamped value */ public static <T extends Number> T clamp(T value, T minimum, T maximum) { if (minimum.doubleValue() > maximum.doubleValue()) { T temp = minimum; minimum = maximum; maximum = temp; } if (value.doubleValue() > maximum.doubleValue()) value = maximum; if (value.doubleValue() < minimum.doubleValue()) value = minimum; return value; } }