Vim documentation: vital/Data/BigNum
main help file
vital/Data/BigNum.txt Multi precision integer library.
Maintainer: aomoriringo <sel0433 at gmail com>
==============================================================================
CONTENTS Vital.Data.BigNum-contents
INTRODUCTION Vital.Data.BigNum-introduction
INTERFACE Vital.Data.BigNum-interface
Functions Vital.Data.BigNum-functions
==============================================================================
INTRODUCTION Vital.Data.BigNum-introduction
Vital.Data.BigNum is a multi precision integer library.
It provides some functions to manipulate multi precision integer.
let s:V = vital#{plugin-name}#new()
let s:BigNum = s:V.import("Data.BigNum")
let x = s:BigNum.from_num(42)
let y = s:BigNum.from_string("12345678901")
let z = s:BigNum.add(x, y)
echo s:BigNum.to_string(z)
" 12345678943
let z = s:BigNum.mul(y, 9753)
echo s:BigNum.to_string(z)
" 120407406321453
let [div, mod] = s:BigNum.div_mod(y, "112233")
echo s:BigNum.to_string(div)
" 110000
echo s:BigNum.to_string(mod)
" 48901
==============================================================================
INTERFACE Vital.Data.BigNum-interface
------------------------------------------------------------------------------
FUNCTIONS Vital.Data.BigNum-functions
from_num({number}) Vital.Data.BigNum.from_num()
Return a new 'BigNum' object from {number}.
from_string({str}) Vital.Data.BigNum.from_string()
Return a new 'BigNum' object from {str}.
to_string({bignum}) Vital.Data.BigNum.to_string()
Return a string from {bignum}.
compare({elem1}, {elem2}) Vital.Data.BigNum.compare()
Compares as signed integer. Returns -1, 0, or 1.
add({elem1}, {elem2}) Vital.Data.BigNum.add()
Return {elem1} + {elem2}, for {elem1} and {elem2} Number, String or
BigNum.
sub({elem1}, {elem2}) Vital.Data.BigNum.sub()
Return {elem1} - {elem2}.
mul({elem1}, {elem2}) Vital.Data.BigNum.mul()
Return {elem1} * {elem2}.
div({elem1}, {elem2}) Vital.Data.BigNum.div()
Return {elem1} / {elem2}.
mod({elem1}, {elem2}) Vital.Data.BigNum.mod()
Return {elem1} % {elem2}.
div_mod({elem1}, {elem2}) Vital.Data.BigNum.divmod()
Return [Div(), Mod()].
sign({elem}) Vital.Data.BigNum.sign()
Return sign of {elem} as -1, 0, or 1.
neg({elem}) Vital.Data.BigNum.neg()
Return {elem} negated (-{elem}).
==============================================================================
vim:tw=78:fo=tcq2mM:ts=8:ft=help:norl
top - main help file - tag index