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 @@ - -
- -![]() |
-Home | -Libraries | -People | -FAQ | -More | -
- 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);
).
-
- 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). -
-- 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. -
-long double epsilon
.
- ![]() |
-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 |
- 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. -
-- 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.
-
- 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.
-
- 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. -
-- Big Number - which is a reworking of e_float - by Christopher Kormanyos to use expression templates for faster execution. -
-- 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 | -
---|---|
- The precision of all |
- New projects should use Boost.Multiprecision. -
-- 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 - have also been used to compute constants, but are licensed under the Lesser GPL license and - are not licensed for commercial use. -
-
- 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. -
-- 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. -
-- Not here in this Boost.Math collection, because physical constants: -
-- Some physical constants may be available in Boost.Units. -
-- | - |