chris@163
|
1 /**
|
chris@163
|
2 * Copyright (c) 2014, 2015, Enzien Audio Ltd.
|
chris@163
|
3 *
|
chris@163
|
4 * Permission to use, copy, modify, and/or distribute this software for any
|
chris@163
|
5 * purpose with or without fee is hereby granted, provided that the above
|
chris@163
|
6 * copyright notice and this permission notice appear in all copies.
|
chris@163
|
7 *
|
chris@163
|
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
chris@163
|
9 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
chris@163
|
10 * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
chris@163
|
11 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
chris@163
|
12 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
chris@163
|
13 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
chris@163
|
14 * PERFORMANCE OF THIS SOFTWARE.
|
chris@163
|
15 */
|
chris@163
|
16
|
chris@163
|
17 #include "Utils_mac.h"
|
chris@163
|
18
|
chris@163
|
19 #if HV_APPLE
|
chris@163
|
20
|
chris@163
|
21 hv_size_t hv_max_ui(hv_size_t x, hv_size_t y) {
|
chris@163
|
22 return (x >= y) ? x : y;
|
chris@163
|
23 }
|
chris@163
|
24
|
chris@163
|
25 hv_size_t hv_min_ui(hv_size_t x, hv_size_t y) {
|
chris@163
|
26 return (x <= y) ? x : y;
|
chris@163
|
27 }
|
chris@163
|
28
|
chris@163
|
29 int hv_max_i(int x, int y) {
|
chris@163
|
30 return (x >= y) ? x : y;
|
chris@163
|
31 }
|
chris@163
|
32
|
chris@163
|
33 int hv_min_i(int x, int y) {
|
chris@163
|
34 return (x <= y) ? x : y;
|
chris@163
|
35 }
|
chris@163
|
36
|
chris@163
|
37 hv_uint32_t hv_min_max_log2(hv_uint32_t x) {
|
chris@163
|
38 // finds ceil(log2(x))
|
chris@163
|
39 // http://stackoverflow.com/questions/2589096/find-most-significant-bit-left-most-that-is-set-in-a-bit-array
|
chris@163
|
40 return (hv_uint32_t) ((8 * sizeof(unsigned int)) - __builtin_clz(x - 1));
|
chris@163
|
41 }
|
chris@163
|
42
|
chris@163
|
43 #endif // HV_APPLE
|