Giter VIP home page Giter VIP logo

markov-chains-zig's Introduction

about

a markov chain implementation in zig. this tool is useful for generating pseudo-random text based on some input files. outputs to stdout.

usage

$ zig build run -Dblock-len=8 -- --start-block "pub fn" --maxlen 1000 infile1 infile2 ...

args

  • -Dblock-len : how many bytes to consider when predicting the next character. defaults to 8.
  • --start-block : initial seed to start generation. this string should be present somewhere in input. generated text will start with this string. if not provided, a random start-block is chosen. if provided string is longer than -Dblock-len, only it's last block-len characters will be used.
  • --maxlen : how many characters to generate. does not include length of --start-block. generation will stop after this many characters.

usage examples

$ zig build run -- --start-block "test \"" --maxlen 1000 $(ls ../zig/test/behavior/*.zig)
$ zig build run -- --start-block "pub fn" --maxlen 1000 $(find ../zig/test/behavior/ -name "*.zig")

TODOs

  • gen - fix repetitive spaces
  • gen - recover when current block not found
  • add a block-len build param
  • add usage text
  • gen - write possibly skipped portion of start-block

markov-chains-zig's People

Contributors

travisstaloch avatar

Stargazers

Ethan avatar Nikita avatar Jan Ph. H. avatar Stevie Hryciw avatar Malcolm Still avatar Fergus Baker avatar Martin H avatar Auguste Rame avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.