Tarso

Tarso

Data pack

Mathematical utilities for score calculations.

Server LibraryUtility

67 downloads
0 followers
Follow Save

Tarso is a library datapack containing general mathematical utilities for score calculations without using macro functions.

Usage

Calculation

To calculation, put the score in math.target and (maybe) math.source, then call operations, the score returned will be presented in math.target.

Operation Function General Expression Desciption
Left Shift math:ls math.target = math.target >> math.source
Right Shift math:rs math.target = math.target << math.source
Addition math:add math.target = math.target + math.source
Multiplication math:mul math.target = math.target * math.source
Power math:pow math.target = math.target ^ math.source
Subtraction math:sub math.target = math.target - math.source
Division math:div math.target = math.target / math.source
Logarithm math:log math.target = log math.source (math.target)
Common Logarithm math:lg math.target = log 10 (math.target)
Natural Logarithm math:ln math.target = log 2 (math.target)
Square Root math:sqrt math.target = sqrt(math.target)
Modulus math:mod math.target = math.target % math.source
Remainder math:rem math.target = math.target % math.source
Negativity math:neg math.target = -math.target
Absolutation math:abs math.target = (math.target < 0) ? -math.target : math.target
Sign math:sig math.target = math.target / (math.target < 0) ? -math.target : math.target
Factorial math:fact math.target = math.target!
Permutation math:perm math.target = P(math.target, math.source)
Combination math:comb math.target = C(math.target, math.source)
Hypot math:hyp math.target = sqrt(**math.target + **math.source)
Vector math:vec math.x = CORDIC(math.target).x math.y = CORDIC(math.target).y Precision is controled by math.source.
Tangent math:tan math.target = tan(math.target) Precision is controled by math.source.
Cotangent math:cot math.target = cot(math.target) Precision is controled by math.source.
Sine math:sin math.target = sin(math.target) Precision is controled by math.source.
Cosine math:cos math.target = cos(math.target) Precision is controled by math.source.

The Stack

Tarso comes with a stack of 16 sorts. To transfer scores, put the score in math.buffer before pushing and the score poped out will be presented in math.buffer.

Operation Function
Push math:push
Pop math:pop
Seek math:seek

Notes

  1. Objectives other than those belong to the stack can be overwritten during calculations.

  2. Pushing a score into the stack while it's full make no sense.

FAQ

1. Why is the natural logarithm inaccurate?

It cannot be fixed except using large-number calculation, which is extremely slow. Currently it has a base of 2.


Project members

CookedSeafood

Owner

Details

Licensed GPL-3.0-or-later
Published 2 years ago
Updated a year ago