1// Written in the D programming language 2 3/** 4 * Internal math utilities. 5 * 6 * Copyright: The D Language Foundation 2021. 7 * License: $(HTTP boost.org/LICENSE_1_0.txt, Boost License 1.0). 8 * Authors: Lu��s Ferreira 9 * Source: $(DRUNTIMESRC core/internal/util/_math.d) 10 */ 11module core.internal.util.math; 12 13/** 14 * Calculates the maximum of the passed arguments 15 * Params: 16 * a = first value to select the maximum from 17 * b = second value to select the maximum from 18 * Returns: The maximum of the passed-in values. 19 */ 20T max(T)(T a, T b) pure nothrow @nogc @safe 21{ 22 return b > a ? b : a; 23} 24 25/** 26 * Calculates the minimum of the passed arguments 27 * Params: 28 * a = first value to select the minimum from 29 * b = second value to select the minimum from 30 * Returns: The minimum of the passed-in values. 31 */ 32T min(T)(T a, T b) pure nothrow @nogc @safe 33{ 34 return b < a ? b : a; 35} 36 37/// 38@safe pure @nogc nothrow 39unittest 40{ 41 assert(max(1,3) == 3); 42 assert(max(3,1) == 3); 43 assert(max(1,1) == 1); 44} 45 46/// 47@safe pure @nogc nothrow 48unittest 49{ 50 assert(min(1,3) == 1); 51 assert(min(3,1) == 1); 52 assert(min(1,1) == 1); 53} 54