summaryrefslogtreecommitdiff
path: root/sys/src/libmp
AgeCommit message (Collapse)Author
2016-09-01mptrunc: don't write to r->p[r->top]aiju
2016-08-29libmp: remove unused mpeuclid.ccinap_lenrek
2016-08-29libmp: allow passing nil to v,x,y results of mpextendedgcd(), simplify ↵cinap_lenrek
mpinvert()
2016-08-29libmp: mpnrand(), what was i *THINKING*cinap_lenrek
the prior implementation was unneccesarily complicated for no good reason due to me misunderstanding how libc's nrand() works. in contrast to libc, we already generate the *closest* power-of-2 random number with mprand() in the sampling loop.
2016-08-28libmp: mpdiv(): fix divisor==quotient case (again)cinap_lenrek
2016-08-28libmp: timingsafe sign flip for small power-of-two negative divisor for mpdiv()cinap_lenrek
2016-08-28mpdiv: negative divisor has to flip sign of quotientaiju
2016-08-28mp: fix mptov and mptouvaiju
2016-08-28mp: fix mpnot and add mpasraiju
2016-08-28strtomp: update the returned char* even if there were no characters parsedaiju
2016-08-28strtomp: fix mpbits() call in octal codeaiju
2016-08-08mptrunc: normalize after mpassign to handle the case b==raiju
2016-05-04retire the dec alpha portcinap_lenrek
2016-04-10libmp: fix build for spim, reduce by the mips assembly filescinap_lenrek
2016-04-10libmp: make includes consistent, make test program compile under ape (work ↵cinap_lenrek
in progress)
2016-02-05libmp: remove include of libsec.hmischief
2016-02-04libmp: handle out of memory case in gmfield()cinap_lenrek
2016-01-06libmp: silence compiler warning for strtompcinap_lenrek
2016-01-04libmp: check nil return value of strtomp() in test programcinap_lenrek
2016-01-04libmp: mistake in strtomp()cinap_lenrek
2016-01-03libmp: support for c-style base prefixes for strtomp(), octal supportcinap_lenrek
2015-12-20mpfmt: handle base 2, 4aiju
2015-12-16libmp: add mpfield() function for fast field arithmeticcinap_lenrek
instead of testing for special field primes each time in mpmod(), make it explicit with a mpfiled() function that tests a modulus N to be of some special form that can be reduced more efficiently with some precalculation, and replaces N with a Mfield* when it can. the Mfield*'s are recognized by mpmod() as they have the MPfield flag set and provide a function pointer that executes the fast reduction.
2015-12-08mp: strtomp support for bases 2,4,8aiju
2015-12-08mp: fix bug in mplogic.c; update mkfileaiju
2015-12-08mp: add logic operations; mpfmt: include 0x with #aiju
2015-12-06libmp: fix assert() for mpexp() with nil moduluscinap_lenrek
2015-12-06libmp: fix wrong move instruction for arm vector operationscinap_lenrek
2015-12-01libmp: mpmod() fix typocinap_lenrek
2015-12-01libmp: with mpmod() m = 2^a - c ensure that digits(c) < digits(m)cinap_lenrek
2015-11-21libmp: initial attempt at constant time code, faster reductions for special ↵cinap_lenrek
primes (for ecc) introduce MPtimesafe flag to request time invariant computation disables normalization so significant digits are not leaked.
2015-11-20libmp: fix test programcinap_lenrek
2015-11-20libmp: add mpvecadd()/mpvecsub() assembly versions for armcinap_lenrek
2015-11-20libmp: 386/amd64 mpvec*(): replace conditional branches with ADC/SBB ↵cinap_lenrek
instructions
2015-11-01libmp: optimize case x/0xffffffff in mpdigdiv() (helps arm)cinap_lenrek
2015-11-01libmp: add mpvecdigmuladd()/mpvecdigmulsub() assembly routines for armcinap_lenrek
2015-08-26libmp: simplify mpnrand(), as mpnew() cannot return nilcinap_lenrek
2015-08-25libmp: add mpnrand() function to generate uniform random number 0 ≤ x < ncinap_lenrek
2015-08-08libmp: fix build for objtype=spimcinap_lenrek
2015-08-08fix library mkfiles for objtype=spimcinap_lenrek
2015-03-25mpdigdiv.s: aaaaand its gone!cinap_lenrek
2015-03-25libmp: use portable mpdigdiv routines for mips (causes invalid instruction ↵cinap_lenrek
trap on indy)
2014-02-01libc and ape support for amd64cinap_lenrek
2011-03-30Import sources from 2011-03-30 iso image - libTaru Karttunen
2011-03-30Import sources from 2011-03-30 iso imageTaru Karttunen