Mth


Opis

Operatory arytmetyczne

W module Mth zostały zaimplementowane dwuargumentowe operatory dodawania (+), odejmowania (-), mnożenia (*), dzielenia (/) oraz reszty z dzielenia (%) dla każdej kombinacji typów argumentów BigDecimal lub Long. Zaimplementowano także trójargumentowy operator dzielenia, którego dodatkowym trzecim argumentem jest dokładność wyniku dzielenia (ilość miejsc po przecinku). Z kolei operator odejmowania posiada wersję jednoargumentową zmieniającą znak jego argumentu. Także zdefiniowane zostały jednoragumentowe operatory inkrementacji (++) i dekrementacji (--) wartości parametru, którego nazwa jest argumentem operatora oraz dwuargumentowy operator potęgowania (pow) podnoszący pierwszy argument typu Long do potęgi o wykładniku przekazanym jako drugi argument, również typu Long. Dwuargumentowe operatory dodawania i odejmowania mogą operować także na argumentach typu Date i Long (w dowolnej kolejności). Wynikiem takiej operacji jest data przekazana przez argument typu Date powiększona lub pomniejszona o liczbę sekund przekazaną przez argument typu Long. Zdefiniowano także dwuargumentowe operatory += i -=, odpowiednio zwiększające i zmniejszające wartość parametru, którego nazwa jest argumentem o wartość drugiego argumentu (typu Long lub BigDecimal).

Poniżej znajduje się zestawienie wszystkich operatorów zdefiniowanych w module Mth

Metoda modułu Mth Symbol operatora
dodawanie add +
odejmowanie substract -
mnożenie multiply *
dzielenie divide /
reszta z dzielenia remainder %
inkrementacja increment ++
dekrementacja decrement --
dodawanie z podstawieniem += +=
odejmowanie z podstawieniem -= -=
potęgowanie pow brak
pierwiastkowanie sqrt brak

Operatory posiadające symbol mogą być wywoływane na dwa sposoby - poprzez użycie nazwy metody $metoda(argumenty) lub poprzez użycie symbolu operatora $operator(argumenty).

Dla początkujących

Moduł Mth tłumaczy dlaczego w jPALIO stosuje się odwrotną notację polską. Wywołanie operatora jest de facto wywołaniem metody.

Zaokrąglanie

Moduł Mth definiuje 3 metody zaokrąglania liczb zmiennoprzecinkowych

Generowanie liczb losowych

Moduł Mth umożliwia generowanie losowych ciągów znaków zadanej długości, liczb całkowitych, liczb zmiennoprzecinkowych (z rozkładem równomiernym, wykładniczym lub Gaussa) oraz wartości logicznych.

Moduł Mth jest przystosowany do współpracy z kartami Quantis przeznaczonymi do generowania liczb losowych w oparciu o kwantowe zjawiska fizyczne.

Jeżeli karta Quantis będzie zainstalowana w systemie, zostanie użyta przez moduł Mth do generowania liczb losowych, w przeciwnym wypadku zostanie użyty wbudowany w jPALIO generator liczb pseudolosowych.

Przykłady

Przykład użycia operatorów arytmetycznych

$=(@numerator, 1)
$=(@denominator, 7)
$=(@fraction, $/($@numerator, $@denominator, $-($@denominator, 1)))
$+=(@fraction, $*($@fraction, $-($@denominator, 1)))
$@fraction
Zaokrąglanie liczb zmiennoprzecinkowych

$floor(0.1) $floor(0.5) $floor(0.9)
$round(0.1) $round(0.5) $round(0.9)
$ceil(0.1)  $ceil(0.1)  $ceil(0.9)
Generowanie liczby zmiennoprzecinkowej z określonego zakresu

$=(@range, [-0.25, 0.75])
$=(@random, $+((BigDecimal)$*((BigDecimal)$-((BigDecimal)$@range[1], (BigDecimal)$@range[0]), $generateBigDecimal()), (BigDecimal)$@range[0]))
$@random

API

http://jpalio.torn.com.pl/modules/palio/modules/Mth.html