ArtemiiKravchuk / матпак

Математичний пак. Наразі в паці є базові математичні функції; коли вони будуть вбудовані в Мавку, пак буде допрацьваний і стане аналогом numpy. Документація з'явиться пізніше.

Отримати
взяти "хмарний.пак.укр/матпак/0.0.1"
0.0.1
модуль матпак
  ПІ число = global.Math.PI ;; число пі, приблизно 3.14
  Е число = global.Math.E ;; число е, приблизно 2.718
  ЛОГ10 число = global.Math.LN10 ;; натуральний логарифм 10, приблизно 2.3
  ЛОГ2 число = global.Math.LN2 ;; натуральний логарифм 2, приблизно 0.69
  ЛОГ10Е число = global.Math.LOG10E ;; логарифм числа е по базі 10, приблизно 0.43
  ЛОГ2Е число = global.Math.LOG2E ;; логарифм числа е по базі 2, приблизно 1.44
  КОРІНЬ1_2 число = global.Math.SQRT1_2 ;; квадратний корінь 1/2, приблизно 0.7
  КОРІНЬ2 число = global.Math.SQRT2 ;; квадратний корінь 2, приблизно 1.414

  ;; повернути модуль числа
  дія абсолютне_значення(а число) число
    global.Math.abs(а)
  кінець

  ;; повернути квадратний корінь числа
  дія корінь(а число) число
    global.Math.sqrt(а)
  кінець

  ;; повернути кубічний корінь числа
  дія корінь3(а число) число
    global.Math.cbrt(а)
  кінець

  ;; повернути синус числа в радіанах
  дія синус(а число) число
    global.Math.sin(а)
  кінець

  ;; повернути арксинус числа в радіанах
  дія арксинус(а число) число
    global.Math.asin(а)
  кінець

  ;; повернути косинус числа в радіанах
  дія косинус(а число) число
    global.Math.cos(а)
  кінець

  ;; повернути арккосинус числа в радіанах
  дія арккосинус(а число) число
    global.Math.acos(а)
  кінець

  ;; повернути тангенс числа в радіанах
  дія тангенс(а число) число
    global.Math.tan(а)
  кінець

  ;; повернути арктангенс числа в радіанах
  дія арктангенс(а число) число
    global.Math.atan(а)
  кінець

  ;; повернути гіперболічний синус числа в радіанах
  дія гіперболічний_синус(а число) число
    global.Math.sinh(а)
  кінець

  ;; повернути гіперболічний арксинус числа в радіанах
  дія гіперболічний_арксинус(а число) число
    global.Math.asinh(а)
  кінець

  ;; повернути гіперболічний косинус числа в радіанах
  дія гіперболічний_косинус(а число) число
    global.Math.cosh(а)
  кінець

  ;; повернути гіперболічний арккосинус числа в радіанах
  дія гіперболічний_арккосинус(а число) число
    global.Math.acosh(а)
  кінець

  ;; повернути гіперболічний тангенс числа в радіанах
  дія гіперболічний_тангенс(а число) число
    global.Math.tanh(а)
  кінець

  ;; повернути гіперболічний арктангенс числа в радіанах
  дія гіперболічний_арктангенс(а число) число
    global.Math.atanh(а)
  кінець

  ;; повернути експоненту числа, тобто e^a
  дія експонента(а число) число
    global.Math.exp(а)
  кінець

  ;; повернути гіпотенузу прямокутного трикутника з даними катетами
  дія гіпотенуза(а число, б число) число
    global.Math.hypot(а, б)
  кінець

  ;; повернути натуральний логарифм (база е) числа
  дія логарифм(а число) число
    global.Math.log(а)
  кінець

  ;; повернути логарифм по базі 10 числа
  дія логарифм10(а число) число
    global.Math.log10(а)
  кінець

  ;; повернути логарифм по базі 2 числа
  дія логарифм2(а число) число
    global.Math.log2(а)
  кінець

  ;; округлити число до найближчого цілого значення
  дія округлити(а число) число
    global.Math.round(а)
  кінець

  ;; повернути наймешне ціле число що не менше за дане, функція стелі
  дія стеля(а число) число
    global.Math.ceil(а)
  кінець

  ;; повернути цілу частину числа, функція підлоги
  дія підлога(а число) число
    global.Math.floor(а)
  кінець

  ;; повертає 1 або -1 в залежності від знаку даного числа
  дія знак(а число) число
    global.Math.sign(а)
  кінець

  ;; повернути дане число, прибираючи всі цифри після коми (повернути цілу частину числа)
  дія обрізати(а число) число
    global.Math.trunc(а)
  кінець

  ;; повертає кількість ведучих нулів (нульових бітів) у 32-бітному двійковому вигляді числа
  дія чвн32(а число) число
    global.Math.clz32(а)
  кінець

  дія точка(список1 список, список2 список) число
    двж = список1.довжина()
    якщо двж != список2.довжина()
        впасти "матпак.точка(): довжини обох списків повинні бути однакові."
    кінець
    результат = 0
    перебрати діапазон(0, двж) як індекс_елементу
        якщо список1[індекс_елементу] не є число або список2[індекс_елементу] не є число
            впасти "матпак.точка(): вхідні списки не можуть містити нічого, крім чисел."
        кінець
        результат += список1[індекс_елементу] * список2[індекс_елементу]
    кінець
    результат
  кінець

  ;--структура нвмасив
    масив список
  кінець

  дія нвмасив.виконати_створення(масив)
    якщо масив є список
      впасти "Масив є списком"
    кінець
    я.масив = масив
  кінець--;

  дати ПІ
  дати Е
  дати ЛОГ10
  дати ЛОГ2
  дати ЛОГ10Е
  дати ЛОГ2Е
  дати КОРІНЬ1_2
  дати КОРІНЬ2
  дати абсолютне_значення
  дати корінь
  дати корінь3
  дати синус
  дати арксинус
  дати косинус
  дати арккосинус
  дати тангенс
  дати арктангенс
  дати гіперболічний_синус
  дати гіперболічний_арксинус
  дати гіперболічний_косинус
  дати гіперболічний_арккосинус
  дати гіперболічний_тангенс
  дати гіперболічний_арктангенс
  дати експонента
  дати гіпотенуза
  дати логарифм
  дати логарифм10
  дати логарифм2
  дати округлити
  дати стеля
  дати підлога
  дати знак
  дати обрізати
  дати чвн32
  дати точка
кінець

дати матпак
Версії