GithubHelp home page GithubHelp logo

buntils's Introduction

Bunny Utility Library

This is a collection of miscellaneous utility code used to simplify common tasks in C/C++ programs.

  • Type safe variant object for algebriac types.
  • Allocators with a state
  • Logging
  • Reference counting
  • Generalized linked list manipulation
  • Array-based linked list
  • Threaded red-black tree implementation
  • AVL tree implementation
  • DLL-friendly simplified dynamic array implementation
  • Array-based stack implementation
  • Array-based queue implementation
  • cStr, an extension of the standard std::string object that supports UTF8 conversions and other operations.
  • A single-producer, single-consumer lockless queue
  • A multi-producer, multi-consumer microlock queue
  • Templatized implementations of cmpxchg,xchg,xadd, and other lockless primitives.
  • A template-based hash implementation based on khash
  • Command line parsing
  • Block, ring, and greedy allocation schemes
  • Fixed-size bit-based flag manipulation
  • High precision timer
  • Binary heap implementation
  • Priority queue based on binary heap
  • Priority heap based on Priority Queue that tracks entries to allow implementing Dijkstra's Algorithm
  • #defines to help deal with stupid windows.h conflicts and VC++ deprecated functions
  • Sorted array using a bisection algorithm
  • Map based on sorted array
  • Frighteningly efficient delegate implementation
  • Automatic differentiation with dual numbers
  • Fixed-point arithmetic.
  • Template-based SSE2 objects for automatic SSE optimizations.
  • Alias table for random number generation
  • Generic animation system
  • Circular array implementation
  • Disjoint Set Data Structure that implements Kruskal's minimum spanning tree algorithm.
  • Cross-platform extension to std::thread that allows signaling threads.
  • Stream splitting object using standard buffer implementation.
  • Integral rational data structure for precise fractions.
  • String table for localization.
  • High performance profiler with multiple output options.
  • Multi-consumer multi-producer lockless block allocator.
  • Generalized KD-tree implementation for querying how many rectangles are inside a given rectangle.
  • Implementation of Robert Bridson's Fast Poisson Disk Sampling algorithm.
  • An in-place compressed Trie data structure implementation.
  • Arbitrary scheduler class for delaying actions.
  • Thread pool implementation
  • Implementation of a graph representation that implements the push-relabel algorithm, along with reductions from circulation and lower-bound circulation graph problems.
  • Implements efficient breadth-first traversal of a tree or graph
  • Includes an ID hash system that can be rebased at any time, including a reversal extension.
  • Implements mathematically correct integer and float modulo
  • Includes an n-dimensional vector and matrix math library, with optimized 4x4, 3x3 and 2x2 operations.
  • Implementes the xorshift random number generation algorithm as a standards-compliant engine.
  • AA tree implementation
  • Universal object serializer
  • XML parser and serializer
  • JSON parser and serializer
  • UBJSON parser and serializer
  • INI parser and serializer

buntils's People

Contributors

erikmcclure avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  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.