-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy path_array_min.gml
More file actions
29 lines (26 loc) · 766 Bytes
/
Copy path_array_min.gml
File metadata and controls
29 lines (26 loc) · 766 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/// @func _array_min(arr[, val])
/// @desc Finds the minimum value (or its index) in an array.
/// @param {real[]} arr - Array to search.
/// @param {bool} [val=true] - If true the minimum value is returned, if false the (first) index of the minimum value is returned.
/// @return {real} Minimum value (or its index) in arr.
function _array_min(arr)
{
// Check for optional index argument
var val = (argument_count > 1 ? argument[1] : true);
// Go through array to find smallest value
var mv = infinity; // minimum value
var mi = -1; // index of minimum value
for (var i = 0; i < array_length(arr); i++)
{
if (arr[i] < mv)
{
mv = arr[i];
mi = i;
}
}
// Return smallest value or its index
if (val == true)
return mv;
else
return mi;
}