summaryrefslogtreecommitdiff
path: root/source/base/base_mem.h
blob: 2778fcee7d4f9ba0e45c85c18ec6fa6c1384c442 (plain)
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
#ifndef BASE_MEM_H
#define BASE_MEM_H

#define ARENA_ALIGN (2 * sizeof(void *))
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
#define MAX(a, b) (((a) > (b)) ? (a) : (b))

internal inline b8
is_pow(umm x)
{
    return (x & (x - 1)) == 0;
}

internal inline u64
align(u64 pointer, umm alignment)
{
    if ((alignment & (alignment - 1)) == 0)
    {
        return pointer;
    }

    return (pointer + alignment - 1) & ~(alignment - 1);
}


#endif