# jordi-r66/myownclib architecture

> Architecture diagram of the GitHub repository jordi-r66/myownclib, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/jordi-r66/myownclib
- Repository: https://github.com/jordi-r66/myownclib

## Overview

myOwnCLib is a collection of standalone C utilities, not a single application: a consuming program selects a module, calls its API, and receives or mutates in-memory data. The main capability branches cover strings and arbitrary-size integers, memory and byte order, matrix/vector mathematics, and collections. The README documents which shared sources to integrate; sampled implementations confirm several of those links, including collection-to-list delegation and vector use of matrix routines. Advanced matrix and collection modules are represented from the tree and README, but their internal call paths were not sampled. Compression is mentioned in the README but has no corresponding path in the supplied tree.

Main entry points: [`collections/lists/list.c`](https://github.com/jordi-r66/myownclib/blob/main/collections/lists/list.c) (Dynamic lists), [`memory/memfuncs.c`](https://github.com/jordi-r66/myownclib/blob/main/memory/memfuncs.c) (Memory operations), [`variableSizeInt/customInteger.c`](https://github.com/jordi-r66/myownclib/blob/main/variableSizeInt/customInteger.c) (Variable integers), [`collections/collection.c`](https://github.com/jordi-r66/myownclib/blob/main/collections/collection.c) (Collection core)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_foundation["Memory and representation"]
  node_memory["Memory operations<br/>[memfuncs.c]"]
  node_endianness["Byte order<br/>[endianness.c]"]
  node_target["Target types<br/>[types.h]"]
end

subgraph group_text_numeric["Text and integers"]
  node_strings["Variable strings<br/>[customStrings.c]"]
  node_integers["Variable integers<br/>[customInteger.c]"]
  node_modular["Modular arithmetic<br/>[arithmetics.c]"]
end

subgraph group_linear_algebra["Linear algebra"]
  node_matrix["Core matrices<br/>[matrix.c]"]
  node_advanced_matrix["Advanced matrices<br/>[advMatrix.c]"]
  node_gauss["Gaussian methods<br/>[gauss.c]"]
  node_ml_matrix["ML matrices<br/>[mlMatrix.c]"]
  node_tracking["Matrix tracking<br/>[tracking.c]"]
  node_vectors["Mathematical vectors<br/>[vectors.c]"]
end

subgraph group_collections["Collections"]
  node_collection_core["Collection core<br/>[collection.c]"]
  node_lists["Dynamic lists<br/>[list.c]"]
  node_linked_lists["Linked lists<br/>[linkedLists.c]"]
  node_dicts["Dictionaries<br/>[dict.c]"]
  node_queues["Queues<br/>[queue.c]"]
  node_stacks["Stacks<br/>[stack.c]"]
  node_heap["Binary heap<br/>[binaryHeap.c]"]
  node_sorting["Sorting APIs<br/>[sorting.h]"]
end

node_consumer(("C program"))

node_consumer -->|"calls API"| node_strings
node_consumer -->|"calls API"| node_integers
node_consumer -->|"calls API"| node_modular
node_consumer -->|"calls API"| node_matrix
node_consumer -->|"calls API"| node_advanced_matrix
node_consumer -->|"calls API"| node_gauss
node_consumer -->|"calls API"| node_ml_matrix
node_consumer -->|"calls API"| node_tracking
node_consumer -->|"calls API"| node_vectors
node_consumer -->|"calls API"| node_lists
node_consumer -->|"calls API"| node_linked_lists
node_consumer -->|"calls API"| node_dicts
node_consumer -->|"calls API"| node_queues
node_consumer -->|"calls API"| node_stacks
node_consumer -->|"calls API"| node_heap
node_consumer -->|"uses API"| node_sorting
node_memory -->|"reads byte order"| node_endianness
node_strings -->|"uses memory routines"| node_memory
node_integers -->|"uses string routines"| node_strings
node_integers -->|"uses memory routines"| node_memory
node_integers -->|"uses byte order"| node_endianness
node_matrix -->|"uses memory routines"| node_memory
node_vectors -->|"uses matrix routines"| node_matrix
node_collection_core -->|"uses memory routines"| node_memory
node_collection_core -->|"uses byte order"| node_endianness
node_lists -->|"delegates operations"| node_collection_core
node_linked_lists -.->|"integrates with"| node_lists
node_dicts -.->|"integrates with"| node_lists
node_queues -.->|"integrates with"| node_lists
node_stacks -.->|"integrates with"| node_lists
node_heap -->|"uses collection core"| node_collection_core

click node_memory "https://github.com/jordi-r66/myownclib/blob/main/memory/memfuncs.c"
click node_endianness "https://github.com/jordi-r66/myownclib/blob/main/endianness/endianness.c"
click node_target "https://github.com/jordi-r66/myownclib/blob/main/targetSpecific/types.h"
click node_strings "https://github.com/jordi-r66/myownclib/blob/main/strings/customStrings.c"
click node_integers "https://github.com/jordi-r66/myownclib/blob/main/variableSizeInt/customInteger.c"
click node_modular "https://github.com/jordi-r66/myownclib/blob/main/maths/modular/arithmetics.c"
click node_matrix "https://github.com/jordi-r66/myownclib/blob/main/maths/matrices/matrix.c"
click node_advanced_matrix "https://github.com/jordi-r66/myownclib/blob/main/maths/matrices/advMatrix.c"
click node_gauss "https://github.com/jordi-r66/myownclib/blob/main/maths/matrices/gauss.c"
click node_ml_matrix "https://github.com/jordi-r66/myownclib/blob/main/maths/matrices/mlMatrix.c"
click node_tracking "https://github.com/jordi-r66/myownclib/blob/main/maths/matrices/tracking.c"
click node_vectors "https://github.com/jordi-r66/myownclib/blob/main/maths/vectors/vectors.c"
click node_collection_core "https://github.com/jordi-r66/myownclib/blob/main/collections/collection.c"
click node_lists "https://github.com/jordi-r66/myownclib/blob/main/collections/lists/list.c"
click node_linked_lists "https://github.com/jordi-r66/myownclib/blob/main/collections/linkedLists/linkedLists.c"
click node_dicts "https://github.com/jordi-r66/myownclib/blob/main/collections/dicts/dict.c"
click node_queues "https://github.com/jordi-r66/myownclib/blob/main/collections/queues/queue.c"
click node_stacks "https://github.com/jordi-r66/myownclib/blob/main/collections/stacks/stack.c"
click node_heap "https://github.com/jordi-r66/myownclib/blob/main/collections/binaryHeap/binaryHeap.c"
click node_sorting "https://github.com/jordi-r66/myownclib/blob/main/collections/sorting/sorting.h"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_memory,node_endianness,node_target toneBlue
class node_strings,node_integers,node_modular toneAmber
class node_matrix,node_advanced_matrix,node_gauss,node_ml_matrix,node_tracking,node_vectors toneMint
class node_collection_core,node_lists,node_linked_lists,node_dicts,node_queues,node_stacks,node_heap,node_sorting toneRose
class node_consumer toneIndigo
```

## Components

### Memory and representation

- [Memory operations](https://github.com/jordi-r66/myownclib/blob/main/memory/memfuncs.c): `memory/memfuncs.c`
- [Byte order](https://github.com/jordi-r66/myownclib/blob/main/endianness/endianness.c): `endianness/endianness.c`
- [Target types](https://github.com/jordi-r66/myownclib/blob/main/targetSpecific/types.h): `targetSpecific/types.h`

### Text and integers

- [Variable strings](https://github.com/jordi-r66/myownclib/blob/main/strings/customStrings.c): `strings/customStrings.c`
- [Variable integers](https://github.com/jordi-r66/myownclib/blob/main/variableSizeInt/customInteger.c): `variableSizeInt/customInteger.c`
- [Modular arithmetic](https://github.com/jordi-r66/myownclib/blob/main/maths/modular/arithmetics.c): `maths/modular/arithmetics.c`

### Linear algebra

- [Core matrices](https://github.com/jordi-r66/myownclib/blob/main/maths/matrices/matrix.c): `maths/matrices/matrix.c`
- [Advanced matrices](https://github.com/jordi-r66/myownclib/blob/main/maths/matrices/advMatrix.c): `maths/matrices/advMatrix.c`
- [Gaussian methods](https://github.com/jordi-r66/myownclib/blob/main/maths/matrices/gauss.c): `maths/matrices/gauss.c`
- [ML matrices](https://github.com/jordi-r66/myownclib/blob/main/maths/matrices/mlMatrix.c): `maths/matrices/mlMatrix.c`
- [Matrix tracking](https://github.com/jordi-r66/myownclib/blob/main/maths/matrices/tracking.c): `maths/matrices/tracking.c`
- [Mathematical vectors](https://github.com/jordi-r66/myownclib/blob/main/maths/vectors/vectors.c): `maths/vectors/vectors.c`

### Collections

- [Collection core](https://github.com/jordi-r66/myownclib/blob/main/collections/collection.c): `collections/collection.c`
- [Dynamic lists](https://github.com/jordi-r66/myownclib/blob/main/collections/lists/list.c): `collections/lists/list.c`
- [Linked lists](https://github.com/jordi-r66/myownclib/blob/main/collections/linkedLists/linkedLists.c): `collections/linkedLists/linkedLists.c`
- [Dictionaries](https://github.com/jordi-r66/myownclib/blob/main/collections/dicts/dict.c): `collections/dicts/dict.c`
- [Queues](https://github.com/jordi-r66/myownclib/blob/main/collections/queues/queue.c): `collections/queues/queue.c`
- [Stacks](https://github.com/jordi-r66/myownclib/blob/main/collections/stacks/stack.c): `collections/stacks/stack.c`
- [Binary heap](https://github.com/jordi-r66/myownclib/blob/main/collections/binaryHeap/binaryHeap.c): `collections/binaryHeap/binaryHeap.c`
- [Sorting APIs](https://github.com/jordi-r66/myownclib/blob/main/collections/sorting/sorting.h): `collections/sorting/sorting.h`

### Other components

- **C program**

## Connections

- C program → Variable strings: calls API
- C program → Variable integers: calls API
- C program → Modular arithmetic: calls API
- C program → Core matrices: calls API
- C program → Advanced matrices: calls API
- C program → Gaussian methods: calls API
- C program → ML matrices: calls API
- C program → Matrix tracking: calls API
- C program → Mathematical vectors: calls API
- C program → Dynamic lists: calls API
- C program → Linked lists: calls API
- C program → Dictionaries: calls API
- C program → Queues: calls API
- C program → Stacks: calls API
- C program → Binary heap: calls API
- C program → Sorting APIs: uses API
- Memory operations → Byte order: reads byte order
- Variable strings → Memory operations: uses memory routines
- Variable integers → Variable strings: uses string routines
- Variable integers → Memory operations: uses memory routines
- Variable integers → Byte order: uses byte order
- Core matrices → Memory operations: uses memory routines
- Mathematical vectors → Core matrices: uses matrix routines
- Collection core → Memory operations: uses memory routines
- Collection core → Byte order: uses byte order
- Dynamic lists → Collection core: delegates operations
- Linked lists → Dynamic lists: integrates with
- Dictionaries → Dynamic lists: integrates with
- Queues → Dynamic lists: integrates with
- Stacks → Dynamic lists: integrates with
- Binary heap → Collection core: uses collection core
