Metavectors

Description

metavectors 🔗

A mintetest mod adding vectors that support opperators. (eg. v1 + v2)

To get the vectors use metavectors.metavector or metavectors.require("api").

local metavector = metavectors.require("api")
local v1 = mvector.new(x,y,z)
local v2 = mvector.new(aVector)
local distance = v1-v2

##benchmarks To see the performance of metavectors compared to minetest's vector utils install the benchmark_engine mod. The benchmarks "metavectors:metavectors" and "metavectors:standardvectors" will then be added.

Reviews

Review

Do you recommend this mod?

  • Nicely coded, but outdated

    This is nifty from a code perspective, but it seems it's been overtaken by Minetest development. Testing the benchmarks on modern Minetest 5.7.0 with JIT shows this takes roughly twice as long as standard vectors (which include handy metatable functions now, too).

    Standard results:

    [Server]: [benchmark_engine] benchmark results for metavectors:standardvectors
    run 2000/2000 times after 5000 times warmup
    min:        0.000003 s
    average:    0.000005 s
    max:        0.000332 s
    total time: 0.009301 s
    

    Metavector results:

    [Server]: [benchmark_engine] benchmark results for metavectors:metavectors
    run 2000/2000 times after 5000 times warmup
    min:        0.000006 s
    average:    0.000011 s
    max:        0.002573 s
    total time: 0.022250 s
    
    0 comments

Releases

first release

Download

2019-06-09 11:57 UTC

first release 🔗

No release notes

All releases

Information

Provides

metavectors

Dependencies

Required
No required dependencies
Optional
benchmark_engine

Information

Type
Mod
Technical Name
metavectors
Languages
English
License
MIT
Maintenance State
Maintenance Only
Added
2019-06-09 11:57 UTC
Maintainers
theFox