| // Written in the D programming language | |
| /** | |
| * Internal math utilities. | |
| * | |
| * Copyright: The D Language Foundation 2021. | |
| * License: $(HTTP boost.org/LICENSE_1_0.txt, Boost License 1.0). | |
| * Authors: Luís Ferreira | |
| * Source: $(DRUNTIMESRC core/internal/util/_math.d) | |
| */ | |
| module core.internal.util.math; | |
| /** | |
| * Calculates the maximum of the passed arguments | |
| * Params: | |
| * a = first value to select the maximum from | |
| * b = second value to select the maximum from | |
| * Returns: The maximum of the passed-in values. | |
| */ | |
| T max(T)(T a, T b) pure nothrow @nogc @safe | |
| { | |
| return b > a ? b : a; | |
| } | |
| /** | |
| * Calculates the minimum of the passed arguments | |
| * Params: | |
| * a = first value to select the minimum from | |
| * b = second value to select the minimum from | |
| * Returns: The minimum of the passed-in values. | |
| */ | |
| T min(T)(T a, T b) pure nothrow @nogc @safe | |
| { | |
| return b < a ? b : a; | |
| } | |
| /// | |
| @safe pure @nogc nothrow | |
| unittest | |
| { | |
| assert(max(1,3) == 3); | |
| assert(max(3,1) == 3); | |
| assert(max(1,1) == 1); | |
| } | |
| /// | |
| @safe pure @nogc nothrow | |
| unittest | |
| { | |
| assert(min(1,3) == 1); | |
| assert(min(3,1) == 1); | |
| assert(min(1,1) == 1); | |
| } |