Skip to content

LuaSF v0.4.0 - Summary Statistics and Simulation Examples

Choose a tag to compare

@HubertRonald HubertRonald released this 04 Jun 23:29
· 46 commits to master since this release
7d85d57

LuaSF v0.4.0 - Summary Statistics and Simulation Examples

This release expands LuaSF — Lua Statistics Functions with new summary statistics helpers and simulation-oriented examples.

It builds on the v0.3.0 release, which introduced sampling utilities, deterministic RNG support, and LuaRocks publishing.

Added

Summary statistics helpers

  • Added mode(array).
  • Added range(array).
  • Added iqr(array).
  • Added percentile(array, p).
  • Added summary(array).

The new summary(array) helper returns a compact table with common descriptive statistics:

{
  count = 5,
  min = 1,
  max = 5,
  mean = 3,
  median = 3,
  variance = 2.5,
  stddev = 1.5811
}

Simulation-oriented examples

Added new runnable examples:

  • examples/weighted_loot_drop.lua
  • examples/monte_carlo_pi.lua
  • examples/poisson_arrivals.lua
  • examples/binomial_coin_flips.lua
  • examples/bootstrap_mean.lua

These examples make LuaSF easier to use for teaching, scripting, simulation, and lightweight game/modding scenarios.

LuaRocks packaging

  • Added luasf-0.4.0-1.rockspec.

Documentation

Updated documentation for the new helpers and examples:

  • Updated README.md.
  • Updated docs/api.md.
  • Updated CHANGELOG.md.

Testing

Updated tests for the new summary statistics helpers.

Tested locally with:

lua spec/test_stats.lua
lua spec/test_distributions.lua
lua spec/test_sampling.lua

New examples can be run with:

lua examples/weighted_loot_drop.lua
lua examples/monte_carlo_pi.lua
lua examples/poisson_arrivals.lua
lua examples/binomial_coin_flips.lua
lua examples/bootstrap_mean.lua

Compatibility

This release does not remove or rename existing public functions.

Existing users can continue using the compatibility entry points:

local stats = require("LuaSF")
local stats = require("LuaStat")

The LuaRocks entry point remains:

local stats = require("luasf")

Notes

LuaSF remains focused on being a small, pure-Lua statistics and random variable utility library with compatibility, readability, and practical examples as priorities.