Coder Social home page Coder Social logo

gotil's Introduction

gotil

Version 2.2.2

Release Notes

Version 2.2

Added new features and fixed/updated most documentation. Some minor bug fixes and performance improvements.

  • new features:
    • created the infchan package with functions allowing the creation of infinitely buffered channels
    • added synchronous rate limiting types to the rl package, with internal mutexing.
    • added random.NewRandomizerRNG, allowing for a custom RNG (*rand.Rand) to be passed
  • bug fixes:
    • fixed an issue where rl.Bucket#DrawMax could draw a negative amount, effectively removing uses / increasing remaining buckets, if ForceDraw previously overdrew
  • other changes:
    • tests now create files in the OS temp directory (os.TempDir())
    • modified some internal implementations
      • improved speed of security.OneTimeRunes by using a map instead of indexing
      • minimally improved performance of some rl.Bucket operations
    • complete documentation refactoring
      • added documentation where it was missing
      • formatted existing documentation to central styles
      • fixed errors in a couple places
      • added a deprecation comment for optional.Optional[T]#GetOrZero in favor of OrElseZero

Version 2.1

  • new features:
    • added json marshalling and unmarshalling for type optional.Optional[T]
    • added GetOrZero() T method to type optional.Optional[T] for naming consistency

Version 2.0

Updated library to Go 1.18, migrated to and created new generic types and functions.

  • new features:
    • java-style optional type optional.Optional[T]
    • generic slice fuzzy function fn.FuzzySlice[T comparable](needle, haystack []T) bool
  • converted functions and types to 1.18 generics:
    • random.Randomizer[T]{}
    • slices.Sum[T Integer | Float](s []T) T
    • slices.Average[T Float](s []T) T -- still uses moving average to help prevent overflow
    • random.SecureRunes -> random.SecureSlice[T ~rune | ~byte](length int, set []T) ([]T, error)

License

gotil is licensed under the MIT License

gotil's People

Contributors

zytekaron avatar deepsourcebot avatar

Stargazers

 avatar Ishmaam Khan avatar M. Joseph avatar Airbus A330-200 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.