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