Add README.md
This commit is contained in:
parent
6d1f5d3b4c
commit
c853f4650d
16
README.md
Normal file
16
README.md
Normal file
@ -0,0 +1,16 @@
|
||||
# Generics/Metaprogramming in C
|
||||
|
||||
Exploring different ideas for implementing generics in C.
|
||||
|
||||
[01_no_metaprogramming](./01_no_metaprogramming) is the result of the code if implemented manually.
|
||||
|
||||
[02_macros](./02_macros) is an implementation that uses simple macros to define 2D and 3D vectors for different data types.
|
||||
|
||||
[03_xmacros](./03_xmacros) is an implementation that relies on X macros to allow for defining any N-dimensional vector for different data types. In this case, it is only 2D and 3D vectors, but it can be easily expanded to other dimensions.
|
||||
|
||||
## General assessment of the different techniques
|
||||
|
||||
| Technique | Readability | Debugging | Maintenance | Extensibility | Score |
|
||||
| 01_no_metaprogramming | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐ | 3.25 / 5 |
|
||||
| 02_macros | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | 3.75 / 5 |
|
||||
| 03_xmacros | ⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 2.75 / 5 |
|
Loading…
Reference in New Issue
Block a user