diff --git a/libs/beast/test/extern/zlib-1.2.11/contrib/ada/zlib.ads b/libs/beast/test/extern/zlib-1.2.11/contrib/ada/zlib.ads deleted file mode 100644 index 79ffc4095cf46f90a30334466637b4df61dfaa5b..0000000000000000000000000000000000000000 --- a/libs/beast/test/extern/zlib-1.2.11/contrib/ada/zlib.ads +++ /dev/null @@ -1,328 +0,0 @@ ------------------------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2004 Dmitriy Anisimkov -- --- -- --- This library is free software; you can redistribute it and/or modify -- --- it under the terms of the GNU General Public License as published by -- --- the Free Software Foundation; either version 2 of the License, or (at -- --- your option) any later version. -- --- -- --- This library is distributed in the hope that it will be useful, but -- --- WITHOUT ANY WARRANTY; without even the implied warranty of -- --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- --- General Public License for more details. -- --- -- --- You should have received a copy of the GNU General Public License -- --- along with this library; if not, write to the Free Software Foundation, -- --- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- --- -- --- As a special exception, if other files instantiate generics from this -- --- unit, or you link this unit with other files to produce an executable, -- --- this unit does not by itself cause the resulting executable to be -- --- covered by the GNU General Public License. This exception does not -- --- however invalidate any other reasons why the executable file might be -- --- covered by the GNU Public License. -- ------------------------------------------------------------------------------- - --- $Id: zlib.ads,v 1.26 2004/09/06 06:53:19 vagul Exp $ - -with Ada.Streams; - -with Interfaces; - -package ZLib is - - ZLib_Error : exception; - Status_Error : exception; - - type Compression_Level is new Integer range -1 .. 9; - - type Flush_Mode is private; - - type Compression_Method is private; - - type Window_Bits_Type is new Integer range 8 .. 15; - - type Memory_Level_Type is new Integer range 1 .. 9; - - type Unsigned_32 is new Interfaces.Unsigned_32; - - type Strategy_Type is private; - - type Header_Type is (None, Auto, Default, GZip); - -- Header type usage have a some limitation for inflate. - -- See comment for Inflate_Init. - - subtype Count is Ada.Streams.Stream_Element_Count; - - Default_Memory_Level : constant Memory_Level_Type := 8; - Default_Window_Bits : constant Window_Bits_Type := 15; - - ---------------------------------- - -- Compression method constants -- - ---------------------------------- - - Deflated : constant Compression_Method; - -- Only one method allowed in this ZLib version - - --------------------------------- - -- Compression level constants -- - --------------------------------- - - No_Compression : constant Compression_Level := 0; - Best_Speed : constant Compression_Level := 1; - Best_Compression : constant Compression_Level := 9; - Default_Compression : constant Compression_Level := -1; - - -------------------------- - -- Flush mode constants -- - -------------------------- - - No_Flush : constant Flush_Mode; - -- Regular way for compression, no flush - - Partial_Flush : constant Flush_Mode; - -- Will be removed, use Z_SYNC_FLUSH instead - - Sync_Flush : constant Flush_Mode; - -- All pending output is flushed to the output buffer and the output - -- is aligned on a byte boundary, so that the decompressor can get all - -- input data available so far. (In particular avail_in is zero after the - -- call if enough output space has been provided before the call.) - -- Flushing may degrade compression for some compression algorithms and so - -- it should be used only when necessary. - - Block_Flush : constant Flush_Mode; - -- Z_BLOCK requests that inflate() stop - -- if and when it get to the next deflate block boundary. When decoding the - -- zlib or gzip format, this will cause inflate() to return immediately - -- after the header and before the first block. When doing a raw inflate, - -- inflate() will go ahead and process the first block, and will return - -- when it gets to the end of that block, or when it runs out of data. - - Full_Flush : constant Flush_Mode; - -- All output is flushed as with SYNC_FLUSH, and the compression state - -- is reset so that decompression can restart from this point if previous - -- compressed data has been damaged or if random access is desired. Using - -- Full_Flush too often can seriously degrade the compression. - - Finish : constant Flush_Mode; - -- Just for tell the compressor that input data is complete. - - ------------------------------------ - -- Compression strategy constants -- - ------------------------------------ - - -- RLE stategy could be used only in version 1.2.0 and later. - - Filtered : constant Strategy_Type; - Huffman_Only : constant Strategy_Type; - RLE : constant Strategy_Type; - Default_Strategy : constant Strategy_Type; - - Default_Buffer_Size : constant := 4096; - - type Filter_Type is tagged limited private; - -- The filter is for compression and for decompression. - -- The usage of the type is depend of its initialization. - - function Version return String; - pragma Inline (Version); - -- Return string representation of the ZLib version. - - procedure Deflate_Init - (Filter : in out Filter_Type; - Level : in Compression_Level := Default_Compression; - Strategy : in Strategy_Type := Default_Strategy; - Method : in Compression_Method := Deflated; - Window_Bits : in Window_Bits_Type := Default_Window_Bits; - Memory_Level : in Memory_Level_Type := Default_Memory_Level; - Header : in Header_Type := Default); - -- Compressor initialization. - -- When Header parameter is Auto or Default, then default zlib header - -- would be provided for compressed data. - -- When Header is GZip, then gzip header would be set instead of - -- default header. - -- When Header is None, no header would be set for compressed data. - - procedure Inflate_Init - (Filter : in out Filter_Type; - Window_Bits : in Window_Bits_Type := Default_Window_Bits; - Header : in Header_Type := Default); - -- Decompressor initialization. - -- Default header type mean that ZLib default header is expecting in the - -- input compressed stream. - -- Header type None mean that no header is expecting in the input stream. - -- GZip header type mean that GZip header is expecting in the - -- input compressed stream. - -- Auto header type mean that header type (GZip or Native) would be - -- detected automatically in the input stream. - -- Note that header types parameter values None, GZip and Auto are - -- supported for inflate routine only in ZLib versions 1.2.0.2 and later. - -- Deflate_Init is supporting all header types. - - function Is_Open (Filter : in Filter_Type) return Boolean; - pragma Inline (Is_Open); - -- Is the filter opened for compression or decompression. - - procedure Close - (Filter : in out Filter_Type; - Ignore_Error : in Boolean := False); - -- Closing the compression or decompressor. - -- If stream is closing before the complete and Ignore_Error is False, - -- The exception would be raised. - - generic - with procedure Data_In - (Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset); - with procedure Data_Out - (Item : in Ada.Streams.Stream_Element_Array); - procedure Generic_Translate - (Filter : in out Filter_Type; - In_Buffer_Size : in Integer := Default_Buffer_Size; - Out_Buffer_Size : in Integer := Default_Buffer_Size); - -- Compress/decompress data fetch from Data_In routine and pass the result - -- to the Data_Out routine. User should provide Data_In and Data_Out - -- for compression/decompression data flow. - -- Compression or decompression depend on Filter initialization. - - function Total_In (Filter : in Filter_Type) return Count; - pragma Inline (Total_In); - -- Returns total number of input bytes read so far - - function Total_Out (Filter : in Filter_Type) return Count; - pragma Inline (Total_Out); - -- Returns total number of bytes output so far - - function CRC32 - (CRC : in Unsigned_32; - Data : in Ada.Streams.Stream_Element_Array) - return Unsigned_32; - pragma Inline (CRC32); - -- Compute CRC32, it could be necessary for make gzip format - - procedure CRC32 - (CRC : in out Unsigned_32; - Data : in Ada.Streams.Stream_Element_Array); - pragma Inline (CRC32); - -- Compute CRC32, it could be necessary for make gzip format - - ------------------------------------------------- - -- Below is more complex low level routines. -- - ------------------------------------------------- - - procedure Translate - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode); - -- Compress/decompress the In_Data buffer and place the result into - -- Out_Data. In_Last is the index of last element from In_Data accepted by - -- the Filter. Out_Last is the last element of the received data from - -- Filter. To tell the filter that incoming data are complete put the - -- Flush parameter to Finish. - - function Stream_End (Filter : in Filter_Type) return Boolean; - pragma Inline (Stream_End); - -- Return the true when the stream is complete. - - procedure Flush - (Filter : in out Filter_Type; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode); - pragma Inline (Flush); - -- Flushing the data from the compressor. - - generic - with procedure Write - (Item : in Ada.Streams.Stream_Element_Array); - -- User should provide this routine for accept - -- compressed/decompressed data. - - Buffer_Size : in Ada.Streams.Stream_Element_Offset - := Default_Buffer_Size; - -- Buffer size for Write user routine. - - procedure Write - (Filter : in out Filter_Type; - Item : in Ada.Streams.Stream_Element_Array; - Flush : in Flush_Mode := No_Flush); - -- Compress/Decompress data from Item to the generic parameter procedure - -- Write. Output buffer size could be set in Buffer_Size generic parameter. - - generic - with procedure Read - (Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset); - -- User should provide data for compression/decompression - -- thru this routine. - - Buffer : in out Ada.Streams.Stream_Element_Array; - -- Buffer for keep remaining data from the previous - -- back read. - - Rest_First, Rest_Last : in out Ada.Streams.Stream_Element_Offset; - -- Rest_First have to be initialized to Buffer'Last + 1 - -- Rest_Last have to be initialized to Buffer'Last - -- before usage. - - Allow_Read_Some : in Boolean := False; - -- Is it allowed to return Last < Item'Last before end of data. - - procedure Read - (Filter : in out Filter_Type; - Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode := No_Flush); - -- Compress/Decompress data from generic parameter procedure Read to the - -- Item. User should provide Buffer and initialized Rest_First, Rest_Last - -- indicators. If Allow_Read_Some is True, Read routines could return - -- Last < Item'Last only at end of stream. - -private - - use Ada.Streams; - - pragma Assert (Ada.Streams.Stream_Element'Size = 8); - pragma Assert (Ada.Streams.Stream_Element'Modulus = 2**8); - - type Flush_Mode is new Integer range 0 .. 5; - - type Compression_Method is new Integer range 8 .. 8; - - type Strategy_Type is new Integer range 0 .. 3; - - No_Flush : constant Flush_Mode := 0; - Partial_Flush : constant Flush_Mode := 1; - Sync_Flush : constant Flush_Mode := 2; - Full_Flush : constant Flush_Mode := 3; - Finish : constant Flush_Mode := 4; - Block_Flush : constant Flush_Mode := 5; - - Filtered : constant Strategy_Type := 1; - Huffman_Only : constant Strategy_Type := 2; - RLE : constant Strategy_Type := 3; - Default_Strategy : constant Strategy_Type := 0; - - Deflated : constant Compression_Method := 8; - - type Z_Stream; - - type Z_Stream_Access is access all Z_Stream; - - type Filter_Type is tagged limited record - Strm : Z_Stream_Access; - Compression : Boolean; - Stream_End : Boolean; - Header : Header_Type; - CRC : Unsigned_32; - Offset : Stream_Element_Offset; - -- Offset for gzip header/footer output. - end record; - -end ZLib; diff --git a/libs/math/doc/html/math_toolkit/constants_faq.html b/libs/math/doc/html/math_toolkit/constants_faq.html deleted file mode 100755 index 0f889ae49b379839c5ed6763ce9c3b035cf53404..0000000000000000000000000000000000000000 --- a/libs/math/doc/html/math_toolkit/constants_faq.html +++ /dev/null @@ -1,485 +0,0 @@ - - - -Math Constants FAQs - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
-

-Math Constants FAQs -

-
- - Why are - these Constants Chosen? -
-

- It is, of course, impossible to please everyone with a list like this. -

-

- Some of the criteria we have used are: -

-
-

- (You can easily define your own if found convenient, for example: FPT one =static_cast<FPT>(42);). -

-
- - How - are constants named? -
-
-
- - How are - the constants derived? -
-

- The constants have all been calculated using high-precision software working - with up to 300-bit precision giving about 100 decimal digits. (The precision - can be arbitrarily chosen and is limited only by compute time). -

-
- - How Accurate - are the constants? -
-

- The minimum accuracy chosen (100 decimal digits) exceeds the accuracy of reasonably-foreseeable - floating-point hardware (256-bit) and should meet most high-precision computations. -

-
- - How are the - constants tested? -
-
    -
  1. - Comparison using Boost.Test BOOST_CHECK_CLOSE_FRACTION using long double - literals, with at least 35 decimal digits, enough to be accurate for all - long double implementations. The tolerance is usually twice long double epsilon. -
  2. -
  3. - Comparison with calculation at long double precision. This often requires - a slightly higher tolerance than two epsilon because of computational noise - from round-off etc, especially when trig and other functions are called. -
  4. -
  5. - Comparison with independent published values, for example, using The On-Line Encyclopedia of Integer Sequences (OEIS) - again using at least 35 decimal digits strings. -
  6. -
  7. - Comparison with independently calculated values using arbitrary precision - tools like Mathematica, - again using at least 35 decimal digits literal strings. -
  8. -
-
- - - - - -
[Warning]Warning

- We have not yet been able to check that - all constants are accurate at the full arbitrary - precision, at present 100 decimal digits. But certain key values like e and pi - appear to be accurate and internal consistencies suggest that others are - this accurate too. -

-
- - Why is Portability - important? -
-

- Code written using math constants is easily portable even when using different - floating-point types with differing precision. -

-

- It is a mistake to expect that results of computations will be identical, - but you can achieve the best accuracy possible for the - floating-point type in use. -

-

- This has no extra cost to the user, but reduces irritating, and often confusing - and very hard-to-trace effects, caused by the intrinsically limited precision - of floating-point calculations. -

-

- A harmless symptom of this limit is a spurious least-significant digit; at - worst, slightly inaccurate constants sometimes cause iterating algorithms to - diverge wildly because internal comparisons just fail. -

-
- - What - is the Internal Format of the constants, and why? -
-

- See tutorial above for normal - use, but this FAQ explains the internal details used for the constants. -

-

- Constants are stored as 100 decimal digit values. However, some compilers do - not accept decimal digits strings as long as this. So the constant is split - into two parts, with the first containing at least 128-bit long double precision - (35 decimal digits), and for consistency should be in scientific format with - a signed exponent. -

-

- The second part is the value of the constant expressed as a string literal, - accurate to at least 100 decimal digits (in practice that means at least 102 - digits). Again for consistency use scientific format with a signed exponent. -

-

- For types with precision greater than a long double, then if T is constructible - T is constructible from a - const char* then it's directly constructed from the string, - otherwise we fall back on lexical_cast to convert to type T. - (Using a string is necessary because you can't use a numeric constant since - even a long double - might not have enough digits). -

-

- So, for example, a constant like pi is internally defined as -

-
BOOST_DEFINE_MATH_CONSTANT(pi, 3.141592653589793238462643383279502884e+00, "3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00");
-
-

- In this case the significand is 109 decimal digits, ensuring 100 decimal digits - are exact, and exponent is zero. -

-

- See defining new constants to - calculate new constants. -

-

- A macro definition like this can be pasted into user code where convenient, - or into boost/math/constants.hpp if it - is to be added to the Boost.Math library. -

-
- - What - Floating-point Types could I use? -
-

- Apart from the built-in floating-point types float, - double, long - double, there are several arbitrary - precision floating-point classes available, but most are not licensed for commercial - use. -

-
- - Boost.Multiprecision - by Christopher Kormanyos -
-

- This work is based on an earlier work called e-float: Algorithm 910: A Portable - C++ Multiple-Precision System for Special-Function Calculations, in ACM TOMS, - {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469 - e_float - but is now re-factored and available under the Boost license in the Boost-sandbox - at multiprecision - where it is being refined and prepared for review. -

-
- - Boost.cpp_float - by John Maddock using Expression Templates -
-

- Big Number - which is a reworking of e_float - by Christopher Kormanyos to use expression templates for faster execution. -

-
- - NTL - class quad_float -
-

- NTL by Victor Shoup has fixed and - arbitrary high precision fixed and floating-point types. However none of these - are licenced for commercial use. -

-
#include <NTL/quad_float.h> // quad precision 106-bit, about 32 decimal digits.
-using NTL::to_quad_float; // Less precise than arbitrary precision NTL::RR.
-
-

- NTL class quad_float, which - gives a form of quadruple precision, 106-bit significand (but without an extended - exponent range.) With an IEC559/IEEE 754 compatible processor, for example - Intel X86 family, with 64-bit double, and 53-bit significand, using the significands - of two 64-bit doubles, if std::numeric_limits<double>::digits10 is 16, then we get about twice the - precision, so std::numeric_limits<quad_float>::digits10() - should be 32. (the default std::numeric_limits<RR>::digits10() - should be about 40). (which seems to agree with experiments). We output constants - (including some noisy bits, an approximation to std::numeric_limits<RR>::max_digits10()) - by adding 2 or 3 extra decimal digits, so using quad_float::SetOutputPrecision(32 + - 3); -

-

- Apple Mac/Darwin uses a similar doubledouble 106-bit for - its built-in long double - type. -

-
- - - - - -
[Note]Note

- The precision of all doubledouble - floating-point types is rather odd and values given are only approximate. -

-

- New projects should use Boost.Multiprecision. -

-
- - NTL - class RR -
-

- Arbitrary precision floating point with NTL class RR, default is 150 bit (about - 50 decimal digits) used here with 300 bit to output 100 decimal digits, enough - for many practical non-'number-theoretic' C++ applications. -

-

- NTL A Library for doing Number Theory - is not licenced for commercial use. -

-

- This class is used in Boost.Math and is an option when using big_number projects - to calculate new math constants. -

-

- New projects should use Boost.Multiprecision. -

-
- - GMP - and MPFR -
-

- GMP and MPFR - have also been used to compute constants, but are licensed under the Lesser GPL license and - are not licensed for commercial use. -

-
- - What - happened to a previous collection of constants proposed for Boost? -
-

- A review concluded that the way in which the constants were presented did not - meet many peoples needs. None of the methods proposed met many users' essential - requirement to allow writing simply pi - rather than pi(). - Many science and engineering equations look difficult to read when because - function call brackets can be confused with the many other brackets often needed. - All the methods then proposed of avoiding the brackets failed to meet all needs, - often on grounds of complexity and lack of applicability to various realistic - scenarios. -

-

- So the simple namespace method, proposed on its own, but rejected at the first - review, has been added to allow users to have convenient access to float, double - and long double values, but combined with template struct and functions to - allow simultaneous use with other non-built-in floating-point types. -

-
- - Why do - the constants (internally) have a struct rather than a simple function? -
-

- A function mechanism was provided by in previous versions of Boost.Math. -

-

- The new mechanism is to permit partial specialization. See Custom Specializing - a constant above. It should also allow use with other packages like ttmath Bignum C++ library. -

-
- - Where - can I find other high precision constants? -
-
    -
  1. - Constants with very high precision and good accuracy (>40 decimal digits) - from Simon Plouffe's web based collection http://pi.lacim.uqam.ca/eng/. -
  2. -
  3. - The On-Line Encyclopedia of Integer Sequences - (OEIS) -
  4. -
  5. - Checks using printed text optically scanned values and converted from: - D. E. Knuth, Art of Computer Programming, Appendix A, Table 1, Vol 1, ISBN - 0 201 89683 4 (1997) -
  6. -
  7. - M. Abrahamovitz & I. E. Stegun, National Bureau of Standards, Handbook - of Mathematical Functions, a reference source for formulae now superseded - by -
  8. -
  9. - Frank W. Olver, Daniel W. Lozier, Ronald F. Boisvert, Charles W. Clark, - NIST Handbook of Mathematical Functions, Cambridge University Press, ISBN - 978-0-521-14063-8, 2010. -
  10. -
  11. - John F Hart, Computer Approximations, Kreiger (1978) ISBN 0 88275 642 7. -
  12. -
  13. - Some values from Cephes Mathematical Library, Stephen L. Moshier and CALC100 - 100 decimal digit Complex Variable Calculator Program, a DOS utility. -
  14. -
  15. - Xavier Gourdon, Pascal Sebah, 50 decimal digits constants at Number, - constants and computation. -
  16. -
-
- - Where are - Physical Constants? -
-

- Not here in this Boost.Math collection, because physical constants: -

-
-

- Some physical constants may be available in Boost.Units. -

-
- - - -
-
-
-PrevUpHomeNext -
- -