Module numbers

Module that provides functions to convert numbers to any number systems.

All convert operations based on tonumber on 1/2 and determined in few steps

- Convert (any_based_number) to decimal
- Perform operation on decimals
- Convert result to any_based_number

Warning! Floats currently not supported!

Info:

  • Author:

    Nightmare0

    email: seller.nightmares@gmail.com
    discord: #4993
    

Functions

to_binary (num[, accum]) Convert decimal number to binary number.
to_custom (num10, base[, alphabet[, accum]]) Convert number to custom number system.

Class.Number

new (self, _number[, _base]) constructor
asDecimal (self) Get number as decimal.
asBase (self, base) Get number in different number system.
toBase (self, _base) Convert number to another numbers system.

Class.Number.metamethods

__tostring (self) tostring
__add (self, what) Sum
__sub (self, what) Sub
__pow (self, what) Pow


Functions

to_binary (num[, accum])
Convert decimal number to binary number.

Parameters:

  • num number
  • accum table Accumulator. (optional)
to_custom (num10, base[, alphabet[, accum]])
Convert number to custom number system. By default num10 must be 10 based number only.

Parameters:

  • num10 number Decimal number to convert.
  • base number Base number convert to.
  • alphabet table Alphabet for number system. (optional)
  • accum table Accumulator. (optional)

Class.Number

new (self, _number[, _base])
constructor

Parameters:

  • self table
  • _number number Initial number value.
  • _base number Base of this number, default = 10. (optional)

Usage:

    local obj
     -- initialize number with binary value
     obj = Number(1010011, 2) -- in this case number 1010011
                              -- is decimal but represented as binary.
                              -- if you need to setup long binary number, use string.
     obj = Number("0110001000010100010101011", 2)
     -- or as hex
     obj = Number (0xff, 16)
    
     -- you can print its value, or change base of it.
     print (obj)
     obj:toBase(2) -- convert number to b internally.
     print(obj, obj:asBase(32))
    
     -- output result of arithmetics with object.
     -- arithmetic results is Number objects.
     print(obj + 2, obj *2, obj - 2)
asDecimal (self)
Get number as decimal.

Parameters:

Returns:

    number
asBase (self, base)
Get number in different number system. Function dont modifying internal number values.

Parameters:

  • self table
  • base number Base of number system convert to.
toBase (self, _base)
Convert number to another numbers system. Completely converts internal value repesentation without returning its result.

Parameters:

  • self table
  • _base number Number base.

Returns:

    table self

Class.Number.metamethods

__tostring (self)
tostring

Parameters:

  • self
__add (self, what)
Sum

Parameters:

  • self
  • what
__sub (self, what)
Sub

Parameters:

  • self
  • what
__pow (self, what)
Pow

Parameters:

  • self
  • what
generated by LDoc 1.4.3 Last updated 2017-11-08 12:31:38