52 lines
928 B
Markdown
52 lines
928 B
Markdown
# Personal library for C
|
|
|
|
## Features
|
|
### Primitives
|
|
Use shorter more concise names for common C types.
|
|
- `i8`: 8-bit signed integer
|
|
- `u8`: 8-bit unsigned integer
|
|
- `i16`: 16-bit signed integer
|
|
- `u16`: 16-bit unsigned integer
|
|
- `i32`: 32-bit signed integer
|
|
- `u32`: 32-bit unsigned integer
|
|
- `i64`: 64-bit signed integer
|
|
- `u64`: 64-bit unsigned integer
|
|
- `f32`: 32-bit floating point
|
|
- `f64`: 64-bit floating point
|
|
- `usize`: Unsigned integer of the same size as a pointer
|
|
- `isize`: Signed integer of the same size as a pointer
|
|
|
|
### Data structures
|
|
- `Dynamic array`: A dynamic array that can grow and shrink in size.
|
|
- `Hash map`: A hash map that uses linear probing for collision resolution and Murmur3 for hashing.
|
|
|
|
## Building
|
|
|
|
```bash
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
make
|
|
```
|
|
|
|
## Testing
|
|
|
|
```bash
|
|
cd build
|
|
ctest
|
|
```
|
|
|
|
## Installing
|
|
|
|
```bash
|
|
cd build
|
|
make install
|
|
```
|
|
|
|
## Uninstalling
|
|
|
|
```bash
|
|
cd build
|
|
make uninstall
|
|
```
|
|
|