https://github.com/mtrimolet/hroza
A (modern) C++ implementation of MarkovJunior based on StormKit
https://github.com/mtrimolet/hroza
cpp inference markov procedural-generation
Last synced: about 1 year ago
JSON representation
A (modern) C++ implementation of MarkovJunior based on StormKit
- Host: GitHub
- URL: https://github.com/mtrimolet/hroza
- Owner: mtrimolet
- Created: 2024-11-01T19:40:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-14T15:00:34.000Z (over 1 year ago)
- Last Synced: 2025-03-14T16:22:02.349Z (over 1 year ago)
- Topics: cpp, inference, markov, procedural-generation
- Language: C++
- Homepage:
- Size: 399 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Hroza
A C++ implementation of [MarkovJunior](https://github.com/mxgmn/MarkovJunior) based on [StormKit](https://github.com/TapzCrew/StormKit)
## Getting started
[Install xmake](https://xmake.io/#/getting_started)
Configure xmake project and setup LLVM development kit. I suppose it can work with LLVM v19 but I recommend using v20 at least. Developement is currently done using v21.
While developement is continuously made on `macos` using the `--HEAD` version of homebrew package `llvm`, compilation is also sometimes tested for `linux` using the AUR package `llvm-git`.
Maybe it works with your default compiler toolchain, I can't guarantee anything but it's a good opportunity to open an issue !
On `macos`, this should look like this
```sh
xmake f --toolchain=llvm --sdk=/usr/local/opt/llvm --runtimes=c++_shared --ldflags="-L/usr/local/opt/llvm/lib/c++"
```
On `linux`, this should look like this
```sh
xmake f --toolchain=llvm --sdk=/opt/llvm-git --runtimes=c++_shared
```
Then, build and run
```sh
xmake
xmake run
```
You can provide a path to an xml model as argument, otherwise default is the one currently used as test case for development.
```sh
xmake run hroza models/GoToGradient.xml
```