Merge 3.3.
This commit is contained in:
commit
e2515e4997
|
@ -37,7 +37,7 @@ It is possible to override autodetection by exporting:
|
|||
|
||||
NOTE
|
||||
====
|
||||
|
||||
|
||||
decimal.so is not built from a static libmpdec.a since doing so led to
|
||||
failures on AIX (user report) and Windows (mixing static and dynamic CRTs
|
||||
causes locale problems and more).
|
||||
|
|
|
@ -79,7 +79,7 @@ Pointers to literature, proofs and more
|
|||
mulmod-ppro.txt -> Proof for the x87 FPU modular multiplication
|
||||
from umodarith.h.
|
||||
umodarith.lisp -> ACL2 proofs for many functions from umodarith.h.
|
||||
|
||||
|
||||
|
||||
Library Author
|
||||
==============
|
||||
|
|
|
@ -352,7 +352,7 @@ word_to_string(char *s, mpd_uint_t x, int n, char *dot)
|
|||
case 2: EXTRACT_DIGIT(s, x, 10UL, dot);
|
||||
default: if (s == dot) *s++ = '.'; *s++ = '0' + (char)x;
|
||||
}
|
||||
|
||||
|
||||
*s = '\0';
|
||||
return s;
|
||||
}
|
||||
|
@ -1059,7 +1059,7 @@ _mpd_add_sep_dot(mpd_mbstr_t *dest,
|
|||
* Not allowed, since _mpd_to_string() never returns this form:
|
||||
*
|
||||
* 3) [sign] '.' digits [exponent-part]
|
||||
*
|
||||
*
|
||||
* Input: result->data := original numeric string (ASCII)
|
||||
* result->bytes := strlen(result->data)
|
||||
* result->nchars := strlen(result->data)
|
||||
|
|
|
@ -23,7 +23,7 @@ Convolution in pseudo-code:
|
|||
y = fnt(b) # forward transform of b
|
||||
z = pairwise multiply x[i] and y[i]
|
||||
result = inv_fnt(z) # backward transform of z.
|
||||
|
||||
|
||||
|
||||
Extending the maximum transform length (Chinese Remainder Theorem):
|
||||
-------------------------------------------------------------------
|
||||
|
|
|
@ -245,7 +245,7 @@ Proof (inverse transform):
|
|||
which means that all A[k] = A[m * C + n] are in the correct order.
|
||||
|
||||
|
||||
--
|
||||
--
|
||||
|
||||
[1] Joerg Arndt: "Matters Computational"
|
||||
http://www.jjj.de/fxt/
|
||||
|
|
|
@ -251,7 +251,7 @@ Proof.
|
|||
|
||||
apply Qlt_le_trans with (y := 1).
|
||||
qreduce ((2 # 1) ^ (-62) + (2 # 1) ^ (-126)).
|
||||
|
||||
|
||||
rewrite Qlt_mult_by_z with (z := 85070591730234615865843651857942052864 # 18446744073709551617).
|
||||
ring_simplify.
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ Transform.
|
|||
|
||||
|
||||
|
||||
--
|
||||
--
|
||||
|
||||
[1] David H. Bailey: FFTs in External or Hierarchical Memory
|
||||
http://crd.lbl.gov/~dhbailey/dhbpapers/
|
||||
|
|
|
@ -321,7 +321,7 @@
|
|||
|
||||
(defthmd dw-submod-correct
|
||||
(implies (and (< 0 m) (< m base)
|
||||
(natp a) (< a m)
|
||||
(natp a) (< a m)
|
||||
(< hi base) (< lo base)
|
||||
(natp m) (natp base)
|
||||
(natp hi) (natp lo))
|
||||
|
|
|
@ -3119,7 +3119,7 @@ _mpd_qaddsub(mpd_t *result, const mpd_t *a, const mpd_t *b, uint8_t sign_b,
|
|||
* ----------XX1234 -> sdigits
|
||||
* ----------X1 -> tiny-digits
|
||||
* |- prec -|
|
||||
*
|
||||
*
|
||||
* OR
|
||||
*
|
||||
* bdigits > prec AND
|
||||
|
@ -5983,7 +5983,7 @@ finish:
|
|||
mpd_qfinalize(result, ctx, status);
|
||||
}
|
||||
|
||||
/*
|
||||
/*
|
||||
* If the exponent is infinite and base equals one, the result is one
|
||||
* with a coefficient of length prec. Otherwise, result is undefined.
|
||||
* Return the value of the comparison against one.
|
||||
|
@ -7129,7 +7129,7 @@ _mpd_base_ndivmod(mpd_t *q, mpd_t *r, const mpd_t *a, const mpd_t *b,
|
|||
goto nanresult;
|
||||
}
|
||||
|
||||
/* Let x := _mpd_qreciprocal(b, prec)
|
||||
/* Let x := _mpd_qreciprocal(b, prec)
|
||||
* Then x is bounded by:
|
||||
* 1) 1/b - 10**(-prec - bdigits) < x < 1/b + 10**(-prec - bdigits)
|
||||
* 2) 1/b - 10**(-adigits - 4) < x < 1/b + 10**(-adigits - 4)
|
||||
|
|
|
@ -93,7 +93,7 @@ ext_submod(mpd_uint_t a, mpd_uint_t b, mpd_uint_t m)
|
|||
return d;
|
||||
}
|
||||
|
||||
/*
|
||||
/*
|
||||
* Reduce double word modulo m.
|
||||
* Restrictions: m != 0
|
||||
* ACL2 proof: umodarith.lisp: section dw-reduce
|
||||
|
|
|
@ -1,32 +1,32 @@
|
|||
// ISO C9x compliant stdint.h for Microsoft Visual Studio
|
||||
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
|
||||
//
|
||||
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
|
||||
//
|
||||
// Copyright (c) 2006-2008 Alexander Chemeris
|
||||
//
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
//
|
||||
// 1. Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
//
|
||||
//
|
||||
// 2. Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
//
|
||||
// 3. The name of the author may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _MSC_VER // [
|
||||
|
@ -47,7 +47,7 @@
|
|||
// error C2733: second C linkage of overloaded function 'wmemchr' not allowed
|
||||
#if (_MSC_VER < 1300) && defined(__cplusplus)
|
||||
extern "C++" {
|
||||
#endif
|
||||
#endif
|
||||
# include <wchar.h>
|
||||
#if (_MSC_VER < 1300) && defined(__cplusplus)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue