mirror of
https://gitee.com/BDWare/agent-backend
synced 2025-01-10 18:04:13 +00:00
6545 lines
312 KiB
Plaintext
6545 lines
312 KiB
Plaintext
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR third_party/hadoop/LICENSE.txt
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
Apache License
|
|||
|
Version 2.0, January 2004
|
|||
|
http://www.apache.org/licenses/
|
|||
|
|
|||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|||
|
|
|||
|
1. Definitions.
|
|||
|
|
|||
|
"License" shall mean the terms and conditions for use, reproduction,
|
|||
|
and distribution as defined by Sections 1 through 9 of this document.
|
|||
|
|
|||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
|||
|
the copyright owner that is granting the License.
|
|||
|
|
|||
|
"Legal Entity" shall mean the union of the acting entity and all
|
|||
|
other entities that control, are controlled by, or are under common
|
|||
|
control with that entity. For the purposes of this definition,
|
|||
|
"control" means (i) the power, direct or indirect, to cause the
|
|||
|
direction or management of such entity, whether by contract or
|
|||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|||
|
|
|||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
|||
|
exercising permissions granted by this License.
|
|||
|
|
|||
|
"Source" form shall mean the preferred form for making modifications,
|
|||
|
including but not limited to software source code, documentation
|
|||
|
source, and configuration files.
|
|||
|
|
|||
|
"Object" form shall mean any form resulting from mechanical
|
|||
|
transformation or translation of a Source form, including but
|
|||
|
not limited to compiled object code, generated documentation,
|
|||
|
and conversions to other media types.
|
|||
|
|
|||
|
"Work" shall mean the work of authorship, whether in Source or
|
|||
|
Object form, made available under the License, as indicated by a
|
|||
|
copyright notice that is included in or attached to the work
|
|||
|
(an example is provided in the Appendix below).
|
|||
|
|
|||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
|||
|
form, that is based on (or derived from) the Work and for which the
|
|||
|
editorial revisions, annotations, elaborations, or other modifications
|
|||
|
represent, as a whole, an original work of authorship. For the purposes
|
|||
|
of this License, Derivative Works shall not include works that remain
|
|||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
|||
|
the Work and Derivative Works thereof.
|
|||
|
|
|||
|
"Contribution" shall mean any work of authorship, including
|
|||
|
the original version of the Work and any modifications or additions
|
|||
|
to that Work or Derivative Works thereof, that is intentionally
|
|||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
|||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
|||
|
the copyright owner. For the purposes of this definition, "submitted"
|
|||
|
means any form of electronic, verbal, or written communication sent
|
|||
|
to the Licensor or its representatives, including but not limited to
|
|||
|
communication on electronic mailing lists, source code control systems,
|
|||
|
and issue tracking systems that are managed by, or on behalf of, the
|
|||
|
Licensor for the purpose of discussing and improving the Work, but
|
|||
|
excluding communication that is conspicuously marked or otherwise
|
|||
|
designated in writing by the copyright owner as "Not a Contribution."
|
|||
|
|
|||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|||
|
on behalf of whom a Contribution has been received by Licensor and
|
|||
|
subsequently incorporated within the Work.
|
|||
|
|
|||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
|||
|
this License, each Contributor hereby grants to You a perpetual,
|
|||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|||
|
copyright license to reproduce, prepare Derivative Works of,
|
|||
|
publicly display, publicly perform, sublicense, and distribute the
|
|||
|
Work and such Derivative Works in Source or Object form.
|
|||
|
|
|||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
|||
|
this License, each Contributor hereby grants to You a perpetual,
|
|||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|||
|
(except as stated in this section) patent license to make, have made,
|
|||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|||
|
where such license applies only to those patent claims licensable
|
|||
|
by such Contributor that are necessarily infringed by their
|
|||
|
Contribution(s) alone or by combination of their Contribution(s)
|
|||
|
with the Work to which such Contribution(s) was submitted. If You
|
|||
|
institute patent litigation against any entity (including a
|
|||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|||
|
or a Contribution incorporated within the Work constitutes direct
|
|||
|
or contributory patent infringement, then any patent licenses
|
|||
|
granted to You under this License for that Work shall terminate
|
|||
|
as of the date such litigation is filed.
|
|||
|
|
|||
|
4. Redistribution. You may reproduce and distribute copies of the
|
|||
|
Work or Derivative Works thereof in any medium, with or without
|
|||
|
modifications, and in Source or Object form, provided that You
|
|||
|
meet the following conditions:
|
|||
|
|
|||
|
(a) You must give any other recipients of the Work or
|
|||
|
Derivative Works a copy of this License; and
|
|||
|
|
|||
|
(b) You must cause any modified files to carry prominent notices
|
|||
|
stating that You changed the files; and
|
|||
|
|
|||
|
(c) You must retain, in the Source form of any Derivative Works
|
|||
|
that You distribute, all copyright, patent, trademark, and
|
|||
|
attribution notices from the Source form of the Work,
|
|||
|
excluding those notices that do not pertain to any part of
|
|||
|
the Derivative Works; and
|
|||
|
|
|||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
|||
|
distribution, then any Derivative Works that You distribute must
|
|||
|
include a readable copy of the attribution notices contained
|
|||
|
within such NOTICE file, excluding those notices that do not
|
|||
|
pertain to any part of the Derivative Works, in at least one
|
|||
|
of the following places: within a NOTICE text file distributed
|
|||
|
as part of the Derivative Works; within the Source form or
|
|||
|
documentation, if provided along with the Derivative Works; or,
|
|||
|
within a display generated by the Derivative Works, if and
|
|||
|
wherever such third-party notices normally appear. The contents
|
|||
|
of the NOTICE file are for informational purposes only and
|
|||
|
do not modify the License. You may add Your own attribution
|
|||
|
notices within Derivative Works that You distribute, alongside
|
|||
|
or as an addendum to the NOTICE text from the Work, provided
|
|||
|
that such additional attribution notices cannot be construed
|
|||
|
as modifying the License.
|
|||
|
|
|||
|
You may add Your own copyright statement to Your modifications and
|
|||
|
may provide additional or different license terms and conditions
|
|||
|
for use, reproduction, or distribution of Your modifications, or
|
|||
|
for any such Derivative Works as a whole, provided Your use,
|
|||
|
reproduction, and distribution of the Work otherwise complies with
|
|||
|
the conditions stated in this License.
|
|||
|
|
|||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|||
|
any Contribution intentionally submitted for inclusion in the Work
|
|||
|
by You to the Licensor shall be under the terms and conditions of
|
|||
|
this License, without any additional terms or conditions.
|
|||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
|||
|
the terms of any separate license agreement you may have executed
|
|||
|
with Licensor regarding such Contributions.
|
|||
|
|
|||
|
6. Trademarks. This License does not grant permission to use the trade
|
|||
|
names, trademarks, service marks, or product names of the Licensor,
|
|||
|
except as required for reasonable and customary use in describing the
|
|||
|
origin of the Work and reproducing the content of the NOTICE file.
|
|||
|
|
|||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
|||
|
agreed to in writing, Licensor provides the Work (and each
|
|||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|||
|
implied, including, without limitation, any warranties or conditions
|
|||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|||
|
appropriateness of using or redistributing the Work and assume any
|
|||
|
risks associated with Your exercise of permissions under this License.
|
|||
|
|
|||
|
8. Limitation of Liability. In no event and under no legal theory,
|
|||
|
whether in tort (including negligence), contract, or otherwise,
|
|||
|
unless required by applicable law (such as deliberate and grossly
|
|||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
|||
|
liable to You for damages, including any direct, indirect, special,
|
|||
|
incidental, or consequential damages of any character arising as a
|
|||
|
result of this License or out of the use or inability to use the
|
|||
|
Work (including but not limited to damages for loss of goodwill,
|
|||
|
work stoppage, computer failure or malfunction, or any and all
|
|||
|
other commercial damages or losses), even if such Contributor
|
|||
|
has been advised of the possibility of such damages.
|
|||
|
|
|||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
|||
|
the Work or Derivative Works thereof, You may choose to offer,
|
|||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
|||
|
or other liability obligations and/or rights consistent with this
|
|||
|
License. However, in accepting such obligations, You may act only
|
|||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
|||
|
of any other Contributor, and only if You agree to indemnify,
|
|||
|
defend, and hold each Contributor harmless for any liability
|
|||
|
incurred by, or claims asserted against, such Contributor by reason
|
|||
|
of your accepting any such warranty or additional liability.
|
|||
|
|
|||
|
END OF TERMS AND CONDITIONS
|
|||
|
|
|||
|
APPENDIX: How to apply the Apache License to your work.
|
|||
|
|
|||
|
To apply the Apache License to your work, attach the following
|
|||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
|||
|
replaced with your own identifying information. (Don't include
|
|||
|
the brackets!) The text should be enclosed in the appropriate
|
|||
|
comment syntax for the file format. We also recommend that a
|
|||
|
file or class name and description of purpose be included on the
|
|||
|
same "printed page" as the copyright notice for easier
|
|||
|
identification within third-party archives.
|
|||
|
|
|||
|
Copyright [yyyy] [name of copyright owner]
|
|||
|
|
|||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|||
|
you may not use this file except in compliance with the License.
|
|||
|
You may obtain a copy of the License at
|
|||
|
|
|||
|
http://www.apache.org/licenses/LICENSE-2.0
|
|||
|
|
|||
|
Unless required by applicable law or agreed to in writing, software
|
|||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
|
See the License for the specific language governing permissions and
|
|||
|
limitations under the License.
|
|||
|
|
|||
|
|
|||
|
APACHE HADOOP SUBCOMPONENTS:
|
|||
|
|
|||
|
The Apache Hadoop project contains subcomponents with separate copyright
|
|||
|
notices and license terms. Your use of the source code for the these
|
|||
|
subcomponents is subject to the terms and conditions of the following
|
|||
|
licenses.
|
|||
|
|
|||
|
For the org.apache.hadoop.util.bloom.* classes:
|
|||
|
|
|||
|
/**
|
|||
|
*
|
|||
|
* Copyright (c) 2005, European Commission project OneLab under contract
|
|||
|
* 034819 (http://www.one-lab.org)
|
|||
|
* All rights reserved.
|
|||
|
* Redistribution and use in source and binary forms, with or
|
|||
|
* without modification, are permitted provided that the following
|
|||
|
* conditions are met:
|
|||
|
* - Redistributions of source code must retain the above copyright
|
|||
|
* notice, this list of conditions and the following disclaimer.
|
|||
|
* - 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.
|
|||
|
* - Neither the name of the University Catholique de Louvain - UCL
|
|||
|
* nor the names of its contributors may be used to endorse or
|
|||
|
* promote products derived from this software without specific prior
|
|||
|
* written permission.
|
|||
|
*
|
|||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|||
|
* "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
|
|||
|
* COPYRIGHT OWNER OR CONTRIBUTORS 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, 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.
|
|||
|
*/
|
|||
|
|
|||
|
For portions of the native implementation of slicing-by-8 CRC calculation
|
|||
|
in src/main/native/src/org/apache/hadoop/util:
|
|||
|
|
|||
|
/**
|
|||
|
* Copyright 2008,2009,2010 Massachusetts Institute of Technology.
|
|||
|
* All rights reserved. Use of this source code is governed by a
|
|||
|
* BSD-style license that can be found in the LICENSE file.
|
|||
|
*/
|
|||
|
|
|||
|
For src/main/native/src/org/apache/hadoop/io/compress/lz4/lz4.c:
|
|||
|
|
|||
|
/*
|
|||
|
LZ4 - Fast LZ compression algorithm
|
|||
|
Copyright (C) 2011, Yann Collet.
|
|||
|
BSD License
|
|||
|
|
|||
|
Redistribution and use in source and binary forms, with or without
|
|||
|
modification, are permitted provided that the following conditions are
|
|||
|
met:
|
|||
|
|
|||
|
* Redistributions of source code must retain the above copyright
|
|||
|
notice, this list of conditions and the following disclaimer.
|
|||
|
* 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.
|
|||
|
|
|||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|||
|
"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 COPYRIGHT
|
|||
|
OWNER OR CONTRIBUTORS 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, 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.
|
|||
|
*/
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR third_party/hadoop/LICENSE.txt
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR third_party/eigen3/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
Eigen is primarily MPL2 licensed. See COPYING.MPL2 and these links:
|
|||
|
http://www.mozilla.org/MPL/2.0/
|
|||
|
http://www.mozilla.org/MPL/2.0/FAQ.html
|
|||
|
|
|||
|
Some files contain third-party code under BSD or LGPL licenses, whence
|
|||
|
the other COPYING.* files here.
|
|||
|
|
|||
|
All the LGPL code is either LGPL 2.1-only, or LGPL 2.1-or-later.
|
|||
|
For this reason, the COPYING.LGPL file contains the LGPL 2.1 text.
|
|||
|
|
|||
|
If you want to guarantee that the Eigen code that you are #including
|
|||
|
is licensed under the MPL2 and possibly more permissive licenses (like
|
|||
|
BSD), #define this preprocessor symbol: EIGEN_MPL2_ONLY
|
|||
|
For example, with most compilers, you could add this to your project
|
|||
|
CXXFLAGS: -DEIGEN_MPL2_ONLY
|
|||
|
This will cause a compilation error to be generated if you #include
|
|||
|
any code that is LGPL licensed.
|
|||
|
|
|||
|
----------------------------------------------------------------------
|
|||
|
Following applies to:
|
|||
|
./test/mapstaticmethods.cpp
|
|||
|
./test/schur_real.cpp
|
|||
|
./test/prec_inverse_4x4.cpp
|
|||
|
./test/smallvectors.cpp
|
|||
|
./test/redux.cpp
|
|||
|
./test/special_numbers.cpp
|
|||
|
./test/adjoint.cpp
|
|||
|
./test/resize.cpp
|
|||
|
./test/mixingtypes.cpp
|
|||
|
./test/product_trmv.cpp
|
|||
|
./test/sparse_solvers.cpp
|
|||
|
./test/cholesky.cpp
|
|||
|
./test/geo_quaternion.cpp
|
|||
|
./test/miscmatrices.cpp
|
|||
|
./test/stddeque.cpp
|
|||
|
./test/integer_types.cpp
|
|||
|
./test/product_large.cpp
|
|||
|
./test/eigensolver_generic.cpp
|
|||
|
./test/householder.cpp
|
|||
|
./test/geo_orthomethods.cpp
|
|||
|
./test/array_for_matrix.cpp
|
|||
|
./test/sparseLM.cpp
|
|||
|
./test/upperbidiagonalization.cpp
|
|||
|
./test/nomalloc.cpp
|
|||
|
./test/packetmath.cpp
|
|||
|
./test/jacobisvd.cpp
|
|||
|
./test/geo_transformations.cpp
|
|||
|
./test/swap.cpp
|
|||
|
./test/eigensolver_selfadjoint.cpp
|
|||
|
./test/inverse.cpp
|
|||
|
./test/product_selfadjoint.cpp
|
|||
|
./test/product_trsolve.cpp
|
|||
|
./test/product_extra.cpp
|
|||
|
./test/sparse_solver.h
|
|||
|
./test/mapstride.cpp
|
|||
|
./test/mapped_matrix.cpp
|
|||
|
./test/geo_eulerangles.cpp
|
|||
|
./test/eigen2support.cpp
|
|||
|
./test/denseLM.cpp
|
|||
|
./test/stdvector.cpp
|
|||
|
./test/nesting_ops.cpp
|
|||
|
./test/sparse_permutations.cpp
|
|||
|
./test/zerosized.cpp
|
|||
|
./test/exceptions.cpp
|
|||
|
./test/vectorwiseop.cpp
|
|||
|
./test/cwiseop.cpp
|
|||
|
./test/basicstuff.cpp
|
|||
|
./test/product_trmm.cpp
|
|||
|
./test/linearstructure.cpp
|
|||
|
./test/sparse_product.cpp
|
|||
|
./test/stdvector_overload.cpp
|
|||
|
./test/stable_norm.cpp
|
|||
|
./test/umeyama.cpp
|
|||
|
./test/unalignedcount.cpp
|
|||
|
./test/triangular.cpp
|
|||
|
./test/product_mmtr.cpp
|
|||
|
./test/sparse_basic.cpp
|
|||
|
./test/sparse_vector.cpp
|
|||
|
./test/meta.cpp
|
|||
|
./test/real_qz.cpp
|
|||
|
./test/ref.cpp
|
|||
|
./test/eigensolver_complex.cpp
|
|||
|
./test/cholmod_support.cpp
|
|||
|
./test/conjugate_gradient.cpp
|
|||
|
./test/sparse.h
|
|||
|
./test/simplicial_cholesky.cpp
|
|||
|
./test/bicgstab.cpp
|
|||
|
./test/dynalloc.cpp
|
|||
|
./test/product_notemporary.cpp
|
|||
|
./test/geo_hyperplane.cpp
|
|||
|
./test/lu.cpp
|
|||
|
./test/qr.cpp
|
|||
|
./test/hessenberg.cpp
|
|||
|
./test/sizeof.cpp
|
|||
|
./test/main.h
|
|||
|
./test/selfadjoint.cpp
|
|||
|
./test/permutationmatrices.cpp
|
|||
|
./test/superlu_support.cpp
|
|||
|
./test/qtvector.cpp
|
|||
|
./test/geo_homogeneous.cpp
|
|||
|
./test/determinant.cpp
|
|||
|
./test/array_reverse.cpp
|
|||
|
./test/unalignedassert.cpp
|
|||
|
./test/stdlist.cpp
|
|||
|
./test/product_symm.cpp
|
|||
|
./test/corners.cpp
|
|||
|
./test/dontalign.cpp
|
|||
|
./test/visitor.cpp
|
|||
|
./test/geo_alignedbox.cpp
|
|||
|
./test/diagonalmatrices.cpp
|
|||
|
./test/product_small.cpp
|
|||
|
./test/eigensolver_generalized_real.cpp
|
|||
|
./test/umfpack_support.cpp
|
|||
|
./test/first_aligned.cpp
|
|||
|
./test/qr_fullpivoting.cpp
|
|||
|
./test/array_replicate.cpp
|
|||
|
./test/geo_parametrizedline.cpp
|
|||
|
./test/eigen2/eigen2_unalignedassert.cpp
|
|||
|
./test/eigen2/eigen2_prec_inverse_4x4.cpp
|
|||
|
./test/eigen2/eigen2_alignedbox.cpp
|
|||
|
./test/eigen2/eigen2_sparse_product.cpp
|
|||
|
./test/eigen2/eigen2_meta.cpp
|
|||
|
./test/eigen2/eigen2_nomalloc.cpp
|
|||
|
./test/eigen2/eigen2_visitor.cpp
|
|||
|
./test/eigen2/eigen2_packetmath.cpp
|
|||
|
./test/eigen2/eigen2_svd.cpp
|
|||
|
./test/eigen2/eigen2_mixingtypes.cpp
|
|||
|
./test/eigen2/eigen2_qr.cpp
|
|||
|
./test/eigen2/eigen2_cwiseop.cpp
|
|||
|
./test/eigen2/eigen2_geometry_with_eigen2_prefix.cpp
|
|||
|
./test/eigen2/eigen2_smallvectors.cpp
|
|||
|
./test/eigen2/eigen2_commainitializer.cpp
|
|||
|
./test/eigen2/eigen2_sparse_solvers.cpp
|
|||
|
./test/eigen2/eigen2_hyperplane.cpp
|
|||
|
./test/eigen2/eigen2_eigensolver.cpp
|
|||
|
./test/eigen2/eigen2_linearstructure.cpp
|
|||
|
./test/eigen2/eigen2_sizeof.cpp
|
|||
|
./test/eigen2/eigen2_parametrizedline.cpp
|
|||
|
./test/eigen2/eigen2_lu.cpp
|
|||
|
./test/eigen2/eigen2_adjoint.cpp
|
|||
|
./test/eigen2/eigen2_geometry.cpp
|
|||
|
./test/eigen2/eigen2_stdvector.cpp
|
|||
|
./test/eigen2/eigen2_newstdvector.cpp
|
|||
|
./test/eigen2/eigen2_submatrices.cpp
|
|||
|
./test/eigen2/sparse.h
|
|||
|
./test/eigen2/eigen2_swap.cpp
|
|||
|
./test/eigen2/eigen2_triangular.cpp
|
|||
|
./test/eigen2/eigen2_basicstuff.cpp
|
|||
|
./test/eigen2/gsl_helper.h
|
|||
|
./test/eigen2/eigen2_dynalloc.cpp
|
|||
|
./test/eigen2/eigen2_array.cpp
|
|||
|
./test/eigen2/eigen2_map.cpp
|
|||
|
./test/eigen2/main.h
|
|||
|
./test/eigen2/eigen2_miscmatrices.cpp
|
|||
|
./test/eigen2/eigen2_product_large.cpp
|
|||
|
./test/eigen2/eigen2_first_aligned.cpp
|
|||
|
./test/eigen2/eigen2_cholesky.cpp
|
|||
|
./test/eigen2/eigen2_determinant.cpp
|
|||
|
./test/eigen2/eigen2_sum.cpp
|
|||
|
./test/eigen2/eigen2_inverse.cpp
|
|||
|
./test/eigen2/eigen2_regression.cpp
|
|||
|
./test/eigen2/eigen2_product_small.cpp
|
|||
|
./test/eigen2/eigen2_qtvector.cpp
|
|||
|
./test/eigen2/eigen2_sparse_vector.cpp
|
|||
|
./test/eigen2/product.h
|
|||
|
./test/eigen2/eigen2_sparse_basic.cpp
|
|||
|
./test/eigen2/eigen2_bug_132.cpp
|
|||
|
./test/array.cpp
|
|||
|
./test/product_syrk.cpp
|
|||
|
./test/commainitializer.cpp
|
|||
|
./test/conservative_resize.cpp
|
|||
|
./test/qr_colpivoting.cpp
|
|||
|
./test/nullary.cpp
|
|||
|
./test/bandmatrix.cpp
|
|||
|
./test/pastix_support.cpp
|
|||
|
./test/product.h
|
|||
|
./test/block.cpp
|
|||
|
./test/vectorization_logic.cpp
|
|||
|
./test/jacobi.cpp
|
|||
|
./test/diagonal.cpp
|
|||
|
./test/schur_complex.cpp
|
|||
|
./test/sizeoverflow.cpp
|
|||
|
./bench/BenchTimer.h
|
|||
|
./bench/benchFFT.cpp
|
|||
|
./bench/eig33.cpp
|
|||
|
./bench/spbench/spbenchsolver.h
|
|||
|
./bench/spbench/spbenchstyle.h
|
|||
|
./lapack/complex_double.cpp
|
|||
|
./lapack/cholesky.cpp
|
|||
|
./lapack/lapack_common.h
|
|||
|
./lapack/eigenvalues.cpp
|
|||
|
./lapack/single.cpp
|
|||
|
./lapack/lu.cpp
|
|||
|
./lapack/complex_single.cpp
|
|||
|
./lapack/double.cpp
|
|||
|
./demos/mix_eigen_and_c/binary_library.cpp
|
|||
|
./demos/mix_eigen_and_c/binary_library.h
|
|||
|
./demos/mix_eigen_and_c/example.c
|
|||
|
./demos/mandelbrot/mandelbrot.cpp
|
|||
|
./demos/mandelbrot/mandelbrot.h
|
|||
|
./demos/opengl/icosphere.cpp
|
|||
|
./demos/opengl/icosphere.h
|
|||
|
./demos/opengl/camera.cpp
|
|||
|
./demos/opengl/quaternion_demo.h
|
|||
|
./demos/opengl/camera.h
|
|||
|
./demos/opengl/trackball.h
|
|||
|
./demos/opengl/gpuhelper.h
|
|||
|
./demos/opengl/trackball.cpp
|
|||
|
./demos/opengl/gpuhelper.cpp
|
|||
|
./demos/opengl/quaternion_demo.cpp
|
|||
|
./debug/gdb/printers.py
|
|||
|
./unsupported/test/minres.cpp
|
|||
|
./unsupported/test/openglsupport.cpp
|
|||
|
./unsupported/test/jacobisvd.cpp
|
|||
|
./unsupported/test/dgmres.cpp
|
|||
|
./unsupported/test/matrix_square_root.cpp
|
|||
|
./unsupported/test/bdcsvd.cpp
|
|||
|
./unsupported/test/matrix_exponential.cpp
|
|||
|
./unsupported/test/forward_adolc.cpp
|
|||
|
./unsupported/test/polynomialsolver.cpp
|
|||
|
./unsupported/test/matrix_function.cpp
|
|||
|
./unsupported/test/sparse_extra.cpp
|
|||
|
./unsupported/test/matrix_functions.h
|
|||
|
./unsupported/test/svd_common.h
|
|||
|
./unsupported/test/FFTW.cpp
|
|||
|
./unsupported/test/alignedvector3.cpp
|
|||
|
./unsupported/test/autodiff.cpp
|
|||
|
./unsupported/test/gmres.cpp
|
|||
|
./unsupported/test/BVH.cpp
|
|||
|
./unsupported/test/levenberg_marquardt.cpp
|
|||
|
./unsupported/test/matrix_power.cpp
|
|||
|
./unsupported/test/kronecker_product.cpp
|
|||
|
./unsupported/test/splines.cpp
|
|||
|
./unsupported/test/polynomialutils.cpp
|
|||
|
./unsupported/bench/bench_svd.cpp
|
|||
|
./unsupported/Eigen/IterativeSolvers
|
|||
|
./unsupported/Eigen/src/IterativeSolvers/DGMRES.h
|
|||
|
./unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h
|
|||
|
./unsupported/Eigen/src/IterativeSolvers/GMRES.h
|
|||
|
./unsupported/Eigen/src/IterativeSolvers/IncompleteCholesky.h
|
|||
|
./unsupported/Eigen/src/IterativeSolvers/Scaling.h
|
|||
|
./unsupported/Eigen/src/IterativeSolvers/MINRES.h
|
|||
|
./unsupported/Eigen/src/SparseExtra/RandomSetter.h
|
|||
|
./unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h
|
|||
|
./unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h
|
|||
|
./unsupported/Eigen/src/SparseExtra/MarketIO.h
|
|||
|
./unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h
|
|||
|
./unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h
|
|||
|
./unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h
|
|||
|
./unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h
|
|||
|
./unsupported/Eigen/src/BVH/BVAlgorithms.h
|
|||
|
./unsupported/Eigen/src/BVH/KdBVH.h
|
|||
|
./unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h
|
|||
|
./unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h
|
|||
|
./unsupported/Eigen/src/AutoDiff/AutoDiffVector.h
|
|||
|
./unsupported/Eigen/src/Splines/Spline.h
|
|||
|
./unsupported/Eigen/src/Splines/SplineFitting.h
|
|||
|
./unsupported/Eigen/src/Splines/SplineFwd.h
|
|||
|
./unsupported/Eigen/src/SVD/JacobiSVD.h
|
|||
|
./unsupported/Eigen/src/SVD/BDCSVD.h
|
|||
|
./unsupported/Eigen/src/SVD/SVDBase.h
|
|||
|
./unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h
|
|||
|
./unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h
|
|||
|
./unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h
|
|||
|
./unsupported/Eigen/src/MatrixFunctions/StemFunction.h
|
|||
|
./unsupported/Eigen/src/MatrixFunctions/MatrixPower.h
|
|||
|
./unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h
|
|||
|
./unsupported/Eigen/src/MatrixFunctions/MatrixFunctionAtomic.h
|
|||
|
./unsupported/Eigen/src/MoreVectorization/MathFunctions.h
|
|||
|
./unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h
|
|||
|
./unsupported/Eigen/src/FFT/ei_fftw_impl.h
|
|||
|
./unsupported/Eigen/src/FFT/ei_kissfft_impl.h
|
|||
|
./unsupported/Eigen/src/Polynomials/PolynomialSolver.h
|
|||
|
./unsupported/Eigen/src/Polynomials/Companion.h
|
|||
|
./unsupported/Eigen/src/Polynomials/PolynomialUtils.h
|
|||
|
./unsupported/Eigen/src/NumericalDiff/NumericalDiff.h
|
|||
|
./unsupported/Eigen/src/Skyline/SkylineProduct.h
|
|||
|
./unsupported/Eigen/src/Skyline/SkylineMatrixBase.h
|
|||
|
./unsupported/Eigen/src/Skyline/SkylineStorage.h
|
|||
|
./unsupported/Eigen/src/Skyline/SkylineUtil.h
|
|||
|
./unsupported/Eigen/src/Skyline/SkylineInplaceLU.h
|
|||
|
./unsupported/Eigen/src/Skyline/SkylineMatrix.h
|
|||
|
./unsupported/Eigen/SparseExtra
|
|||
|
./unsupported/Eigen/AdolcForward
|
|||
|
./unsupported/Eigen/KroneckerProduct
|
|||
|
./unsupported/Eigen/NonLinearOptimization
|
|||
|
./unsupported/Eigen/BVH
|
|||
|
./unsupported/Eigen/OpenGLSupport
|
|||
|
./unsupported/Eigen/ArpackSupport
|
|||
|
./unsupported/Eigen/AutoDiff
|
|||
|
./unsupported/Eigen/Splines
|
|||
|
./unsupported/Eigen/MPRealSupport
|
|||
|
./unsupported/Eigen/MatrixFunctions
|
|||
|
./unsupported/Eigen/MoreVectorization
|
|||
|
./unsupported/Eigen/LevenbergMarquardt
|
|||
|
./unsupported/Eigen/AlignedVector3
|
|||
|
./unsupported/Eigen/FFT
|
|||
|
./unsupported/Eigen/Polynomials
|
|||
|
./unsupported/Eigen/NumericalDiff
|
|||
|
./unsupported/Eigen/Skyline
|
|||
|
./COPYING.README
|
|||
|
./COPYING.README
|
|||
|
./LICENSE
|
|||
|
./LICENSE
|
|||
|
./LICENSE
|
|||
|
./Eigen/Eigen2Support
|
|||
|
./Eigen/src/Eigen2Support/VectorBlock.h
|
|||
|
./Eigen/src/Eigen2Support/Cwise.h
|
|||
|
./Eigen/src/Eigen2Support/Minor.h
|
|||
|
./Eigen/src/Eigen2Support/Lazy.h
|
|||
|
./Eigen/src/Eigen2Support/Memory.h
|
|||
|
./Eigen/src/Eigen2Support/MathFunctions.h
|
|||
|
./Eigen/src/Eigen2Support/Geometry/AlignedBox.h
|
|||
|
./Eigen/src/Eigen2Support/Geometry/Hyperplane.h
|
|||
|
./Eigen/src/Eigen2Support/Geometry/Quaternion.h
|
|||
|
./Eigen/src/Eigen2Support/Geometry/Rotation2D.h
|
|||
|
./Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h
|
|||
|
./Eigen/src/Eigen2Support/Geometry/RotationBase.h
|
|||
|
./Eigen/src/Eigen2Support/Geometry/Translation.h
|
|||
|
./Eigen/src/Eigen2Support/Geometry/Scaling.h
|
|||
|
./Eigen/src/Eigen2Support/Geometry/AngleAxis.h
|
|||
|
./Eigen/src/Eigen2Support/Geometry/Transform.h
|
|||
|
./Eigen/src/Eigen2Support/TriangularSolver.h
|
|||
|
./Eigen/src/Eigen2Support/LU.h
|
|||
|
./Eigen/src/Eigen2Support/QR.h
|
|||
|
./Eigen/src/Eigen2Support/SVD.h
|
|||
|
./Eigen/src/Eigen2Support/Meta.h
|
|||
|
./Eigen/src/Eigen2Support/Block.h
|
|||
|
./Eigen/src/Eigen2Support/Macros.h
|
|||
|
./Eigen/src/Eigen2Support/LeastSquares.h
|
|||
|
./Eigen/src/Eigen2Support/CwiseOperators.h
|
|||
|
./Eigen/src/Jacobi/Jacobi.h
|
|||
|
./Eigen/src/misc/Kernel.h
|
|||
|
./Eigen/src/misc/SparseSolve.h
|
|||
|
./Eigen/src/misc/Solve.h
|
|||
|
./Eigen/src/misc/Image.h
|
|||
|
./Eigen/src/SparseCore/SparseColEtree.h
|
|||
|
./Eigen/src/SparseCore/SparseTranspose.h
|
|||
|
./Eigen/src/SparseCore/SparseUtil.h
|
|||
|
./Eigen/src/SparseCore/SparseCwiseBinaryOp.h
|
|||
|
./Eigen/src/SparseCore/SparseDiagonalProduct.h
|
|||
|
./Eigen/src/SparseCore/SparseProduct.h
|
|||
|
./Eigen/src/SparseCore/SparseDot.h
|
|||
|
./Eigen/src/SparseCore/SparseCwiseUnaryOp.h
|
|||
|
./Eigen/src/SparseCore/SparseSparseProductWithPruning.h
|
|||
|
./Eigen/src/SparseCore/SparseBlock.h
|
|||
|
./Eigen/src/SparseCore/SparseDenseProduct.h
|
|||
|
./Eigen/src/SparseCore/CompressedStorage.h
|
|||
|
./Eigen/src/SparseCore/SparseMatrixBase.h
|
|||
|
./Eigen/src/SparseCore/MappedSparseMatrix.h
|
|||
|
./Eigen/src/SparseCore/SparseTriangularView.h
|
|||
|
./Eigen/src/SparseCore/SparseView.h
|
|||
|
./Eigen/src/SparseCore/SparseFuzzy.h
|
|||
|
./Eigen/src/SparseCore/TriangularSolver.h
|
|||
|
./Eigen/src/SparseCore/SparseSelfAdjointView.h
|
|||
|
./Eigen/src/SparseCore/SparseMatrix.h
|
|||
|
./Eigen/src/SparseCore/SparseVector.h
|
|||
|
./Eigen/src/SparseCore/AmbiVector.h
|
|||
|
./Eigen/src/SparseCore/ConservativeSparseSparseProduct.h
|
|||
|
./Eigen/src/SparseCore/SparseRedux.h
|
|||
|
./Eigen/src/SparseCore/SparsePermutation.h
|
|||
|
./Eigen/src/Eigenvalues/RealSchur.h
|
|||
|
./Eigen/src/Eigenvalues/ComplexEigenSolver.h
|
|||
|
./Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
|
|||
|
./Eigen/src/Eigenvalues/ComplexSchur.h
|
|||
|
./Eigen/src/Eigenvalues/RealQZ.h
|
|||
|
./Eigen/src/Eigenvalues/EigenSolver.h
|
|||
|
./Eigen/src/Eigenvalues/HessenbergDecomposition.h
|
|||
|
./Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
|
|||
|
./Eigen/src/Eigenvalues/Tridiagonalization.h
|
|||
|
./Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
|
|||
|
./Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
|
|||
|
./Eigen/src/SuperLUSupport/SuperLUSupport.h
|
|||
|
./Eigen/src/StlSupport/StdDeque.h
|
|||
|
./Eigen/src/StlSupport/StdVector.h
|
|||
|
./Eigen/src/StlSupport/StdList.h
|
|||
|
./Eigen/src/StlSupport/details.h
|
|||
|
./Eigen/src/SparseQR/SparseQR.h
|
|||
|
./Eigen/src/LU/Inverse.h
|
|||
|
./Eigen/src/LU/arch/Inverse_SSE.h
|
|||
|
./Eigen/src/LU/Determinant.h
|
|||
|
./Eigen/src/LU/PartialPivLU.h
|
|||
|
./Eigen/src/LU/FullPivLU.h
|
|||
|
./Eigen/src/UmfPackSupport/UmfPackSupport.h
|
|||
|
./Eigen/src/OrderingMethods/Ordering.h
|
|||
|
./Eigen/src/OrderingMethods/Eigen_Colamd.h
|
|||
|
./Eigen/src/QR/HouseholderQR.h
|
|||
|
./Eigen/src/QR/ColPivHouseholderQR.h
|
|||
|
./Eigen/src/QR/FullPivHouseholderQR.h
|
|||
|
./Eigen/src/SVD/JacobiSVD.h
|
|||
|
./Eigen/src/SVD/UpperBidiagonalization.h
|
|||
|
./Eigen/src/Geometry/OrthoMethods.h
|
|||
|
./Eigen/src/Geometry/AlignedBox.h
|
|||
|
./Eigen/src/Geometry/Hyperplane.h
|
|||
|
./Eigen/src/Geometry/Quaternion.h
|
|||
|
./Eigen/src/Geometry/EulerAngles.h
|
|||
|
./Eigen/src/Geometry/Rotation2D.h
|
|||
|
./Eigen/src/Geometry/ParametrizedLine.h
|
|||
|
./Eigen/src/Geometry/RotationBase.h
|
|||
|
./Eigen/src/Geometry/arch/Geometry_SSE.h
|
|||
|
./Eigen/src/Geometry/Umeyama.h
|
|||
|
./Eigen/src/Geometry/Homogeneous.h
|
|||
|
./Eigen/src/Geometry/Translation.h
|
|||
|
./Eigen/src/Geometry/Scaling.h
|
|||
|
./Eigen/src/Geometry/AngleAxis.h
|
|||
|
./Eigen/src/Geometry/Transform.h
|
|||
|
./Eigen/src/plugins/BlockMethods.h
|
|||
|
./Eigen/src/plugins/CommonCwiseUnaryOps.h
|
|||
|
./Eigen/src/plugins/CommonCwiseBinaryOps.h
|
|||
|
./Eigen/src/plugins/MatrixCwiseUnaryOps.h
|
|||
|
./Eigen/src/plugins/MatrixCwiseBinaryOps.h
|
|||
|
./Eigen/src/Householder/Householder.h
|
|||
|
./Eigen/src/Householder/HouseholderSequence.h
|
|||
|
./Eigen/src/Householder/BlockHouseholder.h
|
|||
|
./Eigen/src/Core/VectorBlock.h
|
|||
|
./Eigen/src/Core/Matrix.h
|
|||
|
./Eigen/src/Core/Ref.h
|
|||
|
./Eigen/src/Core/SelfAdjointView.h
|
|||
|
./Eigen/src/Core/MathFunctions.h
|
|||
|
./Eigen/src/Core/GlobalFunctions.h
|
|||
|
./Eigen/src/Core/MapBase.h
|
|||
|
./Eigen/src/Core/EigenBase.h
|
|||
|
./Eigen/src/Core/GenericPacketMath.h
|
|||
|
./Eigen/src/Core/NestByValue.h
|
|||
|
./Eigen/src/Core/CwiseUnaryOp.h
|
|||
|
./Eigen/src/Core/SolveTriangular.h
|
|||
|
./Eigen/src/Core/Fuzzy.h
|
|||
|
./Eigen/src/Core/Visitor.h
|
|||
|
./Eigen/src/Core/Map.h
|
|||
|
./Eigen/src/Core/NoAlias.h
|
|||
|
./Eigen/src/Core/Diagonal.h
|
|||
|
./Eigen/src/Core/StableNorm.h
|
|||
|
./Eigen/src/Core/CoreIterators.h
|
|||
|
./Eigen/src/Core/products/Parallelizer.h
|
|||
|
./Eigen/src/Core/products/SelfadjointMatrixVector.h
|
|||
|
./Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
|
|||
|
./Eigen/src/Core/products/TriangularSolverMatrix.h
|
|||
|
./Eigen/src/Core/products/GeneralMatrixMatrix.h
|
|||
|
./Eigen/src/Core/products/SelfadjointProduct.h
|
|||
|
./Eigen/src/Core/products/CoeffBasedProduct.h
|
|||
|
./Eigen/src/Core/products/TriangularMatrixVector.h
|
|||
|
./Eigen/src/Core/products/SelfadjointMatrixMatrix.h
|
|||
|
./Eigen/src/Core/products/TriangularSolverVector.h
|
|||
|
./Eigen/src/Core/products/SelfadjointRank2Update.h
|
|||
|
./Eigen/src/Core/products/GeneralBlockPanelKernel.h
|
|||
|
./Eigen/src/Core/products/GeneralMatrixVector.h
|
|||
|
./Eigen/src/Core/products/TriangularMatrixMatrix.h
|
|||
|
./Eigen/src/Core/Reverse.h
|
|||
|
./Eigen/src/Core/BooleanRedux.h
|
|||
|
./Eigen/src/Core/Replicate.h
|
|||
|
./Eigen/src/Core/arch/AltiVec/PacketMath.h
|
|||
|
./Eigen/src/Core/arch/AltiVec/Complex.h
|
|||
|
./Eigen/src/Core/arch/SSE/PacketMath.h
|
|||
|
./Eigen/src/Core/arch/SSE/Complex.h
|
|||
|
./Eigen/src/Core/arch/SSE/MathFunctions.h
|
|||
|
./Eigen/src/Core/arch/NEON/PacketMath.h
|
|||
|
./Eigen/src/Core/arch/NEON/Complex.h
|
|||
|
./Eigen/src/Core/arch/Default/Settings.h
|
|||
|
./Eigen/src/Core/CwiseUnaryView.h
|
|||
|
./Eigen/src/Core/Array.h
|
|||
|
./Eigen/src/Core/ArrayWrapper.h
|
|||
|
./Eigen/src/Core/Swap.h
|
|||
|
./Eigen/src/Core/Transpositions.h
|
|||
|
./Eigen/src/Core/Random.h
|
|||
|
./Eigen/src/Core/IO.h
|
|||
|
./Eigen/src/Core/SelfCwiseBinaryOp.h
|
|||
|
./Eigen/src/Core/VectorwiseOp.h
|
|||
|
./Eigen/src/Core/Select.h
|
|||
|
./Eigen/src/Core/ArrayBase.h
|
|||
|
./Eigen/src/Core/DenseCoeffsBase.h
|
|||
|
./Eigen/src/Core/DiagonalProduct.h
|
|||
|
./Eigen/src/Core/Assign.h
|
|||
|
./Eigen/src/Core/Redux.h
|
|||
|
./Eigen/src/Core/ForceAlignedAccess.h
|
|||
|
./Eigen/src/Core/BandMatrix.h
|
|||
|
./Eigen/src/Core/PlainObjectBase.h
|
|||
|
./Eigen/src/Core/DenseBase.h
|
|||
|
./Eigen/src/Core/Flagged.h
|
|||
|
./Eigen/src/Core/CwiseBinaryOp.h
|
|||
|
./Eigen/src/Core/ProductBase.h
|
|||
|
./Eigen/src/Core/TriangularMatrix.h
|
|||
|
./Eigen/src/Core/Transpose.h
|
|||
|
./Eigen/src/Core/DiagonalMatrix.h
|
|||
|
./Eigen/src/Core/Dot.h
|
|||
|
./Eigen/src/Core/Functors.h
|
|||
|
./Eigen/src/Core/PermutationMatrix.h
|
|||
|
./Eigen/src/Core/NumTraits.h
|
|||
|
./Eigen/src/Core/MatrixBase.h
|
|||
|
./Eigen/src/Core/DenseStorage.h
|
|||
|
./Eigen/src/Core/util/Memory.h
|
|||
|
./Eigen/src/Core/util/StaticAssert.h
|
|||
|
./Eigen/src/Core/util/BlasUtil.h
|
|||
|
./Eigen/src/Core/util/MatrixMapper.h
|
|||
|
./Eigen/src/Core/util/XprHelper.h
|
|||
|
./Eigen/src/Core/util/ForwardDeclarations.h
|
|||
|
./Eigen/src/Core/util/Meta.h
|
|||
|
./Eigen/src/Core/util/Macros.h
|
|||
|
./Eigen/src/Core/util/Constants.h
|
|||
|
./Eigen/src/Core/CwiseNullaryOp.h
|
|||
|
./Eigen/src/Core/Block.h
|
|||
|
./Eigen/src/Core/GeneralProduct.h
|
|||
|
./Eigen/src/Core/CommaInitializer.h
|
|||
|
./Eigen/src/Core/ReturnByValue.h
|
|||
|
./Eigen/src/Core/Stride.h
|
|||
|
./Eigen/src/SPQRSupport/SuiteSparseQRSupport.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_column_dfs.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_panel_dfs.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_relax_snode.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_panel_bmod.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_Utils.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_gemm_kernel.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_kernel_bmod.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_pivotL.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_Memory.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_heap_relax_snode.h
|
|||
|
./Eigen/src/SparseLU/SparseLUImpl.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_copy_to_ucol.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_Structs.h
|
|||
|
./Eigen/src/SparseLU/SparseLU.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_column_bmod.h
|
|||
|
./Eigen/src/SparseLU/SparseLU_pruneL.h
|
|||
|
./Eigen/src/IterativeLinearSolvers/IncompleteLUT.h
|
|||
|
./Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h
|
|||
|
./Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
|
|||
|
./Eigen/src/IterativeLinearSolvers/ConjugateGradient.h
|
|||
|
./Eigen/src/IterativeLinearSolvers/BiCGSTAB.h
|
|||
|
./Eigen/src/SparseCholesky/SimplicialCholesky.h
|
|||
|
./Eigen/src/Cholesky/LDLT.h
|
|||
|
./Eigen/src/Cholesky/LLT.h
|
|||
|
./Eigen/src/CholmodSupport/CholmodSupport.h
|
|||
|
./Eigen/src/PaStiXSupport/PaStiXSupport.h
|
|||
|
./Eigen/src/MetisSupport/MetisSupport.h
|
|||
|
./Eigen/StdVector
|
|||
|
./Eigen/Core
|
|||
|
./Eigen/SparseLU
|
|||
|
./Eigen/StdList
|
|||
|
./Eigen/StdDeque
|
|||
|
./Eigen/SparseCholesky
|
|||
|
./scripts/relicense.py
|
|||
|
./scripts/relicense.py
|
|||
|
./blas/BandTriangularSolver.h
|
|||
|
./blas/PackedTriangularMatrixVector.h
|
|||
|
./blas/complex_double.cpp
|
|||
|
./blas/level2_real_impl.h
|
|||
|
./blas/level1_cplx_impl.h
|
|||
|
./blas/level1_impl.h
|
|||
|
./blas/level1_real_impl.h
|
|||
|
./blas/level3_impl.h
|
|||
|
./blas/single.cpp
|
|||
|
./blas/level2_cplx_impl.h
|
|||
|
./blas/PackedSelfadjointProduct.h
|
|||
|
./blas/Rank2Update.h
|
|||
|
./blas/complex_single.cpp
|
|||
|
./blas/PackedTriangularSolverVector.h
|
|||
|
./blas/double.cpp
|
|||
|
./blas/common.h
|
|||
|
./blas/level2_impl.h
|
|||
|
./blas/GeneralRank1Update.h
|
|||
|
|
|||
|
Mozilla Public License Version 2.0
|
|||
|
==================================
|
|||
|
|
|||
|
1. Definitions
|
|||
|
--------------
|
|||
|
|
|||
|
1.1. "Contributor"
|
|||
|
means each individual or legal entity that creates, contributes to
|
|||
|
the creation of, or owns Covered Software.
|
|||
|
|
|||
|
1.2. "Contributor Version"
|
|||
|
means the combination of the Contributions of others (if any) used
|
|||
|
by a Contributor and that particular Contributor's Contribution.
|
|||
|
|
|||
|
1.3. "Contribution"
|
|||
|
means Covered Software of a particular Contributor.
|
|||
|
|
|||
|
1.4. "Covered Software"
|
|||
|
means Source Code Form to which the initial Contributor has attached
|
|||
|
the notice in Exhibit A, the Executable Form of such Source Code
|
|||
|
Form, and Modifications of such Source Code Form, in each case
|
|||
|
including portions thereof.
|
|||
|
|
|||
|
1.5. "Incompatible With Secondary Licenses"
|
|||
|
means
|
|||
|
|
|||
|
(a) that the initial Contributor has attached the notice described
|
|||
|
in Exhibit B to the Covered Software; or
|
|||
|
|
|||
|
(b) that the Covered Software was made available under the terms of
|
|||
|
version 1.1 or earlier of the License, but not also under the
|
|||
|
terms of a Secondary License.
|
|||
|
|
|||
|
1.6. "Executable Form"
|
|||
|
means any form of the work other than Source Code Form.
|
|||
|
|
|||
|
1.7. "Larger Work"
|
|||
|
means a work that combines Covered Software with other material, in
|
|||
|
a separate file or files, that is not Covered Software.
|
|||
|
|
|||
|
1.8. "License"
|
|||
|
means this document.
|
|||
|
|
|||
|
1.9. "Licensable"
|
|||
|
means having the right to grant, to the maximum extent possible,
|
|||
|
whether at the time of the initial grant or subsequently, any and
|
|||
|
all of the rights conveyed by this License.
|
|||
|
|
|||
|
1.10. "Modifications"
|
|||
|
means any of the following:
|
|||
|
|
|||
|
(a) any file in Source Code Form that results from an addition to,
|
|||
|
deletion from, or modification of the contents of Covered
|
|||
|
Software; or
|
|||
|
|
|||
|
(b) any new file in Source Code Form that contains any Covered
|
|||
|
Software.
|
|||
|
|
|||
|
1.11. "Patent Claims" of a Contributor
|
|||
|
means any patent claim(s), including without limitation, method,
|
|||
|
process, and apparatus claims, in any patent Licensable by such
|
|||
|
Contributor that would be infringed, but for the grant of the
|
|||
|
License, by the making, using, selling, offering for sale, having
|
|||
|
made, import, or transfer of either its Contributions or its
|
|||
|
Contributor Version.
|
|||
|
|
|||
|
1.12. "Secondary License"
|
|||
|
means either the GNU General Public License, Version 2.0, the GNU
|
|||
|
Lesser General Public License, Version 2.1, the GNU Affero General
|
|||
|
Public License, Version 3.0, or any later versions of those
|
|||
|
licenses.
|
|||
|
|
|||
|
1.13. "Source Code Form"
|
|||
|
means the form of the work preferred for making modifications.
|
|||
|
|
|||
|
1.14. "You" (or "Your")
|
|||
|
means an individual or a legal entity exercising rights under this
|
|||
|
License. For legal entities, "You" includes any entity that
|
|||
|
controls, is controlled by, or is under common control with You. For
|
|||
|
purposes of this definition, "control" means (a) the power, direct
|
|||
|
or indirect, to cause the direction or management of such entity,
|
|||
|
whether by contract or otherwise, or (b) ownership of more than
|
|||
|
fifty percent (50%) of the outstanding shares or beneficial
|
|||
|
ownership of such entity.
|
|||
|
|
|||
|
2. License Grants and Conditions
|
|||
|
--------------------------------
|
|||
|
|
|||
|
2.1. Grants
|
|||
|
|
|||
|
Each Contributor hereby grants You a world-wide, royalty-free,
|
|||
|
non-exclusive license:
|
|||
|
|
|||
|
(a) under intellectual property rights (other than patent or trademark)
|
|||
|
Licensable by such Contributor to use, reproduce, make available,
|
|||
|
modify, display, perform, distribute, and otherwise exploit its
|
|||
|
Contributions, either on an unmodified basis, with Modifications, or
|
|||
|
as part of a Larger Work; and
|
|||
|
|
|||
|
(b) under Patent Claims of such Contributor to make, use, sell, offer
|
|||
|
for sale, have made, import, and otherwise transfer either its
|
|||
|
Contributions or its Contributor Version.
|
|||
|
|
|||
|
2.2. Effective Date
|
|||
|
|
|||
|
The licenses granted in Section 2.1 with respect to any Contribution
|
|||
|
become effective for each Contribution on the date the Contributor first
|
|||
|
distributes such Contribution.
|
|||
|
|
|||
|
2.3. Limitations on Grant Scope
|
|||
|
|
|||
|
The licenses granted in this Section 2 are the only rights granted under
|
|||
|
this License. No additional rights or licenses will be implied from the
|
|||
|
distribution or licensing of Covered Software under this License.
|
|||
|
Notwithstanding Section 2.1(b) above, no patent license is granted by a
|
|||
|
Contributor:
|
|||
|
|
|||
|
(a) for any code that a Contributor has removed from Covered Software;
|
|||
|
or
|
|||
|
|
|||
|
(b) for infringements caused by: (i) Your and any other third party's
|
|||
|
modifications of Covered Software, or (ii) the combination of its
|
|||
|
Contributions with other software (except as part of its Contributor
|
|||
|
Version); or
|
|||
|
|
|||
|
(c) under Patent Claims infringed by Covered Software in the absence of
|
|||
|
its Contributions.
|
|||
|
|
|||
|
This License does not grant any rights in the trademarks, service marks,
|
|||
|
or logos of any Contributor (except as may be necessary to comply with
|
|||
|
the notice requirements in Section 3.4).
|
|||
|
|
|||
|
2.4. Subsequent Licenses
|
|||
|
|
|||
|
No Contributor makes additional grants as a result of Your choice to
|
|||
|
distribute the Covered Software under a subsequent version of this
|
|||
|
License (see Section 10.2) or under the terms of a Secondary License (if
|
|||
|
permitted under the terms of Section 3.3).
|
|||
|
|
|||
|
2.5. Representation
|
|||
|
|
|||
|
Each Contributor represents that the Contributor believes its
|
|||
|
Contributions are its original creation(s) or it has sufficient rights
|
|||
|
to grant the rights to its Contributions conveyed by this License.
|
|||
|
|
|||
|
2.6. Fair Use
|
|||
|
|
|||
|
This License is not intended to limit any rights You have under
|
|||
|
applicable copyright doctrines of fair use, fair dealing, or other
|
|||
|
equivalents.
|
|||
|
|
|||
|
2.7. Conditions
|
|||
|
|
|||
|
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
|
|||
|
in Section 2.1.
|
|||
|
|
|||
|
3. Responsibilities
|
|||
|
-------------------
|
|||
|
|
|||
|
3.1. Distribution of Source Form
|
|||
|
|
|||
|
All distribution of Covered Software in Source Code Form, including any
|
|||
|
Modifications that You create or to which You contribute, must be under
|
|||
|
the terms of this License. You must inform recipients that the Source
|
|||
|
Code Form of the Covered Software is governed by the terms of this
|
|||
|
License, and how they can obtain a copy of this License. You may not
|
|||
|
attempt to alter or restrict the recipients' rights in the Source Code
|
|||
|
Form.
|
|||
|
|
|||
|
3.2. Distribution of Executable Form
|
|||
|
|
|||
|
If You distribute Covered Software in Executable Form then:
|
|||
|
|
|||
|
(a) such Covered Software must also be made available in Source Code
|
|||
|
Form, as described in Section 3.1, and You must inform recipients of
|
|||
|
the Executable Form how they can obtain a copy of such Source Code
|
|||
|
Form by reasonable means in a timely manner, at a charge no more
|
|||
|
than the cost of distribution to the recipient; and
|
|||
|
|
|||
|
(b) You may distribute such Executable Form under the terms of this
|
|||
|
License, or sublicense it under different terms, provided that the
|
|||
|
license for the Executable Form does not attempt to limit or alter
|
|||
|
the recipients' rights in the Source Code Form under this License.
|
|||
|
|
|||
|
3.3. Distribution of a Larger Work
|
|||
|
|
|||
|
You may create and distribute a Larger Work under terms of Your choice,
|
|||
|
provided that You also comply with the requirements of this License for
|
|||
|
the Covered Software. If the Larger Work is a combination of Covered
|
|||
|
Software with a work governed by one or more Secondary Licenses, and the
|
|||
|
Covered Software is not Incompatible With Secondary Licenses, this
|
|||
|
License permits You to additionally distribute such Covered Software
|
|||
|
under the terms of such Secondary License(s), so that the recipient of
|
|||
|
the Larger Work may, at their option, further distribute the Covered
|
|||
|
Software under the terms of either this License or such Secondary
|
|||
|
License(s).
|
|||
|
|
|||
|
3.4. Notices
|
|||
|
|
|||
|
You may not remove or alter the substance of any license notices
|
|||
|
(including copyright notices, patent notices, disclaimers of warranty,
|
|||
|
or limitations of liability) contained within the Source Code Form of
|
|||
|
the Covered Software, except that You may alter any license notices to
|
|||
|
the extent required to remedy known factual inaccuracies.
|
|||
|
|
|||
|
3.5. Application of Additional Terms
|
|||
|
|
|||
|
You may choose to offer, and to charge a fee for, warranty, support,
|
|||
|
indemnity or liability obligations to one or more recipients of Covered
|
|||
|
Software. However, You may do so only on Your own behalf, and not on
|
|||
|
behalf of any Contributor. You must make it absolutely clear that any
|
|||
|
such warranty, support, indemnity, or liability obligation is offered by
|
|||
|
You alone, and You hereby agree to indemnify every Contributor for any
|
|||
|
liability incurred by such Contributor as a result of warranty, support,
|
|||
|
indemnity or liability terms You offer. You may include additional
|
|||
|
disclaimers of warranty and limitations of liability specific to any
|
|||
|
jurisdiction.
|
|||
|
|
|||
|
4. Inability to Comply Due to Statute or Regulation
|
|||
|
---------------------------------------------------
|
|||
|
|
|||
|
If it is impossible for You to comply with any of the terms of this
|
|||
|
License with respect to some or all of the Covered Software due to
|
|||
|
statute, judicial order, or regulation then You must: (a) comply with
|
|||
|
the terms of this License to the maximum extent possible; and (b)
|
|||
|
describe the limitations and the code they affect. Such description must
|
|||
|
be placed in a text file included with all distributions of the Covered
|
|||
|
Software under this License. Except to the extent prohibited by statute
|
|||
|
or regulation, such description must be sufficiently detailed for a
|
|||
|
recipient of ordinary skill to be able to understand it.
|
|||
|
|
|||
|
5. Termination
|
|||
|
--------------
|
|||
|
|
|||
|
5.1. The rights granted under this License will terminate automatically
|
|||
|
if You fail to comply with any of its terms. However, if You become
|
|||
|
compliant, then the rights granted under this License from a particular
|
|||
|
Contributor are reinstated (a) provisionally, unless and until such
|
|||
|
Contributor explicitly and finally terminates Your grants, and (b) on an
|
|||
|
ongoing basis, if such Contributor fails to notify You of the
|
|||
|
non-compliance by some reasonable means prior to 60 days after You have
|
|||
|
come back into compliance. Moreover, Your grants from a particular
|
|||
|
Contributor are reinstated on an ongoing basis if such Contributor
|
|||
|
notifies You of the non-compliance by some reasonable means, this is the
|
|||
|
first time You have received notice of non-compliance with this License
|
|||
|
from such Contributor, and You become compliant prior to 30 days after
|
|||
|
Your receipt of the notice.
|
|||
|
|
|||
|
5.2. If You initiate litigation against any entity by asserting a patent
|
|||
|
infringement claim (excluding declaratory judgment actions,
|
|||
|
counter-claims, and cross-claims) alleging that a Contributor Version
|
|||
|
directly or indirectly infringes any patent, then the rights granted to
|
|||
|
You by any and all Contributors for the Covered Software under Section
|
|||
|
2.1 of this License shall terminate.
|
|||
|
|
|||
|
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
|
|||
|
end user license agreements (excluding distributors and resellers) which
|
|||
|
have been validly granted by You or Your distributors under this License
|
|||
|
prior to termination shall survive termination.
|
|||
|
|
|||
|
************************************************************************
|
|||
|
* *
|
|||
|
* 6. Disclaimer of Warranty *
|
|||
|
* ------------------------- *
|
|||
|
* *
|
|||
|
* Covered Software is provided under this License on an "as is" *
|
|||
|
* basis, without warranty of any kind, either expressed, implied, or *
|
|||
|
* statutory, including, without limitation, warranties that the *
|
|||
|
* Covered Software is free of defects, merchantable, fit for a *
|
|||
|
* particular purpose or non-infringing. The entire risk as to the *
|
|||
|
* quality and performance of the Covered Software is with You. *
|
|||
|
* Should any Covered Software prove defective in any respect, You *
|
|||
|
* (not any Contributor) assume the cost of any necessary servicing, *
|
|||
|
* repair, or correction. This disclaimer of warranty constitutes an *
|
|||
|
* essential part of this License. No use of any Covered Software is *
|
|||
|
* authorized under this License except under this disclaimer. *
|
|||
|
* *
|
|||
|
************************************************************************
|
|||
|
|
|||
|
************************************************************************
|
|||
|
* *
|
|||
|
* 7. Limitation of Liability *
|
|||
|
* -------------------------- *
|
|||
|
* *
|
|||
|
* Under no circumstances and under no legal theory, whether tort *
|
|||
|
* (including negligence), contract, or otherwise, shall any *
|
|||
|
* Contributor, or anyone who distributes Covered Software as *
|
|||
|
* permitted above, be liable to You for any direct, indirect, *
|
|||
|
* special, incidental, or consequential damages of any character *
|
|||
|
* including, without limitation, damages for lost profits, loss of *
|
|||
|
* goodwill, work stoppage, computer failure or malfunction, or any *
|
|||
|
* and all other commercial damages or losses, even if such party *
|
|||
|
* shall have been informed of the possibility of such damages. This *
|
|||
|
* limitation of liability shall not apply to liability for death or *
|
|||
|
* personal injury resulting from such party's negligence to the *
|
|||
|
* extent applicable law prohibits such limitation. Some *
|
|||
|
* jurisdictions do not allow the exclusion or limitation of *
|
|||
|
* incidental or consequential damages, so this exclusion and *
|
|||
|
* limitation may not apply to You. *
|
|||
|
* *
|
|||
|
************************************************************************
|
|||
|
|
|||
|
8. Litigation
|
|||
|
-------------
|
|||
|
|
|||
|
Any litigation relating to this License may be brought only in the
|
|||
|
courts of a jurisdiction where the defendant maintains its principal
|
|||
|
place of business and such litigation shall be governed by laws of that
|
|||
|
jurisdiction, without reference to its conflict-of-law provisions.
|
|||
|
Nothing in this Section shall prevent a party's ability to bring
|
|||
|
cross-claims or counter-claims.
|
|||
|
|
|||
|
9. Miscellaneous
|
|||
|
----------------
|
|||
|
|
|||
|
This License represents the complete agreement concerning the subject
|
|||
|
matter hereof. If any provision of this License is held to be
|
|||
|
unenforceable, such provision shall be reformed only to the extent
|
|||
|
necessary to make it enforceable. Any law or regulation which provides
|
|||
|
that the language of a contract shall be construed against the drafter
|
|||
|
shall not be used to construe this License against a Contributor.
|
|||
|
|
|||
|
10. Versions of the License
|
|||
|
---------------------------
|
|||
|
|
|||
|
10.1. New Versions
|
|||
|
|
|||
|
Mozilla Foundation is the license steward. Except as provided in Section
|
|||
|
10.3, no one other than the license steward has the right to modify or
|
|||
|
publish new versions of this License. Each version will be given a
|
|||
|
distinguishing version number.
|
|||
|
|
|||
|
10.2. Effect of New Versions
|
|||
|
|
|||
|
You may distribute the Covered Software under the terms of the version
|
|||
|
of the License under which You originally received the Covered Software,
|
|||
|
or under the terms of any subsequent version published by the license
|
|||
|
steward.
|
|||
|
|
|||
|
10.3. Modified Versions
|
|||
|
|
|||
|
If you create software not governed by this License, and you want to
|
|||
|
create a new license for such software, you may create and use a
|
|||
|
modified version of this License if you rename the license and remove
|
|||
|
any references to the name of the license steward (except to note that
|
|||
|
such modified license differs from this License).
|
|||
|
|
|||
|
10.4. Distributing Source Code Form that is Incompatible With Secondary
|
|||
|
Licenses
|
|||
|
|
|||
|
If You choose to distribute Source Code Form that is Incompatible With
|
|||
|
Secondary Licenses under the terms of this version of the License, the
|
|||
|
notice described in Exhibit B of this License must be attached.
|
|||
|
|
|||
|
Exhibit A - Source Code Form License Notice
|
|||
|
-------------------------------------------
|
|||
|
|
|||
|
This Source Code Form is subject to the terms of the Mozilla Public
|
|||
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
|||
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|||
|
|
|||
|
If it is not possible or desirable to put the notice in a particular
|
|||
|
file, then You may include the notice in a location (such as a LICENSE
|
|||
|
file in a relevant directory) where a recipient would be likely to look
|
|||
|
for such a notice.
|
|||
|
|
|||
|
You may add additional accurate notices of copyright ownership.
|
|||
|
|
|||
|
Exhibit B - "Incompatible With Secondary Licenses" Notice
|
|||
|
---------------------------------------------------------
|
|||
|
|
|||
|
This Source Code Form is "Incompatible With Secondary Licenses", as
|
|||
|
defined by the Mozilla Public License, v. 2.0.
|
|||
|
|
|||
|
----------------------------------------------------------------------
|
|||
|
Following applies to:
|
|||
|
./doc/UsingIntelMKL.dox
|
|||
|
./doc/UsingIntelMKL.dox
|
|||
|
./Eigen/src/Eigenvalues/ComplexSchur_MKL.h
|
|||
|
./Eigen/src/Eigenvalues/ComplexSchur_MKL.h
|
|||
|
./Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h
|
|||
|
./Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h
|
|||
|
./Eigen/src/Eigenvalues/RealSchur_MKL.h
|
|||
|
./Eigen/src/Eigenvalues/RealSchur_MKL.h
|
|||
|
./Eigen/src/LU/arch/Inverse_SSE.h
|
|||
|
./Eigen/src/LU/arch/Inverse_SSE.h
|
|||
|
./Eigen/src/LU/PartialPivLU_MKL.h
|
|||
|
./Eigen/src/LU/PartialPivLU_MKL.h
|
|||
|
./Eigen/src/QR/HouseholderQR_MKL.h
|
|||
|
./Eigen/src/QR/HouseholderQR_MKL.h
|
|||
|
./Eigen/src/QR/ColPivHouseholderQR_MKL.h
|
|||
|
./Eigen/src/QR/ColPivHouseholderQR_MKL.h
|
|||
|
./Eigen/src/SVD/JacobiSVD_MKL.h
|
|||
|
./Eigen/src/SVD/JacobiSVD_MKL.h
|
|||
|
./Eigen/src/PardisoSupport/PardisoSupport.h
|
|||
|
./Eigen/src/PardisoSupport/PardisoSupport.h
|
|||
|
./Eigen/src/Core/Assign_MKL.h
|
|||
|
./Eigen/src/Core/Assign_MKL.h
|
|||
|
./Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h
|
|||
|
./Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h
|
|||
|
./Eigen/src/Core/products/GeneralMatrixVector_MKL.h
|
|||
|
./Eigen/src/Core/products/GeneralMatrixVector_MKL.h
|
|||
|
./Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h
|
|||
|
./Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h
|
|||
|
./Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h
|
|||
|
./Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h
|
|||
|
./Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h
|
|||
|
./Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h
|
|||
|
./Eigen/src/Core/products/TriangularMatrixVector_MKL.h
|
|||
|
./Eigen/src/Core/products/TriangularMatrixVector_MKL.h
|
|||
|
./Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h
|
|||
|
./Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h
|
|||
|
./Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
|
|||
|
./Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
|
|||
|
./Eigen/src/Core/util/MKL_support.h
|
|||
|
./Eigen/src/Core/util/MKL_support.h
|
|||
|
./Eigen/src/Cholesky/LLT_MKL.h
|
|||
|
./Eigen/src/Cholesky/LLT_MKL.h
|
|||
|
|
|||
|
/*
|
|||
|
Copyright (c) 2011, Intel Corporation. All rights reserved.
|
|||
|
|
|||
|
Redistribution and use in source and binary forms, with or without
|
|||
|
modification, are permitted provided that the following conditions
|
|||
|
are met:
|
|||
|
|
|||
|
* Redistributions of source code must retain the above copyright
|
|||
|
notice, this list of conditions and the following disclaimer. *
|
|||
|
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. * Neither the name of Intel Corporation nor the
|
|||
|
names of its contributors may be used to endorse or promote
|
|||
|
products derived from this software without specific prior written
|
|||
|
permission.
|
|||
|
|
|||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|||
|
"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 COPYRIGHT
|
|||
|
OWNER OR CONTRIBUTORS 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, 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.
|
|||
|
*/
|
|||
|
|
|||
|
----------------------------------------------------------------------
|
|||
|
Following applies to:
|
|||
|
everything under ./bench/btl
|
|||
|
|
|||
|
GNU GENERAL PUBLIC LICENSE
|
|||
|
Version 3, 29 June 2007
|
|||
|
|
|||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
|||
|
Everyone is permitted to copy and distribute verbatim copies
|
|||
|
of this license document, but changing it is not allowed.
|
|||
|
|
|||
|
Preamble
|
|||
|
|
|||
|
The GNU General Public License is a free, copyleft license for
|
|||
|
software and other kinds of works.
|
|||
|
|
|||
|
The licenses for most software and other practical works are designed
|
|||
|
to take away your freedom to share and change the works. By contrast,
|
|||
|
the GNU General Public License is intended to guarantee your freedom to
|
|||
|
share and change all versions of a program--to make sure it remains free
|
|||
|
software for all its users. We, the Free Software Foundation, use the
|
|||
|
GNU General Public License for most of our software; it applies also to
|
|||
|
any other work released this way by its authors. You can apply it to
|
|||
|
your programs, too.
|
|||
|
|
|||
|
When we speak of free software, we are referring to freedom, not
|
|||
|
price. Our General Public Licenses are designed to make sure that you
|
|||
|
have the freedom to distribute copies of free software (and charge for
|
|||
|
them if you wish), that you receive source code or can get it if you
|
|||
|
want it, that you can change the software or use pieces of it in new
|
|||
|
free programs, and that you know you can do these things.
|
|||
|
|
|||
|
To protect your rights, we need to prevent others from denying you
|
|||
|
these rights or asking you to surrender the rights. Therefore, you have
|
|||
|
certain responsibilities if you distribute copies of the software, or if
|
|||
|
you modify it: responsibilities to respect the freedom of others.
|
|||
|
|
|||
|
For example, if you distribute copies of such a program, whether
|
|||
|
gratis or for a fee, you must pass on to the recipients the same
|
|||
|
freedoms that you received. You must make sure that they, too, receive
|
|||
|
or can get the source code. And you must show them these terms so they
|
|||
|
know their rights.
|
|||
|
|
|||
|
Developers that use the GNU GPL protect your rights with two steps:
|
|||
|
(1) assert copyright on the software, and (2) offer you this License
|
|||
|
giving you legal permission to copy, distribute and/or modify it.
|
|||
|
|
|||
|
For the developers' and authors' protection, the GPL clearly explains
|
|||
|
that there is no warranty for this free software. For both users' and
|
|||
|
authors' sake, the GPL requires that modified versions be marked as
|
|||
|
changed, so that their problems will not be attributed erroneously to
|
|||
|
authors of previous versions.
|
|||
|
|
|||
|
Some devices are designed to deny users access to install or run
|
|||
|
modified versions of the software inside them, although the manufacturer
|
|||
|
can do so. This is fundamentally incompatible with the aim of
|
|||
|
protecting users' freedom to change the software. The systematic
|
|||
|
pattern of such abuse occurs in the area of products for individuals to
|
|||
|
use, which is precisely where it is most unacceptable. Therefore, we
|
|||
|
have designed this version of the GPL to prohibit the practice for those
|
|||
|
products. If such problems arise substantially in other domains, we
|
|||
|
stand ready to extend this provision to those domains in future versions
|
|||
|
of the GPL, as needed to protect the freedom of users.
|
|||
|
|
|||
|
Finally, every program is threatened constantly by software patents.
|
|||
|
States should not allow patents to restrict development and use of
|
|||
|
software on general-purpose computers, but in those that do, we wish to
|
|||
|
avoid the special danger that patents applied to a free program could
|
|||
|
make it effectively proprietary. To prevent this, the GPL assures that
|
|||
|
patents cannot be used to render the program non-free.
|
|||
|
|
|||
|
The precise terms and conditions for copying, distribution and
|
|||
|
modification follow.
|
|||
|
|
|||
|
TERMS AND CONDITIONS
|
|||
|
|
|||
|
0. Definitions.
|
|||
|
|
|||
|
"This License" refers to version 3 of the GNU General Public License.
|
|||
|
|
|||
|
"Copyright" also means copyright-like laws that apply to other kinds
|
|||
|
of works, such as semiconductor masks.
|
|||
|
|
|||
|
"The Program" refers to any copyrightable work licensed under this
|
|||
|
License. Each licensee is addressed as "you". "Licensees" and
|
|||
|
"recipients" may be individuals or organizations.
|
|||
|
|
|||
|
To "modify" a work means to copy from or adapt all or part of the work
|
|||
|
in a fashion requiring copyright permission, other than the making of an
|
|||
|
exact copy. The resulting work is called a "modified version" of the
|
|||
|
earlier work or a work "based on" the earlier work.
|
|||
|
|
|||
|
A "covered work" means either the unmodified Program or a work based
|
|||
|
on the Program.
|
|||
|
|
|||
|
To "propagate" a work means to do anything with it that, without
|
|||
|
permission, would make you directly or secondarily liable for
|
|||
|
infringement under applicable copyright law, except executing it on a
|
|||
|
computer or modifying a private copy. Propagation includes copying,
|
|||
|
distribution (with or without modification), making available to the
|
|||
|
public, and in some countries other activities as well.
|
|||
|
|
|||
|
To "convey" a work means any kind of propagation that enables other
|
|||
|
parties to make or receive copies. Mere interaction with a user through
|
|||
|
a computer network, with no transfer of a copy, is not conveying.
|
|||
|
|
|||
|
An interactive user interface displays "Appropriate Legal Notices"
|
|||
|
to the extent that it includes a convenient and prominently visible
|
|||
|
feature that (1) displays an appropriate copyright notice, and (2)
|
|||
|
tells the user that there is no warranty for the work (except to the
|
|||
|
extent that warranties are provided), that licensees may convey the
|
|||
|
work under this License, and how to view a copy of this License. If
|
|||
|
the interface presents a list of user commands or options, such as a
|
|||
|
menu, a prominent item in the list meets this criterion.
|
|||
|
|
|||
|
1. Source Code.
|
|||
|
|
|||
|
The "source code" for a work means the preferred form of the work
|
|||
|
for making modifications to it. "Object code" means any non-source
|
|||
|
form of a work.
|
|||
|
|
|||
|
A "Standard Interface" means an interface that either is an official
|
|||
|
standard defined by a recognized standards body, or, in the case of
|
|||
|
interfaces specified for a particular programming language, one that
|
|||
|
is widely used among developers working in that language.
|
|||
|
|
|||
|
The "System Libraries" of an executable work include anything, other
|
|||
|
than the work as a whole, that (a) is included in the normal form of
|
|||
|
packaging a Major Component, but which is not part of that Major
|
|||
|
Component, and (b) serves only to enable use of the work with that
|
|||
|
Major Component, or to implement a Standard Interface for which an
|
|||
|
implementation is available to the public in source code form. A
|
|||
|
"Major Component", in this context, means a major essential component
|
|||
|
(kernel, window system, and so on) of the specific operating system
|
|||
|
(if any) on which the executable work runs, or a compiler used to
|
|||
|
produce the work, or an object code interpreter used to run it.
|
|||
|
|
|||
|
The "Corresponding Source" for a work in object code form means all
|
|||
|
the source code needed to generate, install, and (for an executable
|
|||
|
work) run the object code and to modify the work, including scripts to
|
|||
|
control those activities. However, it does not include the work's
|
|||
|
System Libraries, or general-purpose tools or generally available free
|
|||
|
programs which are used unmodified in performing those activities but
|
|||
|
which are not part of the work. For example, Corresponding Source
|
|||
|
includes interface definition files associated with source files for
|
|||
|
the work, and the source code for shared libraries and dynamically
|
|||
|
linked subprograms that the work is specifically designed to require,
|
|||
|
such as by intimate data communication or control flow between those
|
|||
|
subprograms and other parts of the work.
|
|||
|
|
|||
|
The Corresponding Source need not include anything that users
|
|||
|
can regenerate automatically from other parts of the Corresponding
|
|||
|
Source.
|
|||
|
|
|||
|
The Corresponding Source for a work in source code form is that
|
|||
|
same work.
|
|||
|
|
|||
|
2. Basic Permissions.
|
|||
|
|
|||
|
All rights granted under this License are granted for the term of
|
|||
|
copyright on the Program, and are irrevocable provided the stated
|
|||
|
conditions are met. This License explicitly affirms your unlimited
|
|||
|
permission to run the unmodified Program. The output from running a
|
|||
|
covered work is covered by this License only if the output, given its
|
|||
|
content, constitutes a covered work. This License acknowledges your
|
|||
|
rights of fair use or other equivalent, as provided by copyright law.
|
|||
|
|
|||
|
You may make, run and propagate covered works that you do not
|
|||
|
convey, without conditions so long as your license otherwise remains
|
|||
|
in force. You may convey covered works to others for the sole purpose
|
|||
|
of having them make modifications exclusively for you, or provide you
|
|||
|
with facilities for running those works, provided that you comply with
|
|||
|
the terms of this License in conveying all material for which you do
|
|||
|
not control copyright. Those thus making or running the covered works
|
|||
|
for you must do so exclusively on your behalf, under your direction
|
|||
|
and control, on terms that prohibit them from making any copies of
|
|||
|
your copyrighted material outside their relationship with you.
|
|||
|
|
|||
|
Conveying under any other circumstances is permitted solely under
|
|||
|
the conditions stated below. Sublicensing is not allowed; section 10
|
|||
|
makes it unnecessary.
|
|||
|
|
|||
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
|||
|
|
|||
|
No covered work shall be deemed part of an effective technological
|
|||
|
measure under any applicable law fulfilling obligations under article
|
|||
|
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
|||
|
similar laws prohibiting or restricting circumvention of such
|
|||
|
measures.
|
|||
|
|
|||
|
When you convey a covered work, you waive any legal power to forbid
|
|||
|
circumvention of technological measures to the extent such circumvention
|
|||
|
is effected by exercising rights under this License with respect to
|
|||
|
the covered work, and you disclaim any intention to limit operation or
|
|||
|
modification of the work as a means of enforcing, against the work's
|
|||
|
users, your or third parties' legal rights to forbid circumvention of
|
|||
|
technological measures.
|
|||
|
|
|||
|
4. Conveying Verbatim Copies.
|
|||
|
|
|||
|
You may convey verbatim copies of the Program's source code as you
|
|||
|
receive it, in any medium, provided that you conspicuously and
|
|||
|
appropriately publish on each copy an appropriate copyright notice;
|
|||
|
keep intact all notices stating that this License and any
|
|||
|
non-permissive terms added in accord with section 7 apply to the code;
|
|||
|
keep intact all notices of the absence of any warranty; and give all
|
|||
|
recipients a copy of this License along with the Program.
|
|||
|
|
|||
|
You may charge any price or no price for each copy that you convey,
|
|||
|
and you may offer support or warranty protection for a fee.
|
|||
|
|
|||
|
5. Conveying Modified Source Versions.
|
|||
|
|
|||
|
You may convey a work based on the Program, or the modifications to
|
|||
|
produce it from the Program, in the form of source code under the
|
|||
|
terms of section 4, provided that you also meet all of these conditions:
|
|||
|
|
|||
|
a) The work must carry prominent notices stating that you modified
|
|||
|
it, and giving a relevant date.
|
|||
|
|
|||
|
b) The work must carry prominent notices stating that it is
|
|||
|
released under this License and any conditions added under section
|
|||
|
7. This requirement modifies the requirement in section 4 to
|
|||
|
"keep intact all notices".
|
|||
|
|
|||
|
c) You must license the entire work, as a whole, under this
|
|||
|
License to anyone who comes into possession of a copy. This
|
|||
|
License will therefore apply, along with any applicable section 7
|
|||
|
additional terms, to the whole of the work, and all its parts,
|
|||
|
regardless of how they are packaged. This License gives no
|
|||
|
permission to license the work in any other way, but it does not
|
|||
|
invalidate such permission if you have separately received it.
|
|||
|
|
|||
|
d) If the work has interactive user interfaces, each must display
|
|||
|
Appropriate Legal Notices; however, if the Program has interactive
|
|||
|
interfaces that do not display Appropriate Legal Notices, your
|
|||
|
work need not make them do so.
|
|||
|
|
|||
|
A compilation of a covered work with other separate and independent
|
|||
|
works, which are not by their nature extensions of the covered work,
|
|||
|
and which are not combined with it such as to form a larger program,
|
|||
|
in or on a volume of a storage or distribution medium, is called an
|
|||
|
"aggregate" if the compilation and its resulting copyright are not
|
|||
|
used to limit the access or legal rights of the compilation's users
|
|||
|
beyond what the individual works permit. Inclusion of a covered work
|
|||
|
in an aggregate does not cause this License to apply to the other
|
|||
|
parts of the aggregate.
|
|||
|
|
|||
|
6. Conveying Non-Source Forms.
|
|||
|
|
|||
|
You may convey a covered work in object code form under the terms
|
|||
|
of sections 4 and 5, provided that you also convey the
|
|||
|
machine-readable Corresponding Source under the terms of this License,
|
|||
|
in one of these ways:
|
|||
|
|
|||
|
a) Convey the object code in, or embodied in, a physical product
|
|||
|
(including a physical distribution medium), accompanied by the
|
|||
|
Corresponding Source fixed on a durable physical medium
|
|||
|
customarily used for software interchange.
|
|||
|
|
|||
|
b) Convey the object code in, or embodied in, a physical product
|
|||
|
(including a physical distribution medium), accompanied by a
|
|||
|
written offer, valid for at least three years and valid for as
|
|||
|
long as you offer spare parts or customer support for that product
|
|||
|
model, to give anyone who possesses the object code either (1) a
|
|||
|
copy of the Corresponding Source for all the software in the
|
|||
|
product that is covered by this License, on a durable physical
|
|||
|
medium customarily used for software interchange, for a price no
|
|||
|
more than your reasonable cost of physically performing this
|
|||
|
conveying of source, or (2) access to copy the
|
|||
|
Corresponding Source from a network server at no charge.
|
|||
|
|
|||
|
c) Convey individual copies of the object code with a copy of the
|
|||
|
written offer to provide the Corresponding Source. This
|
|||
|
alternative is allowed only occasionally and noncommercially, and
|
|||
|
only if you received the object code with such an offer, in accord
|
|||
|
with subsection 6b.
|
|||
|
|
|||
|
d) Convey the object code by offering access from a designated
|
|||
|
place (gratis or for a charge), and offer equivalent access to the
|
|||
|
Corresponding Source in the same way through the same place at no
|
|||
|
further charge. You need not require recipients to copy the
|
|||
|
Corresponding Source along with the object code. If the place to
|
|||
|
copy the object code is a network server, the Corresponding Source
|
|||
|
may be on a different server (operated by you or a third party)
|
|||
|
that supports equivalent copying facilities, provided you maintain
|
|||
|
clear directions next to the object code saying where to find the
|
|||
|
Corresponding Source. Regardless of what server hosts the
|
|||
|
Corresponding Source, you remain obligated to ensure that it is
|
|||
|
available for as long as needed to satisfy these requirements.
|
|||
|
|
|||
|
e) Convey the object code using peer-to-peer transmission, provided
|
|||
|
you inform other peers where the object code and Corresponding
|
|||
|
Source of the work are being offered to the general public at no
|
|||
|
charge under subsection 6d.
|
|||
|
|
|||
|
A separable portion of the object code, whose source code is excluded
|
|||
|
from the Corresponding Source as a System Library, need not be
|
|||
|
included in conveying the object code work.
|
|||
|
|
|||
|
A "User Product" is either (1) a "consumer product", which means any
|
|||
|
tangible personal property which is normally used for personal,
|
|||
|
family, or household purposes, or (2) anything designed or sold for
|
|||
|
incorporation into a dwelling. In determining whether a product is a
|
|||
|
consumer product, doubtful cases shall be resolved in favor of
|
|||
|
coverage. For a particular product received by a particular user,
|
|||
|
"normally used" refers to a typical or common use of that class of
|
|||
|
product, regardless of the status of the particular user or of the way
|
|||
|
in which the particular user actually uses, or expects or is expected
|
|||
|
to use, the product. A product is a consumer product regardless of
|
|||
|
whether the product has substantial commercial, industrial or
|
|||
|
non-consumer uses, unless such uses represent the only significant
|
|||
|
mode of use of the product.
|
|||
|
|
|||
|
"Installation Information" for a User Product means any methods,
|
|||
|
procedures, authorization keys, or other information required to
|
|||
|
install and execute modified versions of a covered work in that User
|
|||
|
Product from a modified version of its Corresponding Source. The
|
|||
|
information must suffice to ensure that the continued functioning of
|
|||
|
the modified object code is in no case prevented or interfered with
|
|||
|
solely because modification has been made.
|
|||
|
|
|||
|
If you convey an object code work under this section in, or with, or
|
|||
|
specifically for use in, a User Product, and the conveying occurs as
|
|||
|
part of a transaction in which the right of possession and use of the
|
|||
|
User Product is transferred to the recipient in perpetuity or for a
|
|||
|
fixed term (regardless of how the transaction is characterized), the
|
|||
|
Corresponding Source conveyed under this section must be accompanied
|
|||
|
by the Installation Information. But this requirement does not apply
|
|||
|
if neither you nor any third party retains the ability to install
|
|||
|
modified object code on the User Product (for example, the work has
|
|||
|
been installed in ROM).
|
|||
|
|
|||
|
The requirement to provide Installation Information does not include
|
|||
|
a requirement to continue to provide support service, warranty, or
|
|||
|
updates for a work that has been modified or installed by the
|
|||
|
recipient, or for the User Product in which it has been modified or
|
|||
|
installed. Access to a network may be denied when the modification
|
|||
|
itself materially and adversely affects the operation of the network
|
|||
|
or violates the rules and protocols for communication across the
|
|||
|
network.
|
|||
|
|
|||
|
Corresponding Source conveyed, and Installation Information provided,
|
|||
|
in accord with this section must be in a format that is publicly
|
|||
|
documented (and with an implementation available to the public in
|
|||
|
source code form), and must require no special password or key for
|
|||
|
unpacking, reading or copying.
|
|||
|
|
|||
|
7. Additional Terms.
|
|||
|
|
|||
|
"Additional permissions" are terms that supplement the terms of this
|
|||
|
License by making exceptions from one or more of its conditions.
|
|||
|
Additional permissions that are applicable to the entire Program shall
|
|||
|
be treated as though they were included in this License, to the extent
|
|||
|
that they are valid under applicable law. If additional permissions
|
|||
|
apply only to part of the Program, that part may be used separately
|
|||
|
under those permissions, but the entire Program remains governed by
|
|||
|
this License without regard to the additional permissions.
|
|||
|
|
|||
|
When you convey a copy of a covered work, you may at your option
|
|||
|
remove any additional permissions from that copy, or from any part of
|
|||
|
it. (Additional permissions may be written to require their own
|
|||
|
removal in certain cases when you modify the work.) You may place
|
|||
|
additional permissions on material, added by you to a covered work,
|
|||
|
for which you have or can give appropriate copyright permission.
|
|||
|
|
|||
|
Notwithstanding any other provision of this License, for material
|
|||
|
you add to a covered work, you may (if authorized by the copyright
|
|||
|
holders of that material) supplement the terms of this License with
|
|||
|
terms:
|
|||
|
|
|||
|
a) Disclaiming warranty or limiting liability differently from the
|
|||
|
terms of sections 15 and 16 of this License; or
|
|||
|
|
|||
|
b) Requiring preservation of specified reasonable legal notices or
|
|||
|
author attributions in that material or in the Appropriate Legal
|
|||
|
Notices displayed by works containing it; or
|
|||
|
|
|||
|
c) Prohibiting misrepresentation of the origin of that material, or
|
|||
|
requiring that modified versions of such material be marked in
|
|||
|
reasonable ways as different from the original version; or
|
|||
|
|
|||
|
d) Limiting the use for publicity purposes of names of licensors or
|
|||
|
authors of the material; or
|
|||
|
|
|||
|
e) Declining to grant rights under trademark law for use of some
|
|||
|
trade names, trademarks, or service marks; or
|
|||
|
|
|||
|
f) Requiring indemnification of licensors and authors of that
|
|||
|
material by anyone who conveys the material (or modified versions
|
|||
|
of it) with contractual assumptions of liability to the recipient,
|
|||
|
for any liability that these contractual assumptions directly
|
|||
|
impose on those licensors and authors.
|
|||
|
|
|||
|
All other non-permissive additional terms are considered "further
|
|||
|
restrictions" within the meaning of section 10. If the Program as you
|
|||
|
received it, or any part of it, contains a notice stating that it is
|
|||
|
governed by this License along with a term that is a further
|
|||
|
restriction, you may remove that term. If a license document contains
|
|||
|
a further restriction but permits relicensing or conveying under this
|
|||
|
License, you may add to a covered work material governed by the terms
|
|||
|
of that license document, provided that the further restriction does
|
|||
|
not survive such relicensing or conveying.
|
|||
|
|
|||
|
If you add terms to a covered work in accord with this section, you
|
|||
|
must place, in the relevant source files, a statement of the
|
|||
|
additional terms that apply to those files, or a notice indicating
|
|||
|
where to find the applicable terms.
|
|||
|
|
|||
|
Additional terms, permissive or non-permissive, may be stated in the
|
|||
|
form of a separately written license, or stated as exceptions;
|
|||
|
the above requirements apply either way.
|
|||
|
|
|||
|
8. Termination.
|
|||
|
|
|||
|
You may not propagate or modify a covered work except as expressly
|
|||
|
provided under this License. Any attempt otherwise to propagate or
|
|||
|
modify it is void, and will automatically terminate your rights under
|
|||
|
this License (including any patent licenses granted under the third
|
|||
|
paragraph of section 11).
|
|||
|
|
|||
|
However, if you cease all violation of this License, then your
|
|||
|
license from a particular copyright holder is reinstated (a)
|
|||
|
provisionally, unless and until the copyright holder explicitly and
|
|||
|
finally terminates your license, and (b) permanently, if the copyright
|
|||
|
holder fails to notify you of the violation by some reasonable means
|
|||
|
prior to 60 days after the cessation.
|
|||
|
|
|||
|
Moreover, your license from a particular copyright holder is
|
|||
|
reinstated permanently if the copyright holder notifies you of the
|
|||
|
violation by some reasonable means, this is the first time you have
|
|||
|
received notice of violation of this License (for any work) from that
|
|||
|
copyright holder, and you cure the violation prior to 30 days after
|
|||
|
your receipt of the notice.
|
|||
|
|
|||
|
Termination of your rights under this section does not terminate the
|
|||
|
licenses of parties who have received copies or rights from you under
|
|||
|
this License. If your rights have been terminated and not permanently
|
|||
|
reinstated, you do not qualify to receive new licenses for the same
|
|||
|
material under section 10.
|
|||
|
|
|||
|
9. Acceptance Not Required for Having Copies.
|
|||
|
|
|||
|
You are not required to accept this License in order to receive or
|
|||
|
run a copy of the Program. Ancillary propagation of a covered work
|
|||
|
occurring solely as a consequence of using peer-to-peer transmission
|
|||
|
to receive a copy likewise does not require acceptance. However,
|
|||
|
nothing other than this License grants you permission to propagate or
|
|||
|
modify any covered work. These actions infringe copyright if you do
|
|||
|
not accept this License. Therefore, by modifying or propagating a
|
|||
|
covered work, you indicate your acceptance of this License to do so.
|
|||
|
|
|||
|
10. Automatic Licensing of Downstream Recipients.
|
|||
|
|
|||
|
Each time you convey a covered work, the recipient automatically
|
|||
|
receives a license from the original licensors, to run, modify and
|
|||
|
propagate that work, subject to this License. You are not responsible
|
|||
|
for enforcing compliance by third parties with this License.
|
|||
|
|
|||
|
An "entity transaction" is a transaction transferring control of an
|
|||
|
organization, or substantially all assets of one, or subdividing an
|
|||
|
organization, or merging organizations. If propagation of a covered
|
|||
|
work results from an entity transaction, each party to that
|
|||
|
transaction who receives a copy of the work also receives whatever
|
|||
|
licenses to the work the party's predecessor in interest had or could
|
|||
|
give under the previous paragraph, plus a right to possession of the
|
|||
|
Corresponding Source of the work from the predecessor in interest, if
|
|||
|
the predecessor has it or can get it with reasonable efforts.
|
|||
|
|
|||
|
You may not impose any further restrictions on the exercise of the
|
|||
|
rights granted or affirmed under this License. For example, you may
|
|||
|
not impose a license fee, royalty, or other charge for exercise of
|
|||
|
rights granted under this License, and you may not initiate litigation
|
|||
|
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
|||
|
any patent claim is infringed by making, using, selling, offering for
|
|||
|
sale, or importing the Program or any portion of it.
|
|||
|
|
|||
|
11. Patents.
|
|||
|
|
|||
|
A "contributor" is a copyright holder who authorizes use under this
|
|||
|
License of the Program or a work on which the Program is based. The
|
|||
|
work thus licensed is called the contributor's "contributor version".
|
|||
|
|
|||
|
A contributor's "essential patent claims" are all patent claims
|
|||
|
owned or controlled by the contributor, whether already acquired or
|
|||
|
hereafter acquired, that would be infringed by some manner, permitted
|
|||
|
by this License, of making, using, or selling its contributor version,
|
|||
|
but do not include claims that would be infringed only as a
|
|||
|
consequence of further modification of the contributor version. For
|
|||
|
purposes of this definition, "control" includes the right to grant
|
|||
|
patent sublicenses in a manner consistent with the requirements of
|
|||
|
this License.
|
|||
|
|
|||
|
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
|||
|
patent license under the contributor's essential patent claims, to
|
|||
|
make, use, sell, offer for sale, import and otherwise run, modify and
|
|||
|
propagate the contents of its contributor version.
|
|||
|
|
|||
|
In the following three paragraphs, a "patent license" is any express
|
|||
|
agreement or commitment, however denominated, not to enforce a patent
|
|||
|
(such as an express permission to practice a patent or covenant not to
|
|||
|
sue for patent infringement). To "grant" such a patent license to a
|
|||
|
party means to make such an agreement or commitment not to enforce a
|
|||
|
patent against the party.
|
|||
|
|
|||
|
If you convey a covered work, knowingly relying on a patent license,
|
|||
|
and the Corresponding Source of the work is not available for anyone
|
|||
|
to copy, free of charge and under the terms of this License, through a
|
|||
|
publicly available network server or other readily accessible means,
|
|||
|
then you must either (1) cause the Corresponding Source to be so
|
|||
|
available, or (2) arrange to deprive yourself of the benefit of the
|
|||
|
patent license for this particular work, or (3) arrange, in a manner
|
|||
|
consistent with the requirements of this License, to extend the patent
|
|||
|
license to downstream recipients. "Knowingly relying" means you have
|
|||
|
actual knowledge that, but for the patent license, your conveying the
|
|||
|
covered work in a country, or your recipient's use of the covered work
|
|||
|
in a country, would infringe one or more identifiable patents in that
|
|||
|
country that you have reason to believe are valid.
|
|||
|
|
|||
|
If, pursuant to or in connection with a single transaction or
|
|||
|
arrangement, you convey, or propagate by procuring conveyance of, a
|
|||
|
covered work, and grant a patent license to some of the parties
|
|||
|
receiving the covered work authorizing them to use, propagate, modify
|
|||
|
or convey a specific copy of the covered work, then the patent license
|
|||
|
you grant is automatically extended to all recipients of the covered
|
|||
|
work and works based on it.
|
|||
|
|
|||
|
A patent license is "discriminatory" if it does not include within
|
|||
|
the scope of its coverage, prohibits the exercise of, or is
|
|||
|
conditioned on the non-exercise of one or more of the rights that are
|
|||
|
specifically granted under this License. You may not convey a covered
|
|||
|
work if you are a party to an arrangement with a third party that is
|
|||
|
in the business of distributing software, under which you make payment
|
|||
|
to the third party based on the extent of your activity of conveying
|
|||
|
the work, and under which the third party grants, to any of the
|
|||
|
parties who would receive the covered work from you, a discriminatory
|
|||
|
patent license (a) in connection with copies of the covered work
|
|||
|
conveyed by you (or copies made from those copies), or (b) primarily
|
|||
|
for and in connection with specific products or compilations that
|
|||
|
contain the covered work, unless you entered into that arrangement,
|
|||
|
or that patent license was granted, prior to 28 March 2007.
|
|||
|
|
|||
|
Nothing in this License shall be construed as excluding or limiting
|
|||
|
any implied license or other defenses to infringement that may
|
|||
|
otherwise be available to you under applicable patent law.
|
|||
|
|
|||
|
12. No Surrender of Others' Freedom.
|
|||
|
|
|||
|
If conditions are imposed on you (whether by court order, agreement
|
|||
|
or otherwise) that contradict the conditions of this License, they do
|
|||
|
not excuse you from the conditions of this License. If you cannot
|
|||
|
convey a covered work so as to satisfy simultaneously your obligations
|
|||
|
under this License and any other pertinent obligations, then as a
|
|||
|
consequence you may not convey it at all. For example, if you agree
|
|||
|
to terms that obligate you to collect a royalty for further conveying
|
|||
|
from those to whom you convey the Program, the only way you could
|
|||
|
satisfy both those terms and this License would be to refrain entirely
|
|||
|
from conveying the Program.
|
|||
|
|
|||
|
13. Use with the GNU Affero General Public License.
|
|||
|
|
|||
|
Notwithstanding any other provision of this License, you have
|
|||
|
permission to link or combine any covered work with a work licensed
|
|||
|
under version 3 of the GNU Affero General Public License into a single
|
|||
|
combined work, and to convey the resulting work. The terms of this
|
|||
|
License will continue to apply to the part which is the covered work,
|
|||
|
but the special requirements of the GNU Affero General Public License,
|
|||
|
section 13, concerning interaction through a network will apply to the
|
|||
|
combination as such.
|
|||
|
|
|||
|
14. Revised Versions of this License.
|
|||
|
|
|||
|
The Free Software Foundation may publish revised and/or new versions
|
|||
|
of the GNU General Public License from time to time. Such new
|
|||
|
versions will be similar in spirit to the present version, but may
|
|||
|
differ in detail to address new problems or concerns.
|
|||
|
|
|||
|
Each version is given a distinguishing version number. If the
|
|||
|
Program specifies that a certain numbered version of the GNU General
|
|||
|
Public License "or any later version" applies to it, you have the
|
|||
|
option of following the terms and conditions either of that numbered
|
|||
|
version or of any later version published by the Free Software
|
|||
|
Foundation. If the Program does not specify a version number of the
|
|||
|
GNU General Public License, you may choose any version ever published
|
|||
|
by the Free Software Foundation.
|
|||
|
|
|||
|
If the Program specifies that a proxy can decide which future
|
|||
|
versions of the GNU General Public License can be used, that proxy's
|
|||
|
public statement of acceptance of a version permanently authorizes you
|
|||
|
to choose that version for the Program.
|
|||
|
|
|||
|
Later license versions may give you additional or different
|
|||
|
permissions. However, no additional obligations are imposed on any
|
|||
|
author or copyright holder as a result of your choosing to follow a
|
|||
|
later version.
|
|||
|
|
|||
|
15. Disclaimer of Warranty.
|
|||
|
|
|||
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
|||
|
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
|||
|
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
|
|||
|
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
|
|||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|||
|
A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
|||
|
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
|
|||
|
DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
|
|||
|
CORRECTION.
|
|||
|
|
|||
|
16. Limitation of Liability.
|
|||
|
|
|||
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
|||
|
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES
|
|||
|
AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
|
|||
|
DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
|
|||
|
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
|
|||
|
(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
|
|||
|
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
|
|||
|
THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
|
|||
|
OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|||
|
|
|||
|
17. Interpretation of Sections 15 and 16.
|
|||
|
|
|||
|
If the disclaimer of warranty and limitation of liability provided
|
|||
|
above cannot be given local legal effect according to their terms,
|
|||
|
reviewing courts shall apply local law that most closely approximates
|
|||
|
an absolute waiver of all civil liability in connection with the
|
|||
|
Program, unless a warranty or assumption of liability accompanies a
|
|||
|
copy of the Program in return for a fee.
|
|||
|
|
|||
|
END OF TERMS AND CONDITIONS
|
|||
|
|
|||
|
How to Apply These Terms to Your New Programs
|
|||
|
|
|||
|
If you develop a new program, and you want it to be of the greatest
|
|||
|
possible use to the public, the best way to achieve this is to make it
|
|||
|
free software which everyone can redistribute and change under these
|
|||
|
terms.
|
|||
|
|
|||
|
To do so, attach the following notices to the program. It is safest
|
|||
|
to attach them to the start of each source file to most effectively
|
|||
|
state the exclusion of warranty; and each file should have at least
|
|||
|
the "copyright" line and a pointer to where the full notice is found.
|
|||
|
|
|||
|
<one line to give the program's name and a brief idea of what it
|
|||
|
does.>
|
|||
|
Copyright (C) <year> <name of author>
|
|||
|
|
|||
|
This program 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 3 of the
|
|||
|
License, or (at your option) any later version.
|
|||
|
|
|||
|
This program 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 program. If not, see
|
|||
|
<http://www.gnu.org/licenses/>.
|
|||
|
|
|||
|
Also add information on how to contact you by electronic and paper mail.
|
|||
|
|
|||
|
If the program does terminal interaction, make it output a short
|
|||
|
notice like this when it starts in an interactive mode:
|
|||
|
|
|||
|
<program> Copyright (C) <year> <name of author> This program comes
|
|||
|
with ABSOLUTELY NO WARRANTY; for details type `show w'. This is
|
|||
|
free software, and you are welcome to redistribute it under
|
|||
|
certain conditions; type `show c' for details.
|
|||
|
|
|||
|
The hypothetical commands `show w' and `show c' should show the
|
|||
|
appropriate parts of the General Public License. Of course, your
|
|||
|
program's commands might be different; for a GUI interface, you would
|
|||
|
use an "about box".
|
|||
|
|
|||
|
You should also get your employer (if you work as a programmer) or
|
|||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
|||
|
necessary. For more information on this, and how to apply and follow
|
|||
|
the GNU GPL, see <http://www.gnu.org/licenses/>.
|
|||
|
|
|||
|
The GNU General Public License does not permit incorporating your
|
|||
|
program into proprietary programs. If your program is a subroutine
|
|||
|
library, you may consider it more useful to permit linking proprietary
|
|||
|
applications with the library. If this is what you want to do, use
|
|||
|
the GNU Lesser General Public License instead of this License. But
|
|||
|
first, please read <http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
|||
|
|
|||
|
|
|||
|
----------------------------------------------------------------------
|
|||
|
Following applies to:
|
|||
|
./test/metis_support.cpp
|
|||
|
./test/sparselu.cpp
|
|||
|
./unsupported/test/mpreal/mpreal.h
|
|||
|
./unsupported/Eigen/src/IterativeSolvers/IterationController.h
|
|||
|
./unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h
|
|||
|
./unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h
|
|||
|
./Eigen/src/OrderingMethods/Amd.h
|
|||
|
./Eigen/src/SparseCholesky/SimplicialCholesky_impl.h
|
|||
|
|
|||
|
GNU LESSER GENERAL PUBLIC LICENSE
|
|||
|
Version 3, 29 June 2007
|
|||
|
|
|||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
|||
|
Everyone is permitted to copy and distribute verbatim copies
|
|||
|
of this license document, but changing it is not allowed.
|
|||
|
|
|||
|
|
|||
|
This version of the GNU Lesser General Public License incorporates
|
|||
|
the terms and conditions of version 3 of the GNU General Public
|
|||
|
License, supplemented by the additional permissions listed below.
|
|||
|
|
|||
|
0. Additional Definitions.
|
|||
|
|
|||
|
As used herein, "this License" refers to version 3 of the GNU Lesser
|
|||
|
General Public License, and the "GNU GPL" refers to version 3 of the
|
|||
|
GNU General Public License.
|
|||
|
|
|||
|
"The Library" refers to a covered work governed by this License,
|
|||
|
other than an Application or a Combined Work as defined below.
|
|||
|
|
|||
|
An "Application" is any work that makes use of an interface provided
|
|||
|
by the Library, but which is not otherwise based on the Library.
|
|||
|
Defining a subclass of a class defined by the Library is deemed a mode
|
|||
|
of using an interface provided by the Library.
|
|||
|
|
|||
|
A "Combined Work" is a work produced by combining or linking an
|
|||
|
Application with the Library. The particular version of the Library
|
|||
|
with which the Combined Work was made is also called the "Linked
|
|||
|
Version".
|
|||
|
|
|||
|
The "Minimal Corresponding Source" for a Combined Work means the
|
|||
|
Corresponding Source for the Combined Work, excluding any source code
|
|||
|
for portions of the Combined Work that, considered in isolation, are
|
|||
|
based on the Application, and not on the Linked Version.
|
|||
|
|
|||
|
The "Corresponding Application Code" for a Combined Work means the
|
|||
|
object code and/or source code for the Application, including any data
|
|||
|
and utility programs needed for reproducing the Combined Work from the
|
|||
|
Application, but excluding the System Libraries of the Combined Work.
|
|||
|
|
|||
|
1. Exception to Section 3 of the GNU GPL.
|
|||
|
|
|||
|
You may convey a covered work under sections 3 and 4 of this License
|
|||
|
without being bound by section 3 of the GNU GPL.
|
|||
|
|
|||
|
2. Conveying Modified Versions.
|
|||
|
|
|||
|
If you modify a copy of the Library, and, in your modifications, a
|
|||
|
facility refers to a function or data to be supplied by an Application
|
|||
|
that uses the facility (other than as an argument passed when the
|
|||
|
facility is invoked), then you may convey a copy of the modified
|
|||
|
version:
|
|||
|
|
|||
|
a) under this License, provided that you make a good faith effort to
|
|||
|
ensure that, in the event an Application does not supply the
|
|||
|
function or data, the facility still operates, and performs
|
|||
|
whatever part of its purpose remains meaningful, or
|
|||
|
|
|||
|
b) under the GNU GPL, with none of the additional permissions of
|
|||
|
this License applicable to that copy.
|
|||
|
|
|||
|
3. Object Code Incorporating Material from Library Header Files.
|
|||
|
|
|||
|
The object code form of an Application may incorporate material from
|
|||
|
a header file that is part of the Library. You may convey such object
|
|||
|
code under terms of your choice, provided that, if the incorporated
|
|||
|
material is not limited to numerical parameters, data structure
|
|||
|
layouts and accessors, or small macros, inline functions and templates
|
|||
|
(ten or fewer lines in length), you do both of the following:
|
|||
|
|
|||
|
a) Give prominent notice with each copy of the object code that the
|
|||
|
Library is used in it and that the Library and its use are
|
|||
|
covered by this License.
|
|||
|
|
|||
|
b) Accompany the object code with a copy of the GNU GPL and this
|
|||
|
license document.
|
|||
|
|
|||
|
4. Combined Works.
|
|||
|
|
|||
|
You may convey a Combined Work under terms of your choice that,
|
|||
|
taken together, effectively do not restrict modification of the
|
|||
|
portions of the Library contained in the Combined Work and reverse
|
|||
|
engineering for debugging such modifications, if you also do each of
|
|||
|
the following:
|
|||
|
|
|||
|
a) Give prominent notice with each copy of the Combined Work that
|
|||
|
the Library is used in it and that the Library and its use are
|
|||
|
covered by this License.
|
|||
|
|
|||
|
b) Accompany the Combined Work with a copy of the GNU GPL and this
|
|||
|
license document.
|
|||
|
|
|||
|
c) For a Combined Work that displays copyright notices during
|
|||
|
execution, include the copyright notice for the Library among
|
|||
|
these notices, as well as a reference directing the user to the
|
|||
|
copies of the GNU GPL and this license document.
|
|||
|
|
|||
|
d) Do one of the following:
|
|||
|
|
|||
|
0) Convey the Minimal Corresponding Source under the terms of
|
|||
|
this License, and the Corresponding Application Code in a form
|
|||
|
suitable for, and under terms that permit, the user to
|
|||
|
recombine or relink the Application with a modified version of
|
|||
|
the Linked Version to produce a modified Combined Work, in the
|
|||
|
manner specified by section 6 of the GNU GPL for conveying
|
|||
|
Corresponding Source.
|
|||
|
|
|||
|
1) Use a suitable shared library mechanism for linking with the
|
|||
|
Library. A suitable mechanism is one that (a) uses at run time
|
|||
|
a copy of the Library already present on the user's computer
|
|||
|
system, and (b) will operate properly with a modified version
|
|||
|
of the Library that is interface-compatible with the Linked
|
|||
|
Version.
|
|||
|
|
|||
|
e) Provide Installation Information, but only if you would otherwise
|
|||
|
be required to provide such information under section 6 of the
|
|||
|
GNU GPL, and only to the extent that such information is
|
|||
|
necessary to install and execute a modified version of the
|
|||
|
Combined Work produced by recombining or relinking the
|
|||
|
Application with a modified version of the Linked Version. (If
|
|||
|
you use option 4d0, the Installation Information must accompany
|
|||
|
the Minimal Corresponding Source and Corresponding Application
|
|||
|
Code. If you use option 4d1, you must provide the Installation
|
|||
|
Information in the manner specified by section 6 of the GNU GPL
|
|||
|
for conveying Corresponding Source.)
|
|||
|
|
|||
|
5. Combined Libraries.
|
|||
|
|
|||
|
You may place library facilities that are a work based on the
|
|||
|
Library side by side in a single library together with other library
|
|||
|
facilities that are not Applications and are not covered by this
|
|||
|
License, and convey such a combined library under terms of your
|
|||
|
choice, if you do both of the following:
|
|||
|
|
|||
|
a) Accompany the combined library with a copy of the same work based
|
|||
|
on the Library, uncombined with any other library facilities,
|
|||
|
conveyed under the terms of this License.
|
|||
|
|
|||
|
b) Give prominent notice with the combined library that part of it
|
|||
|
is a work based on the Library, and explaining where to find the
|
|||
|
accompanying uncombined form of the same work.
|
|||
|
|
|||
|
6. Revised Versions of the GNU Lesser General Public License.
|
|||
|
|
|||
|
The Free Software Foundation may publish revised and/or new versions
|
|||
|
of the GNU Lesser General Public License from time to time. Such new
|
|||
|
versions will be similar in spirit to the present version, but may
|
|||
|
differ in detail to address new problems or concerns.
|
|||
|
|
|||
|
Each version is given a distinguishing version number. If the
|
|||
|
Library as you received it specifies that a certain numbered version
|
|||
|
of the GNU Lesser General Public License "or any later version"
|
|||
|
applies to it, you have the option of following the terms and
|
|||
|
conditions either of that published version or of any later version
|
|||
|
published by the Free Software Foundation. If the Library as you
|
|||
|
received it does not specify a version number of the GNU Lesser
|
|||
|
General Public License, you may choose any version of the GNU Lesser
|
|||
|
General Public License ever published by the Free Software Foundation.
|
|||
|
|
|||
|
If the Library as you received it specifies that a proxy can decide
|
|||
|
whether future versions of the GNU Lesser General Public License shall
|
|||
|
apply, that proxy's public statement of acceptance of any version is
|
|||
|
permanent authorization for you to choose that version for the
|
|||
|
Library.
|
|||
|
|
|||
|
|
|||
|
----------------------------------------------------------------------
|
|||
|
Following applies to:
|
|||
|
./unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h
|
|||
|
./unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h
|
|||
|
./unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h
|
|||
|
./unsupported/Eigen/src/LevenbergMarquardt/LMpar.h
|
|||
|
./unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h
|
|||
|
|
|||
|
Minpack Copyright Notice (1999) University of Chicago. All rights
|
|||
|
reserved
|
|||
|
|
|||
|
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 end-user documentation included with the
|
|||
|
redistribution, if any, must include the following
|
|||
|
acknowledgment:
|
|||
|
|
|||
|
"This product includes software developed by the
|
|||
|
University of Chicago, as Operator of Argonne National
|
|||
|
Laboratory.
|
|||
|
|
|||
|
Alternately, this acknowledgment may appear in the software
|
|||
|
itself, if and wherever such third-party acknowledgments
|
|||
|
normally appear.
|
|||
|
|
|||
|
4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS"
|
|||
|
WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE
|
|||
|
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
|
|||
|
THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR
|
|||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
|
|||
|
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE
|
|||
|
OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
|
|||
|
OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
|
|||
|
USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF
|
|||
|
THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4)
|
|||
|
DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
|
|||
|
UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL
|
|||
|
BE CORRECTED.
|
|||
|
|
|||
|
5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT
|
|||
|
HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
|
|||
|
ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT,
|
|||
|
INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF
|
|||
|
ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF
|
|||
|
PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER
|
|||
|
SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT
|
|||
|
(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
|
|||
|
EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
|
|||
|
POSSIBILITY OF SUCH LOSS OR DAMAGES.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR third_party/eigen3/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR third_party/fft2d/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
Copyright(C) 1997,2001 Takuya OOURA (email: ooura@kurims.kyoto-u.ac.jp).
|
|||
|
You may use, copy, modify this code for any purpose and
|
|||
|
without fee. You may distribute this ORIGINAL package.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR third_party/fft2d/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/aws/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
Apache License
|
|||
|
Version 2.0, January 2004
|
|||
|
http://www.apache.org/licenses/
|
|||
|
|
|||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|||
|
|
|||
|
1. Definitions.
|
|||
|
|
|||
|
"License" shall mean the terms and conditions for use, reproduction,
|
|||
|
and distribution as defined by Sections 1 through 9 of this document.
|
|||
|
|
|||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
|||
|
the copyright owner that is granting the License.
|
|||
|
|
|||
|
"Legal Entity" shall mean the union of the acting entity and all
|
|||
|
other entities that control, are controlled by, or are under common
|
|||
|
control with that entity. For the purposes of this definition,
|
|||
|
"control" means (i) the power, direct or indirect, to cause the
|
|||
|
direction or management of such entity, whether by contract or
|
|||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|||
|
|
|||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
|||
|
exercising permissions granted by this License.
|
|||
|
|
|||
|
"Source" form shall mean the preferred form for making modifications,
|
|||
|
including but not limited to software source code, documentation
|
|||
|
source, and configuration files.
|
|||
|
|
|||
|
"Object" form shall mean any form resulting from mechanical
|
|||
|
transformation or translation of a Source form, including but
|
|||
|
not limited to compiled object code, generated documentation,
|
|||
|
and conversions to other media types.
|
|||
|
|
|||
|
"Work" shall mean the work of authorship, whether in Source or
|
|||
|
Object form, made available under the License, as indicated by a
|
|||
|
copyright notice that is included in or attached to the work
|
|||
|
(an example is provided in the Appendix below).
|
|||
|
|
|||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
|||
|
form, that is based on (or derived from) the Work and for which the
|
|||
|
editorial revisions, annotations, elaborations, or other modifications
|
|||
|
represent, as a whole, an original work of authorship. For the purposes
|
|||
|
of this License, Derivative Works shall not include works that remain
|
|||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
|||
|
the Work and Derivative Works thereof.
|
|||
|
|
|||
|
"Contribution" shall mean any work of authorship, including
|
|||
|
the original version of the Work and any modifications or additions
|
|||
|
to that Work or Derivative Works thereof, that is intentionally
|
|||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
|||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
|||
|
the copyright owner. For the purposes of this definition, "submitted"
|
|||
|
means any form of electronic, verbal, or written communication sent
|
|||
|
to the Licensor or its representatives, including but not limited to
|
|||
|
communication on electronic mailing lists, source code control systems,
|
|||
|
and issue tracking systems that are managed by, or on behalf of, the
|
|||
|
Licensor for the purpose of discussing and improving the Work, but
|
|||
|
excluding communication that is conspicuously marked or otherwise
|
|||
|
designated in writing by the copyright owner as "Not a Contribution."
|
|||
|
|
|||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|||
|
on behalf of whom a Contribution has been received by Licensor and
|
|||
|
subsequently incorporated within the Work.
|
|||
|
|
|||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
|||
|
this License, each Contributor hereby grants to You a perpetual,
|
|||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|||
|
copyright license to reproduce, prepare Derivative Works of,
|
|||
|
publicly display, publicly perform, sublicense, and distribute the
|
|||
|
Work and such Derivative Works in Source or Object form.
|
|||
|
|
|||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
|||
|
this License, each Contributor hereby grants to You a perpetual,
|
|||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|||
|
(except as stated in this section) patent license to make, have made,
|
|||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|||
|
where such license applies only to those patent claims licensable
|
|||
|
by such Contributor that are necessarily infringed by their
|
|||
|
Contribution(s) alone or by combination of their Contribution(s)
|
|||
|
with the Work to which such Contribution(s) was submitted. If You
|
|||
|
institute patent litigation against any entity (including a
|
|||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|||
|
or a Contribution incorporated within the Work constitutes direct
|
|||
|
or contributory patent infringement, then any patent licenses
|
|||
|
granted to You under this License for that Work shall terminate
|
|||
|
as of the date such litigation is filed.
|
|||
|
|
|||
|
4. Redistribution. You may reproduce and distribute copies of the
|
|||
|
Work or Derivative Works thereof in any medium, with or without
|
|||
|
modifications, and in Source or Object form, provided that You
|
|||
|
meet the following conditions:
|
|||
|
|
|||
|
(a) You must give any other recipients of the Work or
|
|||
|
Derivative Works a copy of this License; and
|
|||
|
|
|||
|
(b) You must cause any modified files to carry prominent notices
|
|||
|
stating that You changed the files; and
|
|||
|
|
|||
|
(c) You must retain, in the Source form of any Derivative Works
|
|||
|
that You distribute, all copyright, patent, trademark, and
|
|||
|
attribution notices from the Source form of the Work,
|
|||
|
excluding those notices that do not pertain to any part of
|
|||
|
the Derivative Works; and
|
|||
|
|
|||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
|||
|
distribution, then any Derivative Works that You distribute must
|
|||
|
include a readable copy of the attribution notices contained
|
|||
|
within such NOTICE file, excluding those notices that do not
|
|||
|
pertain to any part of the Derivative Works, in at least one
|
|||
|
of the following places: within a NOTICE text file distributed
|
|||
|
as part of the Derivative Works; within the Source form or
|
|||
|
documentation, if provided along with the Derivative Works; or,
|
|||
|
within a display generated by the Derivative Works, if and
|
|||
|
wherever such third-party notices normally appear. The contents
|
|||
|
of the NOTICE file are for informational purposes only and
|
|||
|
do not modify the License. You may add Your own attribution
|
|||
|
notices within Derivative Works that You distribute, alongside
|
|||
|
or as an addendum to the NOTICE text from the Work, provided
|
|||
|
that such additional attribution notices cannot be construed
|
|||
|
as modifying the License.
|
|||
|
|
|||
|
You may add Your own copyright statement to Your modifications and
|
|||
|
may provide additional or different license terms and conditions
|
|||
|
for use, reproduction, or distribution of Your modifications, or
|
|||
|
for any such Derivative Works as a whole, provided Your use,
|
|||
|
reproduction, and distribution of the Work otherwise complies with
|
|||
|
the conditions stated in this License.
|
|||
|
|
|||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|||
|
any Contribution intentionally submitted for inclusion in the Work
|
|||
|
by You to the Licensor shall be under the terms and conditions of
|
|||
|
this License, without any additional terms or conditions.
|
|||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
|||
|
the terms of any separate license agreement you may have executed
|
|||
|
with Licensor regarding such Contributions.
|
|||
|
|
|||
|
6. Trademarks. This License does not grant permission to use the trade
|
|||
|
names, trademarks, service marks, or product names of the Licensor,
|
|||
|
except as required for reasonable and customary use in describing the
|
|||
|
origin of the Work and reproducing the content of the NOTICE file.
|
|||
|
|
|||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
|||
|
agreed to in writing, Licensor provides the Work (and each
|
|||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|||
|
implied, including, without limitation, any warranties or conditions
|
|||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|||
|
appropriateness of using or redistributing the Work and assume any
|
|||
|
risks associated with Your exercise of permissions under this License.
|
|||
|
|
|||
|
8. Limitation of Liability. In no event and under no legal theory,
|
|||
|
whether in tort (including negligence), contract, or otherwise,
|
|||
|
unless required by applicable law (such as deliberate and grossly
|
|||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
|||
|
liable to You for damages, including any direct, indirect, special,
|
|||
|
incidental, or consequential damages of any character arising as a
|
|||
|
result of this License or out of the use or inability to use the
|
|||
|
Work (including but not limited to damages for loss of goodwill,
|
|||
|
work stoppage, computer failure or malfunction, or any and all
|
|||
|
other commercial damages or losses), even if such Contributor
|
|||
|
has been advised of the possibility of such damages.
|
|||
|
|
|||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
|||
|
the Work or Derivative Works thereof, You may choose to offer,
|
|||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
|||
|
or other liability obligations and/or rights consistent with this
|
|||
|
License. However, in accepting such obligations, You may act only
|
|||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
|||
|
of any other Contributor, and only if You agree to indemnify,
|
|||
|
defend, and hold each Contributor harmless for any liability
|
|||
|
incurred by, or claims asserted against, such Contributor by reason
|
|||
|
of your accepting any such warranty or additional liability.
|
|||
|
|
|||
|
END OF TERMS AND CONDITIONS
|
|||
|
|
|||
|
APPENDIX: How to apply the Apache License to your work.
|
|||
|
|
|||
|
To apply the Apache License to your work, attach the following
|
|||
|
boilerplate notice, with the fields enclosed by brackets "{}"
|
|||
|
replaced with your own identifying information. (Don't include
|
|||
|
the brackets!) The text should be enclosed in the appropriate
|
|||
|
comment syntax for the file format. We also recommend that a
|
|||
|
file or class name and description of purpose be included on the
|
|||
|
same "printed page" as the copyright notice for easier
|
|||
|
identification within third-party archives.
|
|||
|
|
|||
|
Copyright {yyyy} {name of copyright owner}
|
|||
|
|
|||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|||
|
you may not use this file except in compliance with the License.
|
|||
|
You may obtain a copy of the License at
|
|||
|
|
|||
|
http://www.apache.org/licenses/LICENSE-2.0
|
|||
|
|
|||
|
Unless required by applicable law or agreed to in writing, software
|
|||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
|
See the License for the specific language governing permissions and
|
|||
|
limitations under the License.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/aws/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/boringssl/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BoringSSL is a fork of OpenSSL. As such, large parts of it fall under OpenSSL
|
|||
|
licensing. Files that are completely new have a Google copyright and an ISC
|
|||
|
license. This license is reproduced at the bottom of this file.
|
|||
|
|
|||
|
Contributors to BoringSSL are required to follow the CLA rules for Chromium:
|
|||
|
https://cla.developers.google.com/clas
|
|||
|
|
|||
|
Some files from Intel are under yet another license, which is also included
|
|||
|
underneath.
|
|||
|
|
|||
|
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the
|
|||
|
OpenSSL License and the original SSLeay license apply to the toolkit. See below
|
|||
|
for the actual license texts. Actually both licenses are BSD-style Open Source
|
|||
|
licenses. In case of any license issues related to OpenSSL please contact
|
|||
|
openssl-core@openssl.org.
|
|||
|
|
|||
|
The following are Google-internal bug numbers where explicit permission from
|
|||
|
some authors is recorded for use of their work. (This is purely for our own
|
|||
|
record keeping.)
|
|||
|
27287199
|
|||
|
27287880
|
|||
|
27287883
|
|||
|
|
|||
|
OpenSSL License
|
|||
|
---------------
|
|||
|
|
|||
|
/* ====================================================================
|
|||
|
* Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.
|
|||
|
*
|
|||
|
* 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. All advertising materials mentioning features or use of this
|
|||
|
* software must display the following acknowledgment:
|
|||
|
* "This product includes software developed by the OpenSSL Project
|
|||
|
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
|||
|
*
|
|||
|
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
|||
|
* endorse or promote products derived from this software without
|
|||
|
* prior written permission. For written permission, please contact
|
|||
|
* openssl-core@openssl.org.
|
|||
|
*
|
|||
|
* 5. Products derived from this software may not be called "OpenSSL"
|
|||
|
* nor may "OpenSSL" appear in their names without prior written
|
|||
|
* permission of the OpenSSL Project.
|
|||
|
*
|
|||
|
* 6. Redistributions of any form whatsoever must retain the following
|
|||
|
* acknowledgment:
|
|||
|
* "This product includes software developed by the OpenSSL Project
|
|||
|
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
|||
|
*
|
|||
|
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
|||
|
* EXPRESSED 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 OpenSSL PROJECT OR
|
|||
|
* ITS CONTRIBUTORS 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, 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.
|
|||
|
* ====================================================================
|
|||
|
*
|
|||
|
* This product includes cryptographic software written by Eric Young
|
|||
|
* (eay@cryptsoft.com). This product includes software written by Tim
|
|||
|
* Hudson (tjh@cryptsoft.com).
|
|||
|
*
|
|||
|
*/
|
|||
|
|
|||
|
Original SSLeay License
|
|||
|
-----------------------
|
|||
|
|
|||
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
|||
|
* All rights reserved.
|
|||
|
*
|
|||
|
* This package is an SSL implementation written
|
|||
|
* by Eric Young (eay@cryptsoft.com).
|
|||
|
* The implementation was written so as to conform with Netscapes SSL.
|
|||
|
*
|
|||
|
* This library is free for commercial and non-commercial use as long as
|
|||
|
* the following conditions are aheared to. The following conditions
|
|||
|
* apply to all code found in this distribution, be it the RC4, RSA,
|
|||
|
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
|||
|
* included with this distribution is covered by the same copyright terms
|
|||
|
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
|||
|
*
|
|||
|
* Copyright remains Eric Young's, and as such any Copyright notices in
|
|||
|
* the code are not to be removed.
|
|||
|
* If this package is used in a product, Eric Young should be given attribution
|
|||
|
* as the author of the parts of the library used.
|
|||
|
* This can be in the form of a textual message at program startup or
|
|||
|
* in documentation (online or textual) provided with the package.
|
|||
|
*
|
|||
|
* 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 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. All advertising materials mentioning features or use of this software
|
|||
|
* must display the following acknowledgement:
|
|||
|
* "This product includes cryptographic software written by
|
|||
|
* Eric Young (eay@cryptsoft.com)"
|
|||
|
* The word 'cryptographic' can be left out if the rouines from the library
|
|||
|
* being used are not cryptographic related :-).
|
|||
|
* 4. If you include any Windows specific code (or a derivative thereof) from
|
|||
|
* the apps directory (application code) you must include an acknowledgement:
|
|||
|
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
|||
|
*
|
|||
|
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 OR CONTRIBUTORS 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, 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.
|
|||
|
*
|
|||
|
* The licence and distribution terms for any publically available version or
|
|||
|
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
|||
|
* copied and put under another distribution licence
|
|||
|
* [including the GNU Public Licence.]
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
ISC license used for completely new code in BoringSSL:
|
|||
|
|
|||
|
/* Copyright (c) 2015, Google Inc.
|
|||
|
*
|
|||
|
* Permission to use, copy, modify, and/or distribute this software for any
|
|||
|
* purpose with or without fee is hereby granted, provided that the above
|
|||
|
* copyright notice and this permission notice appear in all copies.
|
|||
|
*
|
|||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|||
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|||
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
|||
|
* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|||
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
|||
|
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
|||
|
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
|
|||
|
|
|||
|
|
|||
|
Some files from Intel carry the following license:
|
|||
|
|
|||
|
# Copyright (c) 2012, Intel Corporation
|
|||
|
#
|
|||
|
# All rights reserved.
|
|||
|
#
|
|||
|
# Redistribution and use in source and binary forms, with or without
|
|||
|
# modification, are permitted provided that the following conditions are
|
|||
|
# met:
|
|||
|
#
|
|||
|
# * Redistributions of source code must retain the above copyright
|
|||
|
# notice, this list of conditions and the following disclaimer.
|
|||
|
#
|
|||
|
# * 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.
|
|||
|
#
|
|||
|
# * Neither the name of the Intel Corporation nor the names of its
|
|||
|
# contributors may be used to endorse or promote products derived from
|
|||
|
# this software without specific prior written permission.
|
|||
|
#
|
|||
|
#
|
|||
|
# THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION ""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 INTEL CORPORATION OR
|
|||
|
# CONTRIBUTORS 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, 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.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/boringssl/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/com_googlesource_code_re2/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
// Copyright (c) 2009 The RE2 Authors. All rights reserved.
|
|||
|
//
|
|||
|
// Redistribution and use in source and binary forms, with or without
|
|||
|
// modification, are permitted provided that the following conditions are
|
|||
|
// met:
|
|||
|
//
|
|||
|
// * Redistributions of source code must retain the above copyright
|
|||
|
// notice, this list of conditions and the following disclaimer.
|
|||
|
// * 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.
|
|||
|
// * Neither the name of Google Inc. nor the names of its
|
|||
|
// contributors may be used to endorse or promote products derived from
|
|||
|
// this software without specific prior written permission.
|
|||
|
//
|
|||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|||
|
// "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 COPYRIGHT
|
|||
|
// OWNER OR CONTRIBUTORS 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, 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.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/com_googlesource_code_re2/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/cub_archive/LICENSE.TXT
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
Copyright (c) 2010-2011, Duane Merrill. All rights reserved.
|
|||
|
Copyright (c) 2011-2018, NVIDIA CORPORATION. All rights reserved.
|
|||
|
|
|||
|
Redistribution and use in source and binary forms, with or without
|
|||
|
modification, are permitted provided that the following conditions are met:
|
|||
|
* Redistributions of source code must retain the above copyright
|
|||
|
notice, this list of conditions and the following disclaimer.
|
|||
|
* 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.
|
|||
|
* Neither the name of the NVIDIA CORPORATION nor the
|
|||
|
names of its contributors may be used to endorse or promote products
|
|||
|
derived from this software without specific prior written permission.
|
|||
|
|
|||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 NVIDIA CORPORATION 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, 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.--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/cub_archive/LICENSE.TXT
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/curl/COPYING
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
COPYRIGHT AND PERMISSION NOTICE
|
|||
|
|
|||
|
Copyright (c) 1996 - 2016, Daniel Stenberg, <daniel@haxx.se>, and many
|
|||
|
contributors, see the THANKS file.
|
|||
|
|
|||
|
All rights reserved.
|
|||
|
|
|||
|
Permission to use, copy, modify, and distribute this software for any purpose
|
|||
|
with or without fee is hereby granted, provided that the above copyright
|
|||
|
notice and this permission notice appear in all copies.
|
|||
|
|
|||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
|
|||
|
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|||
|
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|||
|
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
|||
|
OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
|
|||
|
Except as contained in this notice, the name of a copyright holder shall not
|
|||
|
be used in advertising or otherwise to promote the sale, use or other dealings
|
|||
|
in this Software without prior written authorization of the copyright holder.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/curl/COPYING
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/eigen_archive/COPYING.MPL2
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
Mozilla Public License Version 2.0
|
|||
|
==================================
|
|||
|
|
|||
|
1. Definitions
|
|||
|
--------------
|
|||
|
|
|||
|
1.1. "Contributor"
|
|||
|
means each individual or legal entity that creates, contributes to
|
|||
|
the creation of, or owns Covered Software.
|
|||
|
|
|||
|
1.2. "Contributor Version"
|
|||
|
means the combination of the Contributions of others (if any) used
|
|||
|
by a Contributor and that particular Contributor's Contribution.
|
|||
|
|
|||
|
1.3. "Contribution"
|
|||
|
means Covered Software of a particular Contributor.
|
|||
|
|
|||
|
1.4. "Covered Software"
|
|||
|
means Source Code Form to which the initial Contributor has attached
|
|||
|
the notice in Exhibit A, the Executable Form of such Source Code
|
|||
|
Form, and Modifications of such Source Code Form, in each case
|
|||
|
including portions thereof.
|
|||
|
|
|||
|
1.5. "Incompatible With Secondary Licenses"
|
|||
|
means
|
|||
|
|
|||
|
(a) that the initial Contributor has attached the notice described
|
|||
|
in Exhibit B to the Covered Software; or
|
|||
|
|
|||
|
(b) that the Covered Software was made available under the terms of
|
|||
|
version 1.1 or earlier of the License, but not also under the
|
|||
|
terms of a Secondary License.
|
|||
|
|
|||
|
1.6. "Executable Form"
|
|||
|
means any form of the work other than Source Code Form.
|
|||
|
|
|||
|
1.7. "Larger Work"
|
|||
|
means a work that combines Covered Software with other material, in
|
|||
|
a separate file or files, that is not Covered Software.
|
|||
|
|
|||
|
1.8. "License"
|
|||
|
means this document.
|
|||
|
|
|||
|
1.9. "Licensable"
|
|||
|
means having the right to grant, to the maximum extent possible,
|
|||
|
whether at the time of the initial grant or subsequently, any and
|
|||
|
all of the rights conveyed by this License.
|
|||
|
|
|||
|
1.10. "Modifications"
|
|||
|
means any of the following:
|
|||
|
|
|||
|
(a) any file in Source Code Form that results from an addition to,
|
|||
|
deletion from, or modification of the contents of Covered
|
|||
|
Software; or
|
|||
|
|
|||
|
(b) any new file in Source Code Form that contains any Covered
|
|||
|
Software.
|
|||
|
|
|||
|
1.11. "Patent Claims" of a Contributor
|
|||
|
means any patent claim(s), including without limitation, method,
|
|||
|
process, and apparatus claims, in any patent Licensable by such
|
|||
|
Contributor that would be infringed, but for the grant of the
|
|||
|
License, by the making, using, selling, offering for sale, having
|
|||
|
made, import, or transfer of either its Contributions or its
|
|||
|
Contributor Version.
|
|||
|
|
|||
|
1.12. "Secondary License"
|
|||
|
means either the GNU General Public License, Version 2.0, the GNU
|
|||
|
Lesser General Public License, Version 2.1, the GNU Affero General
|
|||
|
Public License, Version 3.0, or any later versions of those
|
|||
|
licenses.
|
|||
|
|
|||
|
1.13. "Source Code Form"
|
|||
|
means the form of the work preferred for making modifications.
|
|||
|
|
|||
|
1.14. "You" (or "Your")
|
|||
|
means an individual or a legal entity exercising rights under this
|
|||
|
License. For legal entities, "You" includes any entity that
|
|||
|
controls, is controlled by, or is under common control with You. For
|
|||
|
purposes of this definition, "control" means (a) the power, direct
|
|||
|
or indirect, to cause the direction or management of such entity,
|
|||
|
whether by contract or otherwise, or (b) ownership of more than
|
|||
|
fifty percent (50%) of the outstanding shares or beneficial
|
|||
|
ownership of such entity.
|
|||
|
|
|||
|
2. License Grants and Conditions
|
|||
|
--------------------------------
|
|||
|
|
|||
|
2.1. Grants
|
|||
|
|
|||
|
Each Contributor hereby grants You a world-wide, royalty-free,
|
|||
|
non-exclusive license:
|
|||
|
|
|||
|
(a) under intellectual property rights (other than patent or trademark)
|
|||
|
Licensable by such Contributor to use, reproduce, make available,
|
|||
|
modify, display, perform, distribute, and otherwise exploit its
|
|||
|
Contributions, either on an unmodified basis, with Modifications, or
|
|||
|
as part of a Larger Work; and
|
|||
|
|
|||
|
(b) under Patent Claims of such Contributor to make, use, sell, offer
|
|||
|
for sale, have made, import, and otherwise transfer either its
|
|||
|
Contributions or its Contributor Version.
|
|||
|
|
|||
|
2.2. Effective Date
|
|||
|
|
|||
|
The licenses granted in Section 2.1 with respect to any Contribution
|
|||
|
become effective for each Contribution on the date the Contributor first
|
|||
|
distributes such Contribution.
|
|||
|
|
|||
|
2.3. Limitations on Grant Scope
|
|||
|
|
|||
|
The licenses granted in this Section 2 are the only rights granted under
|
|||
|
this License. No additional rights or licenses will be implied from the
|
|||
|
distribution or licensing of Covered Software under this License.
|
|||
|
Notwithstanding Section 2.1(b) above, no patent license is granted by a
|
|||
|
Contributor:
|
|||
|
|
|||
|
(a) for any code that a Contributor has removed from Covered Software;
|
|||
|
or
|
|||
|
|
|||
|
(b) for infringements caused by: (i) Your and any other third party's
|
|||
|
modifications of Covered Software, or (ii) the combination of its
|
|||
|
Contributions with other software (except as part of its Contributor
|
|||
|
Version); or
|
|||
|
|
|||
|
(c) under Patent Claims infringed by Covered Software in the absence of
|
|||
|
its Contributions.
|
|||
|
|
|||
|
This License does not grant any rights in the trademarks, service marks,
|
|||
|
or logos of any Contributor (except as may be necessary to comply with
|
|||
|
the notice requirements in Section 3.4).
|
|||
|
|
|||
|
2.4. Subsequent Licenses
|
|||
|
|
|||
|
No Contributor makes additional grants as a result of Your choice to
|
|||
|
distribute the Covered Software under a subsequent version of this
|
|||
|
License (see Section 10.2) or under the terms of a Secondary License (if
|
|||
|
permitted under the terms of Section 3.3).
|
|||
|
|
|||
|
2.5. Representation
|
|||
|
|
|||
|
Each Contributor represents that the Contributor believes its
|
|||
|
Contributions are its original creation(s) or it has sufficient rights
|
|||
|
to grant the rights to its Contributions conveyed by this License.
|
|||
|
|
|||
|
2.6. Fair Use
|
|||
|
|
|||
|
This License is not intended to limit any rights You have under
|
|||
|
applicable copyright doctrines of fair use, fair dealing, or other
|
|||
|
equivalents.
|
|||
|
|
|||
|
2.7. Conditions
|
|||
|
|
|||
|
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
|
|||
|
in Section 2.1.
|
|||
|
|
|||
|
3. Responsibilities
|
|||
|
-------------------
|
|||
|
|
|||
|
3.1. Distribution of Source Form
|
|||
|
|
|||
|
All distribution of Covered Software in Source Code Form, including any
|
|||
|
Modifications that You create or to which You contribute, must be under
|
|||
|
the terms of this License. You must inform recipients that the Source
|
|||
|
Code Form of the Covered Software is governed by the terms of this
|
|||
|
License, and how they can obtain a copy of this License. You may not
|
|||
|
attempt to alter or restrict the recipients' rights in the Source Code
|
|||
|
Form.
|
|||
|
|
|||
|
3.2. Distribution of Executable Form
|
|||
|
|
|||
|
If You distribute Covered Software in Executable Form then:
|
|||
|
|
|||
|
(a) such Covered Software must also be made available in Source Code
|
|||
|
Form, as described in Section 3.1, and You must inform recipients of
|
|||
|
the Executable Form how they can obtain a copy of such Source Code
|
|||
|
Form by reasonable means in a timely manner, at a charge no more
|
|||
|
than the cost of distribution to the recipient; and
|
|||
|
|
|||
|
(b) You may distribute such Executable Form under the terms of this
|
|||
|
License, or sublicense it under different terms, provided that the
|
|||
|
license for the Executable Form does not attempt to limit or alter
|
|||
|
the recipients' rights in the Source Code Form under this License.
|
|||
|
|
|||
|
3.3. Distribution of a Larger Work
|
|||
|
|
|||
|
You may create and distribute a Larger Work under terms of Your choice,
|
|||
|
provided that You also comply with the requirements of this License for
|
|||
|
the Covered Software. If the Larger Work is a combination of Covered
|
|||
|
Software with a work governed by one or more Secondary Licenses, and the
|
|||
|
Covered Software is not Incompatible With Secondary Licenses, this
|
|||
|
License permits You to additionally distribute such Covered Software
|
|||
|
under the terms of such Secondary License(s), so that the recipient of
|
|||
|
the Larger Work may, at their option, further distribute the Covered
|
|||
|
Software under the terms of either this License or such Secondary
|
|||
|
License(s).
|
|||
|
|
|||
|
3.4. Notices
|
|||
|
|
|||
|
You may not remove or alter the substance of any license notices
|
|||
|
(including copyright notices, patent notices, disclaimers of warranty,
|
|||
|
or limitations of liability) contained within the Source Code Form of
|
|||
|
the Covered Software, except that You may alter any license notices to
|
|||
|
the extent required to remedy known factual inaccuracies.
|
|||
|
|
|||
|
3.5. Application of Additional Terms
|
|||
|
|
|||
|
You may choose to offer, and to charge a fee for, warranty, support,
|
|||
|
indemnity or liability obligations to one or more recipients of Covered
|
|||
|
Software. However, You may do so only on Your own behalf, and not on
|
|||
|
behalf of any Contributor. You must make it absolutely clear that any
|
|||
|
such warranty, support, indemnity, or liability obligation is offered by
|
|||
|
You alone, and You hereby agree to indemnify every Contributor for any
|
|||
|
liability incurred by such Contributor as a result of warranty, support,
|
|||
|
indemnity or liability terms You offer. You may include additional
|
|||
|
disclaimers of warranty and limitations of liability specific to any
|
|||
|
jurisdiction.
|
|||
|
|
|||
|
4. Inability to Comply Due to Statute or Regulation
|
|||
|
---------------------------------------------------
|
|||
|
|
|||
|
If it is impossible for You to comply with any of the terms of this
|
|||
|
License with respect to some or all of the Covered Software due to
|
|||
|
statute, judicial order, or regulation then You must: (a) comply with
|
|||
|
the terms of this License to the maximum extent possible; and (b)
|
|||
|
describe the limitations and the code they affect. Such description must
|
|||
|
be placed in a text file included with all distributions of the Covered
|
|||
|
Software under this License. Except to the extent prohibited by statute
|
|||
|
or regulation, such description must be sufficiently detailed for a
|
|||
|
recipient of ordinary skill to be able to understand it.
|
|||
|
|
|||
|
5. Termination
|
|||
|
--------------
|
|||
|
|
|||
|
5.1. The rights granted under this License will terminate automatically
|
|||
|
if You fail to comply with any of its terms. However, if You become
|
|||
|
compliant, then the rights granted under this License from a particular
|
|||
|
Contributor are reinstated (a) provisionally, unless and until such
|
|||
|
Contributor explicitly and finally terminates Your grants, and (b) on an
|
|||
|
ongoing basis, if such Contributor fails to notify You of the
|
|||
|
non-compliance by some reasonable means prior to 60 days after You have
|
|||
|
come back into compliance. Moreover, Your grants from a particular
|
|||
|
Contributor are reinstated on an ongoing basis if such Contributor
|
|||
|
notifies You of the non-compliance by some reasonable means, this is the
|
|||
|
first time You have received notice of non-compliance with this License
|
|||
|
from such Contributor, and You become compliant prior to 30 days after
|
|||
|
Your receipt of the notice.
|
|||
|
|
|||
|
5.2. If You initiate litigation against any entity by asserting a patent
|
|||
|
infringement claim (excluding declaratory judgment actions,
|
|||
|
counter-claims, and cross-claims) alleging that a Contributor Version
|
|||
|
directly or indirectly infringes any patent, then the rights granted to
|
|||
|
You by any and all Contributors for the Covered Software under Section
|
|||
|
2.1 of this License shall terminate.
|
|||
|
|
|||
|
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
|
|||
|
end user license agreements (excluding distributors and resellers) which
|
|||
|
have been validly granted by You or Your distributors under this License
|
|||
|
prior to termination shall survive termination.
|
|||
|
|
|||
|
************************************************************************
|
|||
|
* *
|
|||
|
* 6. Disclaimer of Warranty *
|
|||
|
* ------------------------- *
|
|||
|
* *
|
|||
|
* Covered Software is provided under this License on an "as is" *
|
|||
|
* basis, without warranty of any kind, either expressed, implied, or *
|
|||
|
* statutory, including, without limitation, warranties that the *
|
|||
|
* Covered Software is free of defects, merchantable, fit for a *
|
|||
|
* particular purpose or non-infringing. The entire risk as to the *
|
|||
|
* quality and performance of the Covered Software is with You. *
|
|||
|
* Should any Covered Software prove defective in any respect, You *
|
|||
|
* (not any Contributor) assume the cost of any necessary servicing, *
|
|||
|
* repair, or correction. This disclaimer of warranty constitutes an *
|
|||
|
* essential part of this License. No use of any Covered Software is *
|
|||
|
* authorized under this License except under this disclaimer. *
|
|||
|
* *
|
|||
|
************************************************************************
|
|||
|
|
|||
|
************************************************************************
|
|||
|
* *
|
|||
|
* 7. Limitation of Liability *
|
|||
|
* -------------------------- *
|
|||
|
* *
|
|||
|
* Under no circumstances and under no legal theory, whether tort *
|
|||
|
* (including negligence), contract, or otherwise, shall any *
|
|||
|
* Contributor, or anyone who distributes Covered Software as *
|
|||
|
* permitted above, be liable to You for any direct, indirect, *
|
|||
|
* special, incidental, or consequential damages of any character *
|
|||
|
* including, without limitation, damages for lost profits, loss of *
|
|||
|
* goodwill, work stoppage, computer failure or malfunction, or any *
|
|||
|
* and all other commercial damages or losses, even if such party *
|
|||
|
* shall have been informed of the possibility of such damages. This *
|
|||
|
* limitation of liability shall not apply to liability for death or *
|
|||
|
* personal injury resulting from such party's negligence to the *
|
|||
|
* extent applicable law prohibits such limitation. Some *
|
|||
|
* jurisdictions do not allow the exclusion or limitation of *
|
|||
|
* incidental or consequential damages, so this exclusion and *
|
|||
|
* limitation may not apply to You. *
|
|||
|
* *
|
|||
|
************************************************************************
|
|||
|
|
|||
|
8. Litigation
|
|||
|
-------------
|
|||
|
|
|||
|
Any litigation relating to this License may be brought only in the
|
|||
|
courts of a jurisdiction where the defendant maintains its principal
|
|||
|
place of business and such litigation shall be governed by laws of that
|
|||
|
jurisdiction, without reference to its conflict-of-law provisions.
|
|||
|
Nothing in this Section shall prevent a party's ability to bring
|
|||
|
cross-claims or counter-claims.
|
|||
|
|
|||
|
9. Miscellaneous
|
|||
|
----------------
|
|||
|
|
|||
|
This License represents the complete agreement concerning the subject
|
|||
|
matter hereof. If any provision of this License is held to be
|
|||
|
unenforceable, such provision shall be reformed only to the extent
|
|||
|
necessary to make it enforceable. Any law or regulation which provides
|
|||
|
that the language of a contract shall be construed against the drafter
|
|||
|
shall not be used to construe this License against a Contributor.
|
|||
|
|
|||
|
10. Versions of the License
|
|||
|
---------------------------
|
|||
|
|
|||
|
10.1. New Versions
|
|||
|
|
|||
|
Mozilla Foundation is the license steward. Except as provided in Section
|
|||
|
10.3, no one other than the license steward has the right to modify or
|
|||
|
publish new versions of this License. Each version will be given a
|
|||
|
distinguishing version number.
|
|||
|
|
|||
|
10.2. Effect of New Versions
|
|||
|
|
|||
|
You may distribute the Covered Software under the terms of the version
|
|||
|
of the License under which You originally received the Covered Software,
|
|||
|
or under the terms of any subsequent version published by the license
|
|||
|
steward.
|
|||
|
|
|||
|
10.3. Modified Versions
|
|||
|
|
|||
|
If you create software not governed by this License, and you want to
|
|||
|
create a new license for such software, you may create and use a
|
|||
|
modified version of this License if you rename the license and remove
|
|||
|
any references to the name of the license steward (except to note that
|
|||
|
such modified license differs from this License).
|
|||
|
|
|||
|
10.4. Distributing Source Code Form that is Incompatible With Secondary
|
|||
|
Licenses
|
|||
|
|
|||
|
If You choose to distribute Source Code Form that is Incompatible With
|
|||
|
Secondary Licenses under the terms of this version of the License, the
|
|||
|
notice described in Exhibit B of this License must be attached.
|
|||
|
|
|||
|
Exhibit A - Source Code Form License Notice
|
|||
|
-------------------------------------------
|
|||
|
|
|||
|
This Source Code Form is subject to the terms of the Mozilla Public
|
|||
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
|||
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|||
|
|
|||
|
If it is not possible or desirable to put the notice in a particular
|
|||
|
file, then You may include the notice in a location (such as a LICENSE
|
|||
|
file in a relevant directory) where a recipient would be likely to look
|
|||
|
for such a notice.
|
|||
|
|
|||
|
You may add additional accurate notices of copyright ownership.
|
|||
|
|
|||
|
Exhibit B - "Incompatible With Secondary Licenses" Notice
|
|||
|
---------------------------------------------------------
|
|||
|
|
|||
|
This Source Code Form is "Incompatible With Secondary Licenses", as
|
|||
|
defined by the Mozilla Public License, v. 2.0.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/eigen_archive/COPYING.MPL2
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/farmhash_archive/COPYING
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
// Copyright (c) 2014 Google, Inc.
|
|||
|
//
|
|||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|||
|
// of this software and associated documentation files (the "Software"), to deal
|
|||
|
// in the Software without restriction, including without limitation the rights
|
|||
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|||
|
// copies of the Software, and to permit persons to whom the Software is
|
|||
|
// furnished to do so, subject to the following conditions:
|
|||
|
//
|
|||
|
// The above copyright notice and this permission notice shall be included in
|
|||
|
// all copies or substantial portions of the Software.
|
|||
|
//
|
|||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|||
|
// THE SOFTWARE.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/farmhash_archive/COPYING
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/fft2d/fft/readme.txt
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
General Purpose FFT (Fast Fourier/Cosine/Sine Transform) Package
|
|||
|
|
|||
|
Description:
|
|||
|
A package to calculate Discrete Fourier/Cosine/Sine Transforms of
|
|||
|
1-dimensional sequences of length 2^N.
|
|||
|
|
|||
|
Files:
|
|||
|
fft4g.c : FFT Package in C - Fast Version I (radix 4,2)
|
|||
|
fft4g.f : FFT Package in Fortran - Fast Version I (radix 4,2)
|
|||
|
fft4g_h.c : FFT Package in C - Simple Version I (radix 4,2)
|
|||
|
fft8g.c : FFT Package in C - Fast Version II (radix 8,4,2)
|
|||
|
fft8g.f : FFT Package in Fortran - Fast Version II (radix 8,4,2)
|
|||
|
fft8g_h.c : FFT Package in C - Simple Version II (radix 8,4,2)
|
|||
|
fftsg.c : FFT Package in C - Fast Version III (Split-Radix)
|
|||
|
fftsg.f : FFT Package in Fortran - Fast Version III (Split-Radix)
|
|||
|
fftsg_h.c : FFT Package in C - Simple Version III (Split-Radix)
|
|||
|
readme.txt : Readme File
|
|||
|
sample1/ : Test Directory
|
|||
|
Makefile : for gcc, cc
|
|||
|
Makefile.f77: for Fortran
|
|||
|
testxg.c : Test Program for "fft*g.c"
|
|||
|
testxg.f : Test Program for "fft*g.f"
|
|||
|
testxg_h.c : Test Program for "fft*g_h.c"
|
|||
|
sample2/ : Benchmark Directory
|
|||
|
Makefile : for gcc, cc
|
|||
|
Makefile.pth: POSIX Thread version
|
|||
|
pi_fft.c : PI(= 3.1415926535897932384626...) Calculation Program
|
|||
|
for a Benchmark Test for "fft*g.c"
|
|||
|
|
|||
|
Difference of the Files:
|
|||
|
C and Fortran versions are equal and
|
|||
|
the same routines are in each version.
|
|||
|
"fft4g*.*" are optimized for most machines.
|
|||
|
"fft8g*.*" are fast on the UltraSPARC.
|
|||
|
"fftsg*.*" are optimized for the machines that
|
|||
|
have the multi-level (L1,L2,etc) cache.
|
|||
|
The simple versions "fft*g_h.c" use no work area, but
|
|||
|
the fast versions "fft*g.*" use work areas.
|
|||
|
The fast versions "fft*g.*" have the same specification.
|
|||
|
|
|||
|
Routines in the Package:
|
|||
|
cdft: Complex Discrete Fourier Transform
|
|||
|
rdft: Real Discrete Fourier Transform
|
|||
|
ddct: Discrete Cosine Transform
|
|||
|
ddst: Discrete Sine Transform
|
|||
|
dfct: Cosine Transform of RDFT (Real Symmetric DFT)
|
|||
|
dfst: Sine Transform of RDFT (Real Anti-symmetric DFT)
|
|||
|
|
|||
|
Usage:
|
|||
|
Please refer to the comments in the "fft**.*" file which
|
|||
|
you want to use. Brief explanations are in the block
|
|||
|
comments of each package. The examples are also given in
|
|||
|
the test programs.
|
|||
|
|
|||
|
Method:
|
|||
|
-------- cdft --------
|
|||
|
fft4g*.*, fft8g*.*:
|
|||
|
A method of in-place, radix 2^M, Sande-Tukey (decimation in
|
|||
|
frequency). Index of the butterfly loop is in bit
|
|||
|
reverse order to keep continuous memory access.
|
|||
|
fftsg*.*:
|
|||
|
A method of in-place, Split-Radix, recursive fast
|
|||
|
algorithm.
|
|||
|
-------- rdft --------
|
|||
|
A method with a following butterfly operation appended to "cdft".
|
|||
|
In forward transform :
|
|||
|
A[k] = sum_j=0^n-1 a[j]*W(n)^(j*k), 0<=k<=n/2,
|
|||
|
W(n) = exp(2*pi*i/n),
|
|||
|
this routine makes an array x[] :
|
|||
|
x[j] = a[2*j] + i*a[2*j+1], 0<=j<n/2
|
|||
|
and calls "cdft" of length n/2 :
|
|||
|
X[k] = sum_j=0^n/2-1 x[j] * W(n/2)^(j*k), 0<=k<n.
|
|||
|
The result A[k] are :
|
|||
|
A[k] = X[k] - (1+i*W(n)^k)/2 * (X[k]-conjg(X[n/2-k])),
|
|||
|
A[n/2-k] = X[n/2-k] +
|
|||
|
conjg((1+i*W(n)^k)/2 * (X[k]-conjg(X[n/2-k]))),
|
|||
|
0<=k<=n/2
|
|||
|
(notes: conjg() is a complex conjugate, X[n/2]=X[0]).
|
|||
|
-------- ddct --------
|
|||
|
A method with a following butterfly operation appended to "rdft".
|
|||
|
In backward transform :
|
|||
|
C[k] = sum_j=0^n-1 a[j]*cos(pi*j*(k+1/2)/n), 0<=k<n,
|
|||
|
this routine makes an array r[] :
|
|||
|
r[0] = a[0],
|
|||
|
r[j] = Re((a[j] - i*a[n-j]) * W(4*n)^j*(1+i)/2),
|
|||
|
r[n-j] = Im((a[j] - i*a[n-j]) * W(4*n)^j*(1+i)/2),
|
|||
|
0<j<=n/2
|
|||
|
and calls "rdft" of length n :
|
|||
|
A[k] = sum_j=0^n-1 r[j]*W(n)^(j*k), 0<=k<=n/2,
|
|||
|
W(n) = exp(2*pi*i/n).
|
|||
|
The result C[k] are :
|
|||
|
C[2*k] = Re(A[k] * (1-i)),
|
|||
|
C[2*k-1] = -Im(A[k] * (1-i)).
|
|||
|
-------- ddst --------
|
|||
|
A method with a following butterfly operation appended to "rdft".
|
|||
|
In backward transform :
|
|||
|
S[k] = sum_j=1^n A[j]*sin(pi*j*(k+1/2)/n), 0<=k<n,
|
|||
|
this routine makes an array r[] :
|
|||
|
r[0] = a[0],
|
|||
|
r[j] = Im((a[n-j] - i*a[j]) * W(4*n)^j*(1+i)/2),
|
|||
|
r[n-j] = Re((a[n-j] - i*a[j]) * W(4*n)^j*(1+i)/2),
|
|||
|
0<j<=n/2
|
|||
|
and calls "rdft" of length n :
|
|||
|
A[k] = sum_j=0^n-1 r[j]*W(n)^(j*k), 0<=k<=n/2,
|
|||
|
W(n) = exp(2*pi*i/n).
|
|||
|
The result S[k] are :
|
|||
|
S[2*k] = Re(A[k] * (1+i)),
|
|||
|
S[2*k-1] = -Im(A[k] * (1+i)).
|
|||
|
-------- dfct --------
|
|||
|
A method to split into "dfct" and "ddct" of half length.
|
|||
|
The transform :
|
|||
|
C[k] = sum_j=0^n a[j]*cos(pi*j*k/n), 0<=k<=n
|
|||
|
is divided into :
|
|||
|
C[2*k] = sum'_j=0^n/2 (a[j]+a[n-j])*cos(pi*j*k/(n/2)),
|
|||
|
C[2*k+1] = sum_j=0^n/2-1 (a[j]-a[n-j])*cos(pi*j*(k+1/2)/(n/2))
|
|||
|
(sum' is a summation whose last term multiplies 1/2).
|
|||
|
This routine uses "ddct" recursively.
|
|||
|
To keep the in-place operation, the data in fft*g_h.*
|
|||
|
are sorted in bit reversal order.
|
|||
|
-------- dfst --------
|
|||
|
A method to split into "dfst" and "ddst" of half length.
|
|||
|
The transform :
|
|||
|
S[k] = sum_j=1^n-1 a[j]*sin(pi*j*k/n), 0<k<n
|
|||
|
is divided into :
|
|||
|
S[2*k] = sum_j=1^n/2-1 (a[j]-a[n-j])*sin(pi*j*k/(n/2)),
|
|||
|
S[2*k+1] = sum'_j=1^n/2 (a[j]+a[n-j])*sin(pi*j*(k+1/2)/(n/2))
|
|||
|
(sum' is a summation whose last term multiplies 1/2).
|
|||
|
This routine uses "ddst" recursively.
|
|||
|
To keep the in-place operation, the data in fft*g_h.*
|
|||
|
are sorted in bit reversal order.
|
|||
|
|
|||
|
Reference:
|
|||
|
* Masatake MORI, Makoto NATORI, Tatuo TORII: Suchikeisan,
|
|||
|
Iwanamikouzajyouhoukagaku18, Iwanami, 1982 (Japanese)
|
|||
|
* Henri J. Nussbaumer: Fast Fourier Transform and Convolution
|
|||
|
Algorithms, Springer Verlag, 1982
|
|||
|
* C. S. Burrus, Notes on the FFT (with large FFT paper list)
|
|||
|
http://www-dsp.rice.edu/research/fft/fftnote.asc
|
|||
|
|
|||
|
Copyright:
|
|||
|
Copyright(C) 1996-2001 Takuya OOURA
|
|||
|
email: ooura@mmm.t.u-tokyo.ac.jp
|
|||
|
download: http://momonga.t.u-tokyo.ac.jp/~ooura/fft.html
|
|||
|
You may use, copy, modify this code for any purpose and
|
|||
|
without fee. You may distribute this ORIGINAL package.
|
|||
|
|
|||
|
History:
|
|||
|
...
|
|||
|
Dec. 1995 : Edit the General Purpose FFT
|
|||
|
Mar. 1996 : Change the specification
|
|||
|
Jun. 1996 : Change the method of trigonometric function table
|
|||
|
Sep. 1996 : Modify the documents
|
|||
|
Feb. 1997 : Change the butterfly loops
|
|||
|
Dec. 1997 : Modify the documents
|
|||
|
Dec. 1997 : Add "fft4g.*"
|
|||
|
Jul. 1998 : Fix some bugs in the documents
|
|||
|
Jul. 1998 : Add "fft8g.*" and delete "fft4f.*"
|
|||
|
Jul. 1998 : Add a benchmark program "pi_fft.c"
|
|||
|
Jul. 1999 : Add a simple version "fft*g_h.c"
|
|||
|
Jul. 1999 : Add a Split-Radix FFT package "fftsg*.c"
|
|||
|
Sep. 1999 : Reduce the memory operation (minor optimization)
|
|||
|
Oct. 1999 : Change the butterfly structure of "fftsg*.c"
|
|||
|
Oct. 1999 : Save the code size
|
|||
|
Sep. 2001 : Add "fftsg.f"
|
|||
|
Sep. 2001 : Add Pthread & Win32thread routines to "fftsg*.c"
|
|||
|
Dec. 2006 : Fix a minor bug in "fftsg.f"
|
|||
|
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/fft2d/fft/readme.txt
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/gemmlowp/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
Apache License
|
|||
|
Version 2.0, January 2004
|
|||
|
http://www.apache.org/licenses/
|
|||
|
|
|||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|||
|
|
|||
|
1. Definitions.
|
|||
|
|
|||
|
"License" shall mean the terms and conditions for use, reproduction,
|
|||
|
and distribution as defined by Sections 1 through 9 of this document.
|
|||
|
|
|||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
|||
|
the copyright owner that is granting the License.
|
|||
|
|
|||
|
"Legal Entity" shall mean the union of the acting entity and all
|
|||
|
other entities that control, are controlled by, or are under common
|
|||
|
control with that entity. For the purposes of this definition,
|
|||
|
"control" means (i) the power, direct or indirect, to cause the
|
|||
|
direction or management of such entity, whether by contract or
|
|||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|||
|
|
|||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
|||
|
exercising permissions granted by this License.
|
|||
|
|
|||
|
"Source" form shall mean the preferred form for making modifications,
|
|||
|
including but not limited to software source code, documentation
|
|||
|
source, and configuration files.
|
|||
|
|
|||
|
"Object" form shall mean any form resulting from mechanical
|
|||
|
transformation or translation of a Source form, including but
|
|||
|
not limited to compiled object code, generated documentation,
|
|||
|
and conversions to other media types.
|
|||
|
|
|||
|
"Work" shall mean the work of authorship, whether in Source or
|
|||
|
Object form, made available under the License, as indicated by a
|
|||
|
copyright notice that is included in or attached to the work
|
|||
|
(an example is provided in the Appendix below).
|
|||
|
|
|||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
|||
|
form, that is based on (or derived from) the Work and for which the
|
|||
|
editorial revisions, annotations, elaborations, or other modifications
|
|||
|
represent, as a whole, an original work of authorship. For the purposes
|
|||
|
of this License, Derivative Works shall not include works that remain
|
|||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
|||
|
the Work and Derivative Works thereof.
|
|||
|
|
|||
|
"Contribution" shall mean any work of authorship, including
|
|||
|
the original version of the Work and any modifications or additions
|
|||
|
to that Work or Derivative Works thereof, that is intentionally
|
|||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
|||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
|||
|
the copyright owner. For the purposes of this definition, "submitted"
|
|||
|
means any form of electronic, verbal, or written communication sent
|
|||
|
to the Licensor or its representatives, including but not limited to
|
|||
|
communication on electronic mailing lists, source code control systems,
|
|||
|
and issue tracking systems that are managed by, or on behalf of, the
|
|||
|
Licensor for the purpose of discussing and improving the Work, but
|
|||
|
excluding communication that is conspicuously marked or otherwise
|
|||
|
designated in writing by the copyright owner as "Not a Contribution."
|
|||
|
|
|||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|||
|
on behalf of whom a Contribution has been received by Licensor and
|
|||
|
subsequently incorporated within the Work.
|
|||
|
|
|||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
|||
|
this License, each Contributor hereby grants to You a perpetual,
|
|||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|||
|
copyright license to reproduce, prepare Derivative Works of,
|
|||
|
publicly display, publicly perform, sublicense, and distribute the
|
|||
|
Work and such Derivative Works in Source or Object form.
|
|||
|
|
|||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
|||
|
this License, each Contributor hereby grants to You a perpetual,
|
|||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|||
|
(except as stated in this section) patent license to make, have made,
|
|||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|||
|
where such license applies only to those patent claims licensable
|
|||
|
by such Contributor that are necessarily infringed by their
|
|||
|
Contribution(s) alone or by combination of their Contribution(s)
|
|||
|
with the Work to which such Contribution(s) was submitted. If You
|
|||
|
institute patent litigation against any entity (including a
|
|||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|||
|
or a Contribution incorporated within the Work constitutes direct
|
|||
|
or contributory patent infringement, then any patent licenses
|
|||
|
granted to You under this License for that Work shall terminate
|
|||
|
as of the date such litigation is filed.
|
|||
|
|
|||
|
4. Redistribution. You may reproduce and distribute copies of the
|
|||
|
Work or Derivative Works thereof in any medium, with or without
|
|||
|
modifications, and in Source or Object form, provided that You
|
|||
|
meet the following conditions:
|
|||
|
|
|||
|
(a) You must give any other recipients of the Work or
|
|||
|
Derivative Works a copy of this License; and
|
|||
|
|
|||
|
(b) You must cause any modified files to carry prominent notices
|
|||
|
stating that You changed the files; and
|
|||
|
|
|||
|
(c) You must retain, in the Source form of any Derivative Works
|
|||
|
that You distribute, all copyright, patent, trademark, and
|
|||
|
attribution notices from the Source form of the Work,
|
|||
|
excluding those notices that do not pertain to any part of
|
|||
|
the Derivative Works; and
|
|||
|
|
|||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
|||
|
distribution, then any Derivative Works that You distribute must
|
|||
|
include a readable copy of the attribution notices contained
|
|||
|
within such NOTICE file, excluding those notices that do not
|
|||
|
pertain to any part of the Derivative Works, in at least one
|
|||
|
of the following places: within a NOTICE text file distributed
|
|||
|
as part of the Derivative Works; within the Source form or
|
|||
|
documentation, if provided along with the Derivative Works; or,
|
|||
|
within a display generated by the Derivative Works, if and
|
|||
|
wherever such third-party notices normally appear. The contents
|
|||
|
of the NOTICE file are for informational purposes only and
|
|||
|
do not modify the License. You may add Your own attribution
|
|||
|
notices within Derivative Works that You distribute, alongside
|
|||
|
or as an addendum to the NOTICE text from the Work, provided
|
|||
|
that such additional attribution notices cannot be construed
|
|||
|
as modifying the License.
|
|||
|
|
|||
|
You may add Your own copyright statement to Your modifications and
|
|||
|
may provide additional or different license terms and conditions
|
|||
|
for use, reproduction, or distribution of Your modifications, or
|
|||
|
for any such Derivative Works as a whole, provided Your use,
|
|||
|
reproduction, and distribution of the Work otherwise complies with
|
|||
|
the conditions stated in this License.
|
|||
|
|
|||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|||
|
any Contribution intentionally submitted for inclusion in the Work
|
|||
|
by You to the Licensor shall be under the terms and conditions of
|
|||
|
this License, without any additional terms or conditions.
|
|||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
|||
|
the terms of any separate license agreement you may have executed
|
|||
|
with Licensor regarding such Contributions.
|
|||
|
|
|||
|
6. Trademarks. This License does not grant permission to use the trade
|
|||
|
names, trademarks, service marks, or product names of the Licensor,
|
|||
|
except as required for reasonable and customary use in describing the
|
|||
|
origin of the Work and reproducing the content of the NOTICE file.
|
|||
|
|
|||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
|||
|
agreed to in writing, Licensor provides the Work (and each
|
|||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|||
|
implied, including, without limitation, any warranties or conditions
|
|||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|||
|
appropriateness of using or redistributing the Work and assume any
|
|||
|
risks associated with Your exercise of permissions under this License.
|
|||
|
|
|||
|
8. Limitation of Liability. In no event and under no legal theory,
|
|||
|
whether in tort (including negligence), contract, or otherwise,
|
|||
|
unless required by applicable law (such as deliberate and grossly
|
|||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
|||
|
liable to You for damages, including any direct, indirect, special,
|
|||
|
incidental, or consequential damages of any character arising as a
|
|||
|
result of this License or out of the use or inability to use the
|
|||
|
Work (including but not limited to damages for loss of goodwill,
|
|||
|
work stoppage, computer failure or malfunction, or any and all
|
|||
|
other commercial damages or losses), even if such Contributor
|
|||
|
has been advised of the possibility of such damages.
|
|||
|
|
|||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
|||
|
the Work or Derivative Works thereof, You may choose to offer,
|
|||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
|||
|
or other liability obligations and/or rights consistent with this
|
|||
|
License. However, in accepting such obligations, You may act only
|
|||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
|||
|
of any other Contributor, and only if You agree to indemnify,
|
|||
|
defend, and hold each Contributor harmless for any liability
|
|||
|
incurred by, or claims asserted against, such Contributor by reason
|
|||
|
of your accepting any such warranty or additional liability.
|
|||
|
|
|||
|
END OF TERMS AND CONDITIONS
|
|||
|
|
|||
|
APPENDIX: How to apply the Apache License to your work.
|
|||
|
|
|||
|
To apply the Apache License to your work, attach the following
|
|||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
|||
|
replaced with your own identifying information. (Don't include
|
|||
|
the brackets!) The text should be enclosed in the appropriate
|
|||
|
comment syntax for the file format. We also recommend that a
|
|||
|
file or class name and description of purpose be included on the
|
|||
|
same "printed page" as the copyright notice for easier
|
|||
|
identification within third-party archives.
|
|||
|
|
|||
|
Copyright [yyyy] [name of copyright owner]
|
|||
|
|
|||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|||
|
you may not use this file except in compliance with the License.
|
|||
|
You may obtain a copy of the License at
|
|||
|
|
|||
|
http://www.apache.org/licenses/LICENSE-2.0
|
|||
|
|
|||
|
Unless required by applicable law or agreed to in writing, software
|
|||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
|
See the License for the specific language governing permissions and
|
|||
|
limitations under the License.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/gemmlowp/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/gif_archive/COPYING
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond
|
|||
|
|
|||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|||
|
of this software and associated documentation files (the "Software"), to deal
|
|||
|
in the Software without restriction, including without limitation the rights
|
|||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|||
|
copies of the Software, and to permit persons to whom the Software is
|
|||
|
furnished to do so, subject to the following conditions:
|
|||
|
|
|||
|
The above copyright notice and this permission notice shall be included in
|
|||
|
all copies or substantial portions of the Software.
|
|||
|
|
|||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|||
|
THE SOFTWARE.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/gif_archive/COPYING
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/highwayhash/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
Apache License
|
|||
|
Version 2.0, January 2004
|
|||
|
http://www.apache.org/licenses/
|
|||
|
|
|||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|||
|
|
|||
|
1. Definitions.
|
|||
|
|
|||
|
"License" shall mean the terms and conditions for use, reproduction,
|
|||
|
and distribution as defined by Sections 1 through 9 of this document.
|
|||
|
|
|||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
|||
|
the copyright owner that is granting the License.
|
|||
|
|
|||
|
"Legal Entity" shall mean the union of the acting entity and all
|
|||
|
other entities that control, are controlled by, or are under common
|
|||
|
control with that entity. For the purposes of this definition,
|
|||
|
"control" means (i) the power, direct or indirect, to cause the
|
|||
|
direction or management of such entity, whether by contract or
|
|||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|||
|
|
|||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
|||
|
exercising permissions granted by this License.
|
|||
|
|
|||
|
"Source" form shall mean the preferred form for making modifications,
|
|||
|
including but not limited to software source code, documentation
|
|||
|
source, and configuration files.
|
|||
|
|
|||
|
"Object" form shall mean any form resulting from mechanical
|
|||
|
transformation or translation of a Source form, including but
|
|||
|
not limited to compiled object code, generated documentation,
|
|||
|
and conversions to other media types.
|
|||
|
|
|||
|
"Work" shall mean the work of authorship, whether in Source or
|
|||
|
Object form, made available under the License, as indicated by a
|
|||
|
copyright notice that is included in or attached to the work
|
|||
|
(an example is provided in the Appendix below).
|
|||
|
|
|||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
|||
|
form, that is based on (or derived from) the Work and for which the
|
|||
|
editorial revisions, annotations, elaborations, or other modifications
|
|||
|
represent, as a whole, an original work of authorship. For the purposes
|
|||
|
of this License, Derivative Works shall not include works that remain
|
|||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
|||
|
the Work and Derivative Works thereof.
|
|||
|
|
|||
|
"Contribution" shall mean any work of authorship, including
|
|||
|
the original version of the Work and any modifications or additions
|
|||
|
to that Work or Derivative Works thereof, that is intentionally
|
|||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
|||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
|||
|
the copyright owner. For the purposes of this definition, "submitted"
|
|||
|
means any form of electronic, verbal, or written communication sent
|
|||
|
to the Licensor or its representatives, including but not limited to
|
|||
|
communication on electronic mailing lists, source code control systems,
|
|||
|
and issue tracking systems that are managed by, or on behalf of, the
|
|||
|
Licensor for the purpose of discussing and improving the Work, but
|
|||
|
excluding communication that is conspicuously marked or otherwise
|
|||
|
designated in writing by the copyright owner as "Not a Contribution."
|
|||
|
|
|||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|||
|
on behalf of whom a Contribution has been received by Licensor and
|
|||
|
subsequently incorporated within the Work.
|
|||
|
|
|||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
|||
|
this License, each Contributor hereby grants to You a perpetual,
|
|||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|||
|
copyright license to reproduce, prepare Derivative Works of,
|
|||
|
publicly display, publicly perform, sublicense, and distribute the
|
|||
|
Work and such Derivative Works in Source or Object form.
|
|||
|
|
|||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
|||
|
this License, each Contributor hereby grants to You a perpetual,
|
|||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|||
|
(except as stated in this section) patent license to make, have made,
|
|||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|||
|
where such license applies only to those patent claims licensable
|
|||
|
by such Contributor that are necessarily infringed by their
|
|||
|
Contribution(s) alone or by combination of their Contribution(s)
|
|||
|
with the Work to which such Contribution(s) was submitted. If You
|
|||
|
institute patent litigation against any entity (including a
|
|||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|||
|
or a Contribution incorporated within the Work constitutes direct
|
|||
|
or contributory patent infringement, then any patent licenses
|
|||
|
granted to You under this License for that Work shall terminate
|
|||
|
as of the date such litigation is filed.
|
|||
|
|
|||
|
4. Redistribution. You may reproduce and distribute copies of the
|
|||
|
Work or Derivative Works thereof in any medium, with or without
|
|||
|
modifications, and in Source or Object form, provided that You
|
|||
|
meet the following conditions:
|
|||
|
|
|||
|
(a) You must give any other recipients of the Work or
|
|||
|
Derivative Works a copy of this License; and
|
|||
|
|
|||
|
(b) You must cause any modified files to carry prominent notices
|
|||
|
stating that You changed the files; and
|
|||
|
|
|||
|
(c) You must retain, in the Source form of any Derivative Works
|
|||
|
that You distribute, all copyright, patent, trademark, and
|
|||
|
attribution notices from the Source form of the Work,
|
|||
|
excluding those notices that do not pertain to any part of
|
|||
|
the Derivative Works; and
|
|||
|
|
|||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
|||
|
distribution, then any Derivative Works that You distribute must
|
|||
|
include a readable copy of the attribution notices contained
|
|||
|
within such NOTICE file, excluding those notices that do not
|
|||
|
pertain to any part of the Derivative Works, in at least one
|
|||
|
of the following places: within a NOTICE text file distributed
|
|||
|
as part of the Derivative Works; within the Source form or
|
|||
|
documentation, if provided along with the Derivative Works; or,
|
|||
|
within a display generated by the Derivative Works, if and
|
|||
|
wherever such third-party notices normally appear. The contents
|
|||
|
of the NOTICE file are for informational purposes only and
|
|||
|
do not modify the License. You may add Your own attribution
|
|||
|
notices within Derivative Works that You distribute, alongside
|
|||
|
or as an addendum to the NOTICE text from the Work, provided
|
|||
|
that such additional attribution notices cannot be construed
|
|||
|
as modifying the License.
|
|||
|
|
|||
|
You may add Your own copyright statement to Your modifications and
|
|||
|
may provide additional or different license terms and conditions
|
|||
|
for use, reproduction, or distribution of Your modifications, or
|
|||
|
for any such Derivative Works as a whole, provided Your use,
|
|||
|
reproduction, and distribution of the Work otherwise complies with
|
|||
|
the conditions stated in this License.
|
|||
|
|
|||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|||
|
any Contribution intentionally submitted for inclusion in the Work
|
|||
|
by You to the Licensor shall be under the terms and conditions of
|
|||
|
this License, without any additional terms or conditions.
|
|||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
|||
|
the terms of any separate license agreement you may have executed
|
|||
|
with Licensor regarding such Contributions.
|
|||
|
|
|||
|
6. Trademarks. This License does not grant permission to use the trade
|
|||
|
names, trademarks, service marks, or product names of the Licensor,
|
|||
|
except as required for reasonable and customary use in describing the
|
|||
|
origin of the Work and reproducing the content of the NOTICE file.
|
|||
|
|
|||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
|||
|
agreed to in writing, Licensor provides the Work (and each
|
|||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|||
|
implied, including, without limitation, any warranties or conditions
|
|||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|||
|
appropriateness of using or redistributing the Work and assume any
|
|||
|
risks associated with Your exercise of permissions under this License.
|
|||
|
|
|||
|
8. Limitation of Liability. In no event and under no legal theory,
|
|||
|
whether in tort (including negligence), contract, or otherwise,
|
|||
|
unless required by applicable law (such as deliberate and grossly
|
|||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
|||
|
liable to You for damages, including any direct, indirect, special,
|
|||
|
incidental, or consequential damages of any character arising as a
|
|||
|
result of this License or out of the use or inability to use the
|
|||
|
Work (including but not limited to damages for loss of goodwill,
|
|||
|
work stoppage, computer failure or malfunction, or any and all
|
|||
|
other commercial damages or losses), even if such Contributor
|
|||
|
has been advised of the possibility of such damages.
|
|||
|
|
|||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
|||
|
the Work or Derivative Works thereof, You may choose to offer,
|
|||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
|||
|
or other liability obligations and/or rights consistent with this
|
|||
|
License. However, in accepting such obligations, You may act only
|
|||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
|||
|
of any other Contributor, and only if You agree to indemnify,
|
|||
|
defend, and hold each Contributor harmless for any liability
|
|||
|
incurred by, or claims asserted against, such Contributor by reason
|
|||
|
of your accepting any such warranty or additional liability.
|
|||
|
|
|||
|
END OF TERMS AND CONDITIONS
|
|||
|
|
|||
|
APPENDIX: How to apply the Apache License to your work.
|
|||
|
|
|||
|
To apply the Apache License to your work, attach the following
|
|||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
|||
|
replaced with your own identifying information. (Don't include
|
|||
|
the brackets!) The text should be enclosed in the appropriate
|
|||
|
comment syntax for the file format. We also recommend that a
|
|||
|
file or class name and description of purpose be included on the
|
|||
|
same "printed page" as the copyright notice for easier
|
|||
|
identification within third-party archives.
|
|||
|
|
|||
|
Copyright [yyyy] [name of copyright owner]
|
|||
|
|
|||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|||
|
you may not use this file except in compliance with the License.
|
|||
|
You may obtain a copy of the License at
|
|||
|
|
|||
|
http://www.apache.org/licenses/LICENSE-2.0
|
|||
|
|
|||
|
Unless required by applicable law or agreed to in writing, software
|
|||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
|
See the License for the specific language governing permissions and
|
|||
|
limitations under the License.
|
|||
|
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/highwayhash/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/jemalloc/COPYING
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
Unless otherwise specified, files in the jemalloc source distribution are
|
|||
|
subject to the following license:
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
Copyright (C) 2002-2016 Jason Evans <jasone@canonware.com>.
|
|||
|
All rights reserved.
|
|||
|
Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved.
|
|||
|
Copyright (C) 2009-2016 Facebook, Inc. All rights reserved.
|
|||
|
|
|||
|
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(s),
|
|||
|
this list of conditions and the following disclaimer.
|
|||
|
2. Redistributions in binary form must reproduce the above copyright notice(s),
|
|||
|
this list of conditions and the following disclaimer in the documentation
|
|||
|
and/or other materials provided with the distribution.
|
|||
|
|
|||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``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 COPYRIGHT HOLDER(S) 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, 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.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/jemalloc/COPYING
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/jpeg/LICENSE.md
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
libjpeg-turbo Licenses
|
|||
|
======================
|
|||
|
|
|||
|
libjpeg-turbo is covered by three compatible BSD-style open source licenses:
|
|||
|
|
|||
|
- The IJG (Independent JPEG Group) License, which is listed in
|
|||
|
[README.ijg](README.ijg)
|
|||
|
|
|||
|
This license applies to the libjpeg API library and associated programs
|
|||
|
(any code inherited from libjpeg, and any modifications to that code.)
|
|||
|
|
|||
|
- The Modified (3-clause) BSD License, which is listed in
|
|||
|
[turbojpeg.c](turbojpeg.c)
|
|||
|
|
|||
|
This license covers the TurboJPEG API library and associated programs.
|
|||
|
|
|||
|
- The zlib License, which is listed in [simd/jsimdext.inc](simd/jsimdext.inc)
|
|||
|
|
|||
|
This license is a subset of the other two, and it covers the libjpeg-turbo
|
|||
|
SIMD extensions.
|
|||
|
|
|||
|
|
|||
|
Complying with the libjpeg-turbo Licenses
|
|||
|
=========================================
|
|||
|
|
|||
|
This section provides a roll-up of the libjpeg-turbo licensing terms, to the
|
|||
|
best of our understanding.
|
|||
|
|
|||
|
1. If you are distributing a modified version of the libjpeg-turbo source,
|
|||
|
then:
|
|||
|
|
|||
|
1. You cannot alter or remove any existing copyright or license notices
|
|||
|
from the source.
|
|||
|
|
|||
|
**Origin**
|
|||
|
- Clause 1 of the IJG License
|
|||
|
- Clause 1 of the Modified BSD License
|
|||
|
- Clauses 1 and 3 of the zlib License
|
|||
|
|
|||
|
2. You must add your own copyright notice to the header of each source
|
|||
|
file you modified, so others can tell that you modified that file (if
|
|||
|
there is not an existing copyright header in that file, then you can
|
|||
|
simply add a notice stating that you modified the file.)
|
|||
|
|
|||
|
**Origin**
|
|||
|
- Clause 1 of the IJG License
|
|||
|
- Clause 2 of the zlib License
|
|||
|
|
|||
|
3. You must include the IJG README file, and you must not alter any of the
|
|||
|
copyright or license text in that file.
|
|||
|
|
|||
|
**Origin**
|
|||
|
- Clause 1 of the IJG License
|
|||
|
|
|||
|
2. If you are distributing only libjpeg-turbo binaries without the source, or
|
|||
|
if you are distributing an application that statically links with
|
|||
|
libjpeg-turbo, then:
|
|||
|
|
|||
|
1. Your product documentation must include a message stating:
|
|||
|
|
|||
|
This software is based in part on the work of the Independent JPEG
|
|||
|
Group.
|
|||
|
|
|||
|
**Origin**
|
|||
|
- Clause 2 of the IJG license
|
|||
|
|
|||
|
2. If your binary distribution includes or uses the TurboJPEG API, then
|
|||
|
your product documentation must include the text of the Modified BSD
|
|||
|
License.
|
|||
|
|
|||
|
**Origin**
|
|||
|
- Clause 2 of the Modified BSD License
|
|||
|
|
|||
|
3. You cannot use the name of the IJG or The libjpeg-turbo Project or the
|
|||
|
contributors thereof in advertising, publicity, etc.
|
|||
|
|
|||
|
**Origin**
|
|||
|
- IJG License
|
|||
|
- Clause 3 of the Modified BSD License
|
|||
|
|
|||
|
4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be
|
|||
|
free of defects, nor do we accept any liability for undesirable
|
|||
|
consequences resulting from your use of the software.
|
|||
|
|
|||
|
**Origin**
|
|||
|
- IJG License
|
|||
|
- Modified BSD License
|
|||
|
- zlib License
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/jpeg/LICENSE.md
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/libxsmm_archive/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BSD 3-Clause License
|
|||
|
|
|||
|
Copyright (c) 2009-2017, Intel Corporation
|
|||
|
All rights reserved.
|
|||
|
|
|||
|
Redistribution and use in source and binary forms, with or without
|
|||
|
modification, are permitted provided that the following conditions are met:
|
|||
|
|
|||
|
* Redistributions of source code must retain the above copyright notice, this
|
|||
|
list of conditions and the following disclaimer.
|
|||
|
|
|||
|
* 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.
|
|||
|
|
|||
|
* Neither the name of the copyright holder nor the names of its
|
|||
|
contributors may be used to endorse or promote products derived from
|
|||
|
this software without specific prior written permission.
|
|||
|
|
|||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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, 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.
|
|||
|
|
|||
|
|
|||
|
Copyright (c) 2016-2017, Google Inc.
|
|||
|
All rights reserved.
|
|||
|
|
|||
|
Redistribution and use in source and binary forms, with or without
|
|||
|
modification, are permitted provided that the following conditions are met:
|
|||
|
|
|||
|
* Redistributions of source code must retain the above copyright notice, this
|
|||
|
list of conditions and the following disclaimer.
|
|||
|
|
|||
|
* 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.
|
|||
|
|
|||
|
* Neither the name of the copyright holder nor the names of its
|
|||
|
contributors may be used to endorse or promote products derived from
|
|||
|
this software without specific prior written permission.
|
|||
|
|
|||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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, 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.
|
|||
|
|
|||
|
|
|||
|
Copyright (c) 2012-2014, Technische Universitaet Muenchen
|
|||
|
All rights reserved.
|
|||
|
|
|||
|
Redistribution and use in source and binary forms, with or without
|
|||
|
modification, are permitted provided that the following conditions are met:
|
|||
|
|
|||
|
* Redistributions of source code must retain the above copyright notice, this
|
|||
|
list of conditions and the following disclaimer.
|
|||
|
|
|||
|
* 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.
|
|||
|
|
|||
|
* Neither the name of the copyright holder nor the names of its
|
|||
|
contributors may be used to endorse or promote products derived from
|
|||
|
this software without specific prior written permission.
|
|||
|
|
|||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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, 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.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/libxsmm_archive/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/lmdb/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
The OpenLDAP Public License
|
|||
|
Version 2.8, 17 August 2003
|
|||
|
|
|||
|
Redistribution and use of this software and associated documentation
|
|||
|
("Software"), with or without modification, are permitted provided
|
|||
|
that the following conditions are met:
|
|||
|
|
|||
|
1. Redistributions in source form must retain copyright statements
|
|||
|
and notices,
|
|||
|
|
|||
|
2. Redistributions in binary form must reproduce applicable copyright
|
|||
|
statements and notices, this list of conditions, and the following
|
|||
|
disclaimer in the documentation and/or other materials provided
|
|||
|
with the distribution, and
|
|||
|
|
|||
|
3. Redistributions must contain a verbatim copy of this document.
|
|||
|
|
|||
|
The OpenLDAP Foundation may revise this license from time to time.
|
|||
|
Each revision is distinguished by a version number. You may use
|
|||
|
this Software under terms of this license revision or under the
|
|||
|
terms of any subsequent revision of the license.
|
|||
|
|
|||
|
THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
|
|||
|
CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED 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 OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
|
|||
|
OR OWNER(S) OF THE SOFTWARE 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, 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.
|
|||
|
|
|||
|
The names of the authors and copyright holders must not be used in
|
|||
|
advertising or otherwise to promote the sale, use or other dealing
|
|||
|
in this Software without specific, written prior permission. Title
|
|||
|
to copyright in this Software shall at all times remain with copyright
|
|||
|
holders.
|
|||
|
|
|||
|
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
|
|||
|
|
|||
|
Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
|
|||
|
California, USA. All Rights Reserved. Permission to copy and
|
|||
|
distribute verbatim copies of this document is granted.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/lmdb/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/local_config_sycl/sycl/LICENSE.text
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
---------------------------------------------------------------------
|
|||
|
|
|||
|
SOFTWARE LICENSE AGREEMENT
|
|||
|
|
|||
|
---------------------------------------------------------------------
|
|||
|
---------------------------------------------------------------------
|
|||
|
|
|||
|
By downloading, installing, copying, or otherwise using the
|
|||
|
ComputeCpp Community Edition software, including any associated
|
|||
|
components, media, printed materials, and electronic documentation
|
|||
|
("Software"), the user agrees to the following terms and conditions
|
|||
|
of this Software License Agreement ("Agreement"). Please read the
|
|||
|
terms of this Agreement carefully before beginning your download, as
|
|||
|
pressing the "I AGREE" button at the end of this Agreement will
|
|||
|
confirm your assent. If you do not agree to these terms, then
|
|||
|
Codeplay Software Limited is unwilling to license the Software to
|
|||
|
you; so please press the "CANCEL" button to cancel your download.
|
|||
|
|
|||
|
1. License. Codeplay Software Ltd., a company incorporated in
|
|||
|
England and Wales with registered number 04567874 and having its
|
|||
|
registered office at Regent House, 316 Beulah Hill, London,
|
|||
|
United Kingdom, SE19 3HF ("Codeplay") hereby grants the user,
|
|||
|
free of charge, a non-exclusive worldwide license to use and
|
|||
|
replicate (but not modify) the Software for any use, whether
|
|||
|
commercial or non-commercial, in accordance with this Agreement.
|
|||
|
Codeplay reserves all rights to the Software that are not
|
|||
|
expressly granted by this Agreement.
|
|||
|
2. Redistribution. The user may copy and redistribute unmodified
|
|||
|
copies of only those components of the Software which are
|
|||
|
specified below ("Redistributable Components"), in object code
|
|||
|
form, as part of the user’s software applications or libraries
|
|||
|
("Applications"). The user acknowledges and agrees that it has no
|
|||
|
right to modify the Redistributable Components in any way. Any
|
|||
|
use of the Redistributable Components within the user’s
|
|||
|
Applications will continue to be subject to the terms and
|
|||
|
conditions of this Agreement, and the user must also distribute a
|
|||
|
copy of this Agreement and reproduce and include all notices of
|
|||
|
copyrights or other proprietary rights in the Software. The
|
|||
|
user’s redistribution of the Redistributable Components will not
|
|||
|
entitle it to any payment from Codeplay. The user may not
|
|||
|
transfer any of its rights or obligations under this Agreement.
|
|||
|
|
|||
|
+-------------------------------------------+
|
|||
|
|Redistributable Component|File Name |
|
|||
|
|-------------------------+-----------------|
|
|||
|
|Runtime (for Linux) |libComputeCpp.so |
|
|||
|
|-------------------------+-----------------|
|
|||
|
|Runtime (for Windows) |libComputeCpp.dll|
|
|||
|
+-------------------------------------------+
|
|||
|
|
|||
|
3. Restrictions. The user shall not:
|
|||
|
|
|||
|
a. circumvent or bypass any technological protection measures in
|
|||
|
or relating to the Software;
|
|||
|
b. use the Software to perform any unauthorized transfer of
|
|||
|
information or for any illegal purpose;
|
|||
|
c. de-compile, decrypt, disassemble, hack, emulate, exploit or
|
|||
|
reverse-engineer the Software (other than to the limited
|
|||
|
extent permitted by law);
|
|||
|
d. copy or redistribute any components of the Software that are
|
|||
|
not listed in the table of Redistributable Components;
|
|||
|
e. publish, rent, lease, sell, export, import, or lend the
|
|||
|
Software;
|
|||
|
f. represent in any way that it is selling the Software itself
|
|||
|
or any license to use the Software, nor refer to Codeplay or
|
|||
|
ComputeCpp within its marketing materials, without the
|
|||
|
express prior written permission of Codeplay.
|
|||
|
4. Support. Codeplay does not provide any guarantees of support for
|
|||
|
the Software to the user. Codeplay will use reasonable endeavors
|
|||
|
to respond to users' support requests, for the most recent
|
|||
|
release only, via the community support website at https://
|
|||
|
computecpp.codeplay.com.
|
|||
|
5. Intellectual Property. The Software is owned by Codeplay or its
|
|||
|
licensors, and is protected by the copyright laws of the United
|
|||
|
Kingdom and other countries and international treaty provisions.
|
|||
|
Codeplay (and/or its licensors, as the case may be) retains all
|
|||
|
copyrights, trade secrets and other proprietary rights in the
|
|||
|
Software, including the rights to make and license the use of all
|
|||
|
copies. To the extent that any patents owned by Codeplay or its
|
|||
|
licensors relate to any component of the Software, the license
|
|||
|
granted to the user in accordance with this Agreement allows for
|
|||
|
the lawful use of such patents but only for the purposes of this
|
|||
|
Agreement and not further or otherwise. Therefore, the user may
|
|||
|
make no copies of the Software, or the written materials that
|
|||
|
accompany the Software, or reproduce it in any way, except as set
|
|||
|
forth above.
|
|||
|
6. Terms. This Agreement is effective until terminated. Codeplay or
|
|||
|
the user may terminate it immediately at any time. Any violation
|
|||
|
of the terms of this Agreement by the user will result in
|
|||
|
immediate termination by Codeplay. Upon termination, the user
|
|||
|
must return or destroy the Software and accompanying materials
|
|||
|
and notify Codeplay of its actions by email to info@codeplay.com.
|
|||
|
7. NO WARRANTIES. Codeplay expressly disclaims any warranty for the
|
|||
|
Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
|
|||
|
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|||
|
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
|
|||
|
AND NON-INFRINGEMENT. IN NO EVENT SHALL CODEPLAY BE LIABLE FOR
|
|||
|
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|||
|
CONTRACT, DELICT OR TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|||
|
SOFTWARE. In particular, Codeplay provides no guarantees of
|
|||
|
application performance on the target hardware.
|
|||
|
8. General. The invalidity of any portion or provision of this
|
|||
|
Agreement shall not affect any other portions or provisions. This
|
|||
|
Agreement shall be governed by the laws of Scotland. This
|
|||
|
Agreement is the complete and exclusive agreement between the
|
|||
|
user and Codeplay regarding the Software, and it supersedes any
|
|||
|
prior agreement, oral or written, and any other communication
|
|||
|
between the user and Codeplay relating to the subject matter of
|
|||
|
the Agreement. Any amendment or modification of this Agreement
|
|||
|
must be in writing and signed by both parties. If the user does
|
|||
|
not agree to the terms of this Agreement, the user must not
|
|||
|
install or use the Software.
|
|||
|
9. Third Party Licenses. The following licenses are for third-party
|
|||
|
components included in the software.
|
|||
|
|
|||
|
a. License for Clang/LLVM compiler technology components:
|
|||
|
|
|||
|
==============================================================================
|
|||
|
|
|||
|
LLVM Release License
|
|||
|
|
|||
|
==============================================================================
|
|||
|
|
|||
|
University of Illinois/NCSA
|
|||
|
|
|||
|
Open Source License
|
|||
|
|
|||
|
Copyright (c) 2007-2014 University of Illinois at Urbana-Champaign.
|
|||
|
|
|||
|
All rights reserved.
|
|||
|
|
|||
|
Developed by:
|
|||
|
|
|||
|
LLVM Team
|
|||
|
|
|||
|
University of Illinois at Urbana-Champaign
|
|||
|
|
|||
|
http://llvm.org
|
|||
|
|
|||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|||
|
this software and associated documentation files (the "Software"), to deal with
|
|||
|
the Software without restriction, including without limitation the rights to
|
|||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|||
|
of the Software, and to permit persons to whom the Software is furnished to do
|
|||
|
so, subject to the following conditions:
|
|||
|
|
|||
|
* Redistributions of source code must retain the above copyright notice,
|
|||
|
this list of conditions and the following disclaimers.
|
|||
|
|
|||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
|||
|
this list of conditions and the following disclaimers in the
|
|||
|
documentation and/or other materials provided with the distribution.
|
|||
|
|
|||
|
* Neither the names of the LLVM Team, University of Illinois at
|
|||
|
Urbana-Champaign, nor the names of its contributors may be used to
|
|||
|
endorse or promote products derived from this Software without specific
|
|||
|
prior written permission.
|
|||
|
|
|||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|||
|
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
|
|||
|
SOFTWARE.
|
|||
|
|
|||
|
==============================================================================
|
|||
|
|
|||
|
b. License for OpenBSD regex components:
|
|||
|
|
|||
|
$OpenBSD: COPYRIGHT,v 1.3 2003/06/02 20:18:36 millert Exp $
|
|||
|
Copyright 1992, 1993, 1994 Henry Spencer. All rights reserved.
|
|||
|
This software is not subject to any license of the American Telephone
|
|||
|
and Telegraph Company or of the Regents of the University of California.
|
|||
|
Permission is granted to anyone to use this software for any purpose on
|
|||
|
any computer system, and to alter it and redistribute it, subject
|
|||
|
to the following restrictions:
|
|||
|
|
|||
|
1. The author is not responsible for the consequences of use of this
|
|||
|
software, no matter how awful, even if they arise from flaws in it.
|
|||
|
|
|||
|
2. The origin of this software must not be misrepresented, either by
|
|||
|
explicit claim or by omission. Since few users ever read sources,
|
|||
|
credits must appear in the documentation.
|
|||
|
|
|||
|
3. Altered versions must be plainly marked as such, and must not be
|
|||
|
misrepresented as being the original software. Since few users
|
|||
|
ever read sources, credits must appear in the documentation.
|
|||
|
|
|||
|
4. This notice may not be removed or altered.
|
|||
|
|
|||
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|||
|
|
|||
|
/*-
|
|||
|
* Copyright (c) 1994
|
|||
|
* The Regents of the University of California. All rights reserved.
|
|||
|
*
|
|||
|
* 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. Neither the name of the University nor the names of its contributors
|
|||
|
* may be used to endorse or promote products derived from this software
|
|||
|
* without specific prior written permission.
|
|||
|
*
|
|||
|
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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, 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.
|
|||
|
*
|
|||
|
* @(#)COPYRIGHT8.1 (Berkeley) 3/16/94
|
|||
|
*/
|
|||
|
|
|||
|
c. License for MD5 components:
|
|||
|
|
|||
|
/*
|
|||
|
* This code is derived from (original license follows):
|
|||
|
*
|
|||
|
* This is an OpenSSL-compatible implementation of the RSA Data Security, Inc.
|
|||
|
* MD5 Message-Digest Algorithm (RFC 1321).
|
|||
|
*
|
|||
|
* Homepage:
|
|||
|
* http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
|
|||
|
*
|
|||
|
* Author:
|
|||
|
* Alexander Peslyak, better known as Solar Designer <solar at openwall.com>
|
|||
|
*
|
|||
|
* This software was written by Alexander Peslyak in 2001. No copyright is
|
|||
|
* claimed, and the software is hereby placed in the public domain.
|
|||
|
* In case this attempt to disclaim copyright and place the software in the
|
|||
|
* public domain is deemed null and void, then the software is
|
|||
|
* Copyright (c) 2001 Alexander Peslyak and it is hereby released to the
|
|||
|
* general public under the following terms:
|
|||
|
*
|
|||
|
* Redistribution and use in source and binary forms, with or without
|
|||
|
* modification, are permitted.
|
|||
|
*
|
|||
|
* There's ABSOLUTELY NO WARRANTY, express or implied.
|
|||
|
*
|
|||
|
* (This is a heavily cut-down "BSD license".)
|
|||
|
*
|
|||
|
* This differs from Colin Plumb's older public domain implementation in that
|
|||
|
* no exactly 32-bit integer data type is required (any 32-bit or wider
|
|||
|
* unsigned integer data type will do), there's no compile-time endianness
|
|||
|
* configuration, and the function prototypes match OpenSSL's. No code from
|
|||
|
* Colin Plumb's implementation has been reused; this comment merely compares
|
|||
|
* the properties of the two independent implementations.
|
|||
|
*
|
|||
|
* The primary goals of this implementation are portability and ease of use.
|
|||
|
* It is meant to be fast, but not as fast as possible. Some known
|
|||
|
* optimizations are not included to reduce source code size and avoid
|
|||
|
* compile-time configuration.
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/local_config_sycl/sycl/LICENSE.text
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/nasm/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
NASM is now licensed under the 2-clause BSD license, also known as the
|
|||
|
simplified BSD license.
|
|||
|
|
|||
|
Copyright 1996-2010 the NASM Authors - All rights reserved.
|
|||
|
|
|||
|
Redistribution and use in source and binary forms, with or without
|
|||
|
modification, are permitted provided that the following
|
|||
|
conditions are met:
|
|||
|
|
|||
|
* Redistributions of source code must retain the above copyright
|
|||
|
notice, this list of conditions and the following disclaimer.
|
|||
|
* 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.
|
|||
|
|
|||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|||
|
CONTRIBUTORS "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 COPYRIGHT OWNER OR
|
|||
|
CONTRIBUTORS 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, 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.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/nasm/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/nsync/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
Apache License
|
|||
|
Version 2.0, January 2004
|
|||
|
http://www.apache.org/licenses/
|
|||
|
|
|||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|||
|
|
|||
|
1. Definitions.
|
|||
|
|
|||
|
"License" shall mean the terms and conditions for use, reproduction,
|
|||
|
and distribution as defined by Sections 1 through 9 of this document.
|
|||
|
|
|||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
|||
|
the copyright owner that is granting the License.
|
|||
|
|
|||
|
"Legal Entity" shall mean the union of the acting entity and all
|
|||
|
other entities that control, are controlled by, or are under common
|
|||
|
control with that entity. For the purposes of this definition,
|
|||
|
"control" means (i) the power, direct or indirect, to cause the
|
|||
|
direction or management of such entity, whether by contract or
|
|||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|||
|
|
|||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
|||
|
exercising permissions granted by this License.
|
|||
|
|
|||
|
"Source" form shall mean the preferred form for making modifications,
|
|||
|
including but not limited to software source code, documentation
|
|||
|
source, and configuration files.
|
|||
|
|
|||
|
"Object" form shall mean any form resulting from mechanical
|
|||
|
transformation or translation of a Source form, including but
|
|||
|
not limited to compiled object code, generated documentation,
|
|||
|
and conversions to other media types.
|
|||
|
|
|||
|
"Work" shall mean the work of authorship, whether in Source or
|
|||
|
Object form, made available under the License, as indicated by a
|
|||
|
copyright notice that is included in or attached to the work
|
|||
|
(an example is provided in the Appendix below).
|
|||
|
|
|||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
|||
|
form, that is based on (or derived from) the Work and for which the
|
|||
|
editorial revisions, annotations, elaborations, or other modifications
|
|||
|
represent, as a whole, an original work of authorship. For the purposes
|
|||
|
of this License, Derivative Works shall not include works that remain
|
|||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
|||
|
the Work and Derivative Works thereof.
|
|||
|
|
|||
|
"Contribution" shall mean any work of authorship, including
|
|||
|
the original version of the Work and any modifications or additions
|
|||
|
to that Work or Derivative Works thereof, that is intentionally
|
|||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
|||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
|||
|
the copyright owner. For the purposes of this definition, "submitted"
|
|||
|
means any form of electronic, verbal, or written communication sent
|
|||
|
to the Licensor or its representatives, including but not limited to
|
|||
|
communication on electronic mailing lists, source code control systems,
|
|||
|
and issue tracking systems that are managed by, or on behalf of, the
|
|||
|
Licensor for the purpose of discussing and improving the Work, but
|
|||
|
excluding communication that is conspicuously marked or otherwise
|
|||
|
designated in writing by the copyright owner as "Not a Contribution."
|
|||
|
|
|||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|||
|
on behalf of whom a Contribution has been received by Licensor and
|
|||
|
subsequently incorporated within the Work.
|
|||
|
|
|||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
|||
|
this License, each Contributor hereby grants to You a perpetual,
|
|||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|||
|
copyright license to reproduce, prepare Derivative Works of,
|
|||
|
publicly display, publicly perform, sublicense, and distribute the
|
|||
|
Work and such Derivative Works in Source or Object form.
|
|||
|
|
|||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
|||
|
this License, each Contributor hereby grants to You a perpetual,
|
|||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|||
|
(except as stated in this section) patent license to make, have made,
|
|||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|||
|
where such license applies only to those patent claims licensable
|
|||
|
by such Contributor that are necessarily infringed by their
|
|||
|
Contribution(s) alone or by combination of their Contribution(s)
|
|||
|
with the Work to which such Contribution(s) was submitted. If You
|
|||
|
institute patent litigation against any entity (including a
|
|||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|||
|
or a Contribution incorporated within the Work constitutes direct
|
|||
|
or contributory patent infringement, then any patent licenses
|
|||
|
granted to You under this License for that Work shall terminate
|
|||
|
as of the date such litigation is filed.
|
|||
|
|
|||
|
4. Redistribution. You may reproduce and distribute copies of the
|
|||
|
Work or Derivative Works thereof in any medium, with or without
|
|||
|
modifications, and in Source or Object form, provided that You
|
|||
|
meet the following conditions:
|
|||
|
|
|||
|
(a) You must give any other recipients of the Work or
|
|||
|
Derivative Works a copy of this License; and
|
|||
|
|
|||
|
(b) You must cause any modified files to carry prominent notices
|
|||
|
stating that You changed the files; and
|
|||
|
|
|||
|
(c) You must retain, in the Source form of any Derivative Works
|
|||
|
that You distribute, all copyright, patent, trademark, and
|
|||
|
attribution notices from the Source form of the Work,
|
|||
|
excluding those notices that do not pertain to any part of
|
|||
|
the Derivative Works; and
|
|||
|
|
|||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
|||
|
distribution, then any Derivative Works that You distribute must
|
|||
|
include a readable copy of the attribution notices contained
|
|||
|
within such NOTICE file, excluding those notices that do not
|
|||
|
pertain to any part of the Derivative Works, in at least one
|
|||
|
of the following places: within a NOTICE text file distributed
|
|||
|
as part of the Derivative Works; within the Source form or
|
|||
|
documentation, if provided along with the Derivative Works; or,
|
|||
|
within a display generated by the Derivative Works, if and
|
|||
|
wherever such third-party notices normally appear. The contents
|
|||
|
of the NOTICE file are for informational purposes only and
|
|||
|
do not modify the License. You may add Your own attribution
|
|||
|
notices within Derivative Works that You distribute, alongside
|
|||
|
or as an addendum to the NOTICE text from the Work, provided
|
|||
|
that such additional attribution notices cannot be construed
|
|||
|
as modifying the License.
|
|||
|
|
|||
|
You may add Your own copyright statement to Your modifications and
|
|||
|
may provide additional or different license terms and conditions
|
|||
|
for use, reproduction, or distribution of Your modifications, or
|
|||
|
for any such Derivative Works as a whole, provided Your use,
|
|||
|
reproduction, and distribution of the Work otherwise complies with
|
|||
|
the conditions stated in this License.
|
|||
|
|
|||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|||
|
any Contribution intentionally submitted for inclusion in the Work
|
|||
|
by You to the Licensor shall be under the terms and conditions of
|
|||
|
this License, without any additional terms or conditions.
|
|||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
|||
|
the terms of any separate license agreement you may have executed
|
|||
|
with Licensor regarding such Contributions.
|
|||
|
|
|||
|
6. Trademarks. This License does not grant permission to use the trade
|
|||
|
names, trademarks, service marks, or product names of the Licensor,
|
|||
|
except as required for reasonable and customary use in describing the
|
|||
|
origin of the Work and reproducing the content of the NOTICE file.
|
|||
|
|
|||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
|||
|
agreed to in writing, Licensor provides the Work (and each
|
|||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|||
|
implied, including, without limitation, any warranties or conditions
|
|||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|||
|
appropriateness of using or redistributing the Work and assume any
|
|||
|
risks associated with Your exercise of permissions under this License.
|
|||
|
|
|||
|
8. Limitation of Liability. In no event and under no legal theory,
|
|||
|
whether in tort (including negligence), contract, or otherwise,
|
|||
|
unless required by applicable law (such as deliberate and grossly
|
|||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
|||
|
liable to You for damages, including any direct, indirect, special,
|
|||
|
incidental, or consequential damages of any character arising as a
|
|||
|
result of this License or out of the use or inability to use the
|
|||
|
Work (including but not limited to damages for loss of goodwill,
|
|||
|
work stoppage, computer failure or malfunction, or any and all
|
|||
|
other commercial damages or losses), even if such Contributor
|
|||
|
has been advised of the possibility of such damages.
|
|||
|
|
|||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
|||
|
the Work or Derivative Works thereof, You may choose to offer,
|
|||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
|||
|
or other liability obligations and/or rights consistent with this
|
|||
|
License. However, in accepting such obligations, You may act only
|
|||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
|||
|
of any other Contributor, and only if You agree to indemnify,
|
|||
|
defend, and hold each Contributor harmless for any liability
|
|||
|
incurred by, or claims asserted against, such Contributor by reason
|
|||
|
of your accepting any such warranty or additional liability.
|
|||
|
|
|||
|
END OF TERMS AND CONDITIONS
|
|||
|
|
|||
|
APPENDIX: How to apply the Apache License to your work.
|
|||
|
|
|||
|
To apply the Apache License to your work, attach the following
|
|||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
|||
|
replaced with your own identifying information. (Don't include
|
|||
|
the brackets!) The text should be enclosed in the appropriate
|
|||
|
comment syntax for the file format. We also recommend that a
|
|||
|
file or class name and description of purpose be included on the
|
|||
|
same "printed page" as the copyright notice for easier
|
|||
|
identification within third-party archives.
|
|||
|
|
|||
|
Copyright [yyyy] [name of copyright owner]
|
|||
|
|
|||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|||
|
you may not use this file except in compliance with the License.
|
|||
|
You may obtain a copy of the License at
|
|||
|
|
|||
|
http://www.apache.org/licenses/LICENSE-2.0
|
|||
|
|
|||
|
Unless required by applicable law or agreed to in writing, software
|
|||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
|
See the License for the specific language governing permissions and
|
|||
|
limitations under the License.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/nsync/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/png_archive/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
This copy of the libpng notices is provided for your convenience. In case of
|
|||
|
any discrepancy between this copy and the notices in the file png.h that is
|
|||
|
included in the libpng distribution, the latter shall prevail.
|
|||
|
|
|||
|
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
|
|||
|
|
|||
|
If you modify libpng you may insert additional notices immediately following
|
|||
|
this sentence.
|
|||
|
|
|||
|
This code is released under the libpng license.
|
|||
|
|
|||
|
libpng versions 1.2.6, August 15, 2004, through 1.2.53, February 26, 2015, are
|
|||
|
Copyright (c) 2004, 2006-2015 Glenn Randers-Pehrson, and are
|
|||
|
distributed according to the same disclaimer and license as libpng-1.2.5
|
|||
|
with the following individual added to the list of Contributing Authors
|
|||
|
|
|||
|
Cosmin Truta
|
|||
|
|
|||
|
libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
|
|||
|
Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
|
|||
|
distributed according to the same disclaimer and license as libpng-1.0.6
|
|||
|
with the following individuals added to the list of Contributing Authors
|
|||
|
|
|||
|
Simon-Pierre Cadieux
|
|||
|
Eric S. Raymond
|
|||
|
Gilles Vollant
|
|||
|
|
|||
|
and with the following additions to the disclaimer:
|
|||
|
|
|||
|
There is no warranty against interference with your enjoyment of the
|
|||
|
library or against infringement. There is no warranty that our
|
|||
|
efforts or the library will fulfill any of your particular purposes
|
|||
|
or needs. This library is provided with all faults, and the entire
|
|||
|
risk of satisfactory quality, performance, accuracy, and effort is with
|
|||
|
the user.
|
|||
|
|
|||
|
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
|
|||
|
Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
|
|||
|
distributed according to the same disclaimer and license as libpng-0.96,
|
|||
|
with the following individuals added to the list of Contributing Authors:
|
|||
|
|
|||
|
Tom Lane
|
|||
|
Glenn Randers-Pehrson
|
|||
|
Willem van Schaik
|
|||
|
|
|||
|
libpng versions 0.89, June 1996, through 0.96, May 1997, are
|
|||
|
Copyright (c) 1996, 1997 Andreas Dilger
|
|||
|
Distributed according to the same disclaimer and license as libpng-0.88,
|
|||
|
with the following individuals added to the list of Contributing Authors:
|
|||
|
|
|||
|
John Bowler
|
|||
|
Kevin Bracey
|
|||
|
Sam Bushell
|
|||
|
Magnus Holmgren
|
|||
|
Greg Roelofs
|
|||
|
Tom Tanner
|
|||
|
|
|||
|
libpng versions 0.5, May 1995, through 0.88, January 1996, are
|
|||
|
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
|
|||
|
|
|||
|
For the purposes of this copyright and license, "Contributing Authors"
|
|||
|
is defined as the following set of individuals:
|
|||
|
|
|||
|
Andreas Dilger
|
|||
|
Dave Martindale
|
|||
|
Guy Eric Schalnat
|
|||
|
Paul Schmidt
|
|||
|
Tim Wegner
|
|||
|
|
|||
|
The PNG Reference Library is supplied "AS IS". The Contributing Authors
|
|||
|
and Group 42, Inc. disclaim all warranties, expressed or implied,
|
|||
|
including, without limitation, the warranties of merchantability and of
|
|||
|
fitness for any purpose. The Contributing Authors and Group 42, Inc.
|
|||
|
assume no liability for direct, indirect, incidental, special, exemplary,
|
|||
|
or consequential damages, which may result from the use of the PNG
|
|||
|
Reference Library, even if advised of the possibility of such damage.
|
|||
|
|
|||
|
Permission is hereby granted to use, copy, modify, and distribute this
|
|||
|
source code, or portions hereof, for any purpose, without fee, subject
|
|||
|
to the following restrictions:
|
|||
|
|
|||
|
1. The origin of this source code must not be misrepresented.
|
|||
|
|
|||
|
2. Altered versions must be plainly marked as such and must not
|
|||
|
be misrepresented as being the original source.
|
|||
|
|
|||
|
3. This Copyright notice may not be removed or altered from any
|
|||
|
source or altered source distribution.
|
|||
|
|
|||
|
The Contributing Authors and Group 42, Inc. specifically permit, without
|
|||
|
fee, and encourage the use of this source code as a component to
|
|||
|
supporting the PNG file format in commercial products. If you use this
|
|||
|
source code in a product, acknowledgment is not required but would be
|
|||
|
appreciated.
|
|||
|
|
|||
|
|
|||
|
A "png_get_copyright" function is available, for convenient use in "about"
|
|||
|
boxes and the like:
|
|||
|
|
|||
|
printf("%s",png_get_copyright(NULL));
|
|||
|
|
|||
|
Also, the PNG logo (in PNG format, of course) is supplied in the
|
|||
|
files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
|
|||
|
|
|||
|
Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a
|
|||
|
certification mark of the Open Source Initiative.
|
|||
|
|
|||
|
Glenn Randers-Pehrson
|
|||
|
glennrp at users.sourceforge.net
|
|||
|
February 26, 2015
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/png_archive/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/protobuf_archive/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
This license applies to all parts of Protocol Buffers except the following:
|
|||
|
|
|||
|
- Atomicops support for generic gcc, located in
|
|||
|
src/google/protobuf/stubs/atomicops_internals_generic_gcc.h.
|
|||
|
This file is copyrighted by Red Hat Inc.
|
|||
|
|
|||
|
- Atomicops support for AIX/POWER, located in
|
|||
|
src/google/protobuf/stubs/atomicops_internals_power.h.
|
|||
|
This file is copyrighted by Bloomberg Finance LP.
|
|||
|
|
|||
|
Copyright 2014, Google Inc. All rights reserved.
|
|||
|
|
|||
|
Redistribution and use in source and binary forms, with or without
|
|||
|
modification, are permitted provided that the following conditions are
|
|||
|
met:
|
|||
|
|
|||
|
* Redistributions of source code must retain the above copyright
|
|||
|
notice, this list of conditions and the following disclaimer.
|
|||
|
* 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.
|
|||
|
* Neither the name of Google Inc. nor the names of its
|
|||
|
contributors may be used to endorse or promote products derived from
|
|||
|
this software without specific prior written permission.
|
|||
|
|
|||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|||
|
"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 COPYRIGHT
|
|||
|
OWNER OR CONTRIBUTORS 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, 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.
|
|||
|
|
|||
|
Code generated by the Protocol Buffer compiler is owned by the owner
|
|||
|
of the input file used when generating it. This code is not
|
|||
|
standalone and requires a support library to be linked with it. This
|
|||
|
support library is itself covered by the above license.
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/protobuf_archive/LICENSE
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/snappy/COPYING
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
Copyright 2011, Google Inc.
|
|||
|
All rights reserved.
|
|||
|
|
|||
|
Redistribution and use in source and binary forms, with or without
|
|||
|
modification, are permitted provided that the following conditions are
|
|||
|
met:
|
|||
|
|
|||
|
* Redistributions of source code must retain the above copyright
|
|||
|
notice, this list of conditions and the following disclaimer.
|
|||
|
* 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.
|
|||
|
* Neither the name of Google Inc. nor the names of its
|
|||
|
contributors may be used to endorse or promote products derived from
|
|||
|
this software without specific prior written permission.
|
|||
|
|
|||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|||
|
"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 COPYRIGHT
|
|||
|
OWNER OR CONTRIBUTORS 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, 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.
|
|||
|
|
|||
|
===
|
|||
|
|
|||
|
Some of the benchmark data in testdata/ is licensed differently:
|
|||
|
|
|||
|
- fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and
|
|||
|
is licensed under the Creative Commons Attribution 3.0 license
|
|||
|
(CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/
|
|||
|
for more information.
|
|||
|
|
|||
|
- kppkn.gtb is taken from the Gaviota chess tablebase set, and
|
|||
|
is licensed under the MIT License. See
|
|||
|
https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1
|
|||
|
for more information.
|
|||
|
|
|||
|
- paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper
|
|||
|
“Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA
|
|||
|
Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro,
|
|||
|
which is licensed under the CC-BY license. See
|
|||
|
http://www.ploscompbiol.org/static/license for more ifnormation.
|
|||
|
|
|||
|
- alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project
|
|||
|
Gutenberg. The first three have expired copyrights and are in the public
|
|||
|
domain; the latter does not have expired copyright, but is still in the
|
|||
|
public domain according to the license information
|
|||
|
(http://www.gutenberg.org/ebooks/53).
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/snappy/COPYING
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
BEGIN LICENSE FOR external/zlib_archive/zlib.h
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
|||
|
version 1.2.8, April 28th, 2013
|
|||
|
|
|||
|
Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
|
|||
|
|
|||
|
This software is provided 'as-is', without any express or implied
|
|||
|
warranty. In no event will the authors be held liable for any damages
|
|||
|
arising from the use of this software.
|
|||
|
|
|||
|
Permission is granted to anyone to use this software for any purpose,
|
|||
|
including commercial applications, and to alter it and redistribute it
|
|||
|
freely, subject to the following restrictions:
|
|||
|
|
|||
|
1. The origin of this software must not be misrepresented; you must not
|
|||
|
claim that you wrote the original software. If you use this software
|
|||
|
in a product, an acknowledgment in the product documentation would be
|
|||
|
appreciated but is not required.
|
|||
|
2. Altered source versions must be plainly marked as such, and must not be
|
|||
|
misrepresented as being the original software.
|
|||
|
3. This notice may not be removed or altered from any source distribution.
|
|||
|
|
|||
|
Jean-loup Gailly Mark Adler
|
|||
|
jloup@gzip.org madler@alumni.caltech.edu
|
|||
|
|
|||
|
|
|||
|
The data format used by the zlib library is described by RFCs (Request for
|
|||
|
Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950
|
|||
|
(zlib format), rfc1951 (deflate format) and rfc1952 (gzip format).
|
|||
|
*/
|
|||
|
|
|||
|
#ifndef ZLIB_H
|
|||
|
#define ZLIB_H
|
|||
|
|
|||
|
#include "zconf.h"
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
#define ZLIB_VERSION "1.2.8"
|
|||
|
#define ZLIB_VERNUM 0x1280
|
|||
|
#define ZLIB_VER_MAJOR 1
|
|||
|
#define ZLIB_VER_MINOR 2
|
|||
|
#define ZLIB_VER_REVISION 8
|
|||
|
#define ZLIB_VER_SUBREVISION 0
|
|||
|
|
|||
|
/*
|
|||
|
The 'zlib' compression library provides in-memory compression and
|
|||
|
decompression functions, including integrity checks of the uncompressed data.
|
|||
|
This version of the library supports only one compression method (deflation)
|
|||
|
but other algorithms will be added later and will have the same stream
|
|||
|
interface.
|
|||
|
|
|||
|
Compression can be done in a single step if the buffers are large enough,
|
|||
|
or can be done by repeated calls of the compression function. In the latter
|
|||
|
case, the application must provide more input and/or consume the output
|
|||
|
(providing more output space) before each call.
|
|||
|
|
|||
|
The compressed data format used by default by the in-memory functions is
|
|||
|
the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
|
|||
|
around a deflate stream, which is itself documented in RFC 1951.
|
|||
|
|
|||
|
The library also supports reading and writing files in gzip (.gz) format
|
|||
|
with an interface similar to that of stdio using the functions that start
|
|||
|
with "gz". The gzip format is different from the zlib format. gzip is a
|
|||
|
gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
|
|||
|
|
|||
|
This library can optionally read and write gzip streams in memory as well.
|
|||
|
|
|||
|
The zlib format was designed to be compact and fast for use in memory
|
|||
|
and on communications channels. The gzip format was designed for single-
|
|||
|
file compression on file systems, has a larger header than zlib to maintain
|
|||
|
directory information, and uses a different, slower check method than zlib.
|
|||
|
|
|||
|
The library does not install any signal handler. The decoder checks
|
|||
|
the consistency of the compressed data, so the library should never crash
|
|||
|
even in case of corrupted input.
|
|||
|
*/
|
|||
|
|
|||
|
typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
|
|||
|
typedef void (*free_func) OF((voidpf opaque, voidpf address));
|
|||
|
|
|||
|
struct internal_state;
|
|||
|
|
|||
|
typedef struct z_stream_s {
|
|||
|
z_const Bytef *next_in; /* next input byte */
|
|||
|
uInt avail_in; /* number of bytes available at next_in */
|
|||
|
uLong total_in; /* total number of input bytes read so far */
|
|||
|
|
|||
|
Bytef *next_out; /* next output byte should be put there */
|
|||
|
uInt avail_out; /* remaining free space at next_out */
|
|||
|
uLong total_out; /* total number of bytes output so far */
|
|||
|
|
|||
|
z_const char *msg; /* last error message, NULL if no error */
|
|||
|
struct internal_state FAR *state; /* not visible by applications */
|
|||
|
|
|||
|
alloc_func zalloc; /* used to allocate the internal state */
|
|||
|
free_func zfree; /* used to free the internal state */
|
|||
|
voidpf opaque; /* private data object passed to zalloc and zfree */
|
|||
|
|
|||
|
int data_type; /* best guess about the data type: binary or text */
|
|||
|
uLong adler; /* adler32 value of the uncompressed data */
|
|||
|
uLong reserved; /* reserved for future use */
|
|||
|
} z_stream;
|
|||
|
|
|||
|
typedef z_stream FAR *z_streamp;
|
|||
|
|
|||
|
/*
|
|||
|
gzip header information passed to and from zlib routines. See RFC 1952
|
|||
|
for more details on the meanings of these fields.
|
|||
|
*/
|
|||
|
typedef struct gz_header_s {
|
|||
|
int text; /* true if compressed data believed to be text */
|
|||
|
uLong time; /* modification time */
|
|||
|
int xflags; /* extra flags (not used when writing a gzip file) */
|
|||
|
int os; /* operating system */
|
|||
|
Bytef *extra; /* pointer to extra field or Z_NULL if none */
|
|||
|
uInt extra_len; /* extra field length (valid if extra != Z_NULL) */
|
|||
|
uInt extra_max; /* space at extra (only when reading header) */
|
|||
|
Bytef *name; /* pointer to zero-terminated file name or Z_NULL */
|
|||
|
uInt name_max; /* space at name (only when reading header) */
|
|||
|
Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */
|
|||
|
uInt comm_max; /* space at comment (only when reading header) */
|
|||
|
int hcrc; /* true if there was or will be a header crc */
|
|||
|
int done; /* true when done reading gzip header (not used
|
|||
|
when writing a gzip file) */
|
|||
|
} gz_header;
|
|||
|
|
|||
|
typedef gz_header FAR *gz_headerp;
|
|||
|
|
|||
|
/*
|
|||
|
The application must update next_in and avail_in when avail_in has dropped
|
|||
|
to zero. It must update next_out and avail_out when avail_out has dropped
|
|||
|
to zero. The application must initialize zalloc, zfree and opaque before
|
|||
|
calling the init function. All other fields are set by the compression
|
|||
|
library and must not be updated by the application.
|
|||
|
|
|||
|
The opaque value provided by the application will be passed as the first
|
|||
|
parameter for calls of zalloc and zfree. This can be useful for custom
|
|||
|
memory management. The compression library attaches no meaning to the
|
|||
|
opaque value.
|
|||
|
|
|||
|
zalloc must return Z_NULL if there is not enough memory for the object.
|
|||
|
If zlib is used in a multi-threaded application, zalloc and zfree must be
|
|||
|
thread safe.
|
|||
|
|
|||
|
On 16-bit systems, the functions zalloc and zfree must be able to allocate
|
|||
|
exactly 65536 bytes, but will not be required to allocate more than this if
|
|||
|
the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers
|
|||
|
returned by zalloc for objects of exactly 65536 bytes *must* have their
|
|||
|
offset normalized to zero. The default allocation function provided by this
|
|||
|
library ensures this (see zutil.c). To reduce memory requirements and avoid
|
|||
|
any allocation of 64K objects, at the expense of compression ratio, compile
|
|||
|
the library with -DMAX_WBITS=14 (see zconf.h).
|
|||
|
|
|||
|
The fields total_in and total_out can be used for statistics or progress
|
|||
|
reports. After compression, total_in holds the total size of the
|
|||
|
uncompressed data and may be saved for use in the decompressor (particularly
|
|||
|
if the decompressor wants to decompress everything in a single step).
|
|||
|
*/
|
|||
|
|
|||
|
/* constants */
|
|||
|
|
|||
|
#define Z_NO_FLUSH 0
|
|||
|
#define Z_PARTIAL_FLUSH 1
|
|||
|
#define Z_SYNC_FLUSH 2
|
|||
|
#define Z_FULL_FLUSH 3
|
|||
|
#define Z_FINISH 4
|
|||
|
#define Z_BLOCK 5
|
|||
|
#define Z_TREES 6
|
|||
|
/* Allowed flush values; see deflate() and inflate() below for details */
|
|||
|
|
|||
|
#define Z_OK 0
|
|||
|
#define Z_STREAM_END 1
|
|||
|
#define Z_NEED_DICT 2
|
|||
|
#define Z_ERRNO (-1)
|
|||
|
#define Z_STREAM_ERROR (-2)
|
|||
|
#define Z_DATA_ERROR (-3)
|
|||
|
#define Z_MEM_ERROR (-4)
|
|||
|
#define Z_BUF_ERROR (-5)
|
|||
|
#define Z_VERSION_ERROR (-6)
|
|||
|
/* Return codes for the compression/decompression functions. Negative values
|
|||
|
* are errors, positive values are used for special but normal events.
|
|||
|
*/
|
|||
|
|
|||
|
#define Z_NO_COMPRESSION 0
|
|||
|
#define Z_BEST_SPEED 1
|
|||
|
#define Z_BEST_COMPRESSION 9
|
|||
|
#define Z_DEFAULT_COMPRESSION (-1)
|
|||
|
/* compression levels */
|
|||
|
|
|||
|
#define Z_FILTERED 1
|
|||
|
#define Z_HUFFMAN_ONLY 2
|
|||
|
#define Z_RLE 3
|
|||
|
#define Z_FIXED 4
|
|||
|
#define Z_DEFAULT_STRATEGY 0
|
|||
|
/* compression strategy; see deflateInit2() below for details */
|
|||
|
|
|||
|
#define Z_BINARY 0
|
|||
|
#define Z_TEXT 1
|
|||
|
#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
|
|||
|
#define Z_UNKNOWN 2
|
|||
|
/* Possible values of the data_type field (though see inflate()) */
|
|||
|
|
|||
|
#define Z_DEFLATED 8
|
|||
|
/* The deflate compression method (the only one supported in this version) */
|
|||
|
|
|||
|
#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
|
|||
|
|
|||
|
#define zlib_version zlibVersion()
|
|||
|
/* for compatibility with versions < 1.0.2 */
|
|||
|
|
|||
|
|
|||
|
/* basic functions */
|
|||
|
|
|||
|
ZEXTERN const char * ZEXPORT zlibVersion OF((void));
|
|||
|
/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
|
|||
|
If the first character differs, the library code actually used is not
|
|||
|
compatible with the zlib.h header file used by the application. This check
|
|||
|
is automatically made by deflateInit and inflateInit.
|
|||
|
*/
|
|||
|
|
|||
|
/*
|
|||
|
ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
|
|||
|
|
|||
|
Initializes the internal stream state for compression. The fields
|
|||
|
zalloc, zfree and opaque must be initialized before by the caller. If
|
|||
|
zalloc and zfree are set to Z_NULL, deflateInit updates them to use default
|
|||
|
allocation functions.
|
|||
|
|
|||
|
The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
|
|||
|
1 gives best speed, 9 gives best compression, 0 gives no compression at all
|
|||
|
(the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION
|
|||
|
requests a default compromise between speed and compression (currently
|
|||
|
equivalent to level 6).
|
|||
|
|
|||
|
deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
|||
|
memory, Z_STREAM_ERROR if level is not a valid compression level, or
|
|||
|
Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
|
|||
|
with the version assumed by the caller (ZLIB_VERSION). msg is set to null
|
|||
|
if there is no error message. deflateInit does not perform any compression:
|
|||
|
this will be done by deflate().
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
|
|||
|
/*
|
|||
|
deflate compresses as much data as possible, and stops when the input
|
|||
|
buffer becomes empty or the output buffer becomes full. It may introduce
|
|||
|
some output latency (reading input without producing any output) except when
|
|||
|
forced to flush.
|
|||
|
|
|||
|
The detailed semantics are as follows. deflate performs one or both of the
|
|||
|
following actions:
|
|||
|
|
|||
|
- Compress more input starting at next_in and update next_in and avail_in
|
|||
|
accordingly. If not all input can be processed (because there is not
|
|||
|
enough room in the output buffer), next_in and avail_in are updated and
|
|||
|
processing will resume at this point for the next call of deflate().
|
|||
|
|
|||
|
- Provide more output starting at next_out and update next_out and avail_out
|
|||
|
accordingly. This action is forced if the parameter flush is non zero.
|
|||
|
Forcing flush frequently degrades the compression ratio, so this parameter
|
|||
|
should be set only when necessary (in interactive applications). Some
|
|||
|
output may be provided even if flush is not set.
|
|||
|
|
|||
|
Before the call of deflate(), the application should ensure that at least
|
|||
|
one of the actions is possible, by providing more input and/or consuming more
|
|||
|
output, and updating avail_in or avail_out accordingly; avail_out should
|
|||
|
never be zero before the call. The application can consume the compressed
|
|||
|
output when it wants, for example when the output buffer is full (avail_out
|
|||
|
== 0), or after each call of deflate(). If deflate returns Z_OK and with
|
|||
|
zero avail_out, it must be called again after making room in the output
|
|||
|
buffer because there might be more output pending.
|
|||
|
|
|||
|
Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
|
|||
|
decide how much data to accumulate before producing output, in order to
|
|||
|
maximize compression.
|
|||
|
|
|||
|
If the parameter flush is set to Z_SYNC_FLUSH, 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. This
|
|||
|
completes the current deflate block and follows it with an empty stored block
|
|||
|
that is three bits plus filler bits to the next byte, followed by four bytes
|
|||
|
(00 00 ff ff).
|
|||
|
|
|||
|
If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the
|
|||
|
output buffer, but the output is not aligned to a byte boundary. All of the
|
|||
|
input data so far will be available to the decompressor, as for Z_SYNC_FLUSH.
|
|||
|
This completes the current deflate block and follows it with an empty fixed
|
|||
|
codes block that is 10 bits long. This assures that enough bytes are output
|
|||
|
in order for the decompressor to finish the block before the empty fixed code
|
|||
|
block.
|
|||
|
|
|||
|
If flush is set to Z_BLOCK, a deflate block is completed and emitted, as
|
|||
|
for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to
|
|||
|
seven bits of the current block are held to be written as the next byte after
|
|||
|
the next deflate block is completed. In this case, the decompressor may not
|
|||
|
be provided enough bits at this point in order to complete decompression of
|
|||
|
the data provided so far to the compressor. It may need to wait for the next
|
|||
|
block to be emitted. This is for advanced applications that need to control
|
|||
|
the emission of deflate blocks.
|
|||
|
|
|||
|
If flush is set to Z_FULL_FLUSH, all output is flushed as with
|
|||
|
Z_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 Z_FULL_FLUSH too often can seriously degrade
|
|||
|
compression.
|
|||
|
|
|||
|
If deflate returns with avail_out == 0, this function must be called again
|
|||
|
with the same value of the flush parameter and more output space (updated
|
|||
|
avail_out), until the flush is complete (deflate returns with non-zero
|
|||
|
avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
|
|||
|
avail_out is greater than six to avoid repeated flush markers due to
|
|||
|
avail_out == 0 on return.
|
|||
|
|
|||
|
If the parameter flush is set to Z_FINISH, pending input is processed,
|
|||
|
pending output is flushed and deflate returns with Z_STREAM_END if there was
|
|||
|
enough output space; if deflate returns with Z_OK, this function must be
|
|||
|
called again with Z_FINISH and more output space (updated avail_out) but no
|
|||
|
more input data, until it returns with Z_STREAM_END or an error. After
|
|||
|
deflate has returned Z_STREAM_END, the only possible operations on the stream
|
|||
|
are deflateReset or deflateEnd.
|
|||
|
|
|||
|
Z_FINISH can be used immediately after deflateInit if all the compression
|
|||
|
is to be done in a single step. In this case, avail_out must be at least the
|
|||
|
value returned by deflateBound (see below). Then deflate is guaranteed to
|
|||
|
return Z_STREAM_END. If not enough output space is provided, deflate will
|
|||
|
not return Z_STREAM_END, and it must be called again as described above.
|
|||
|
|
|||
|
deflate() sets strm->adler to the adler32 checksum of all input read
|
|||
|
so far (that is, total_in bytes).
|
|||
|
|
|||
|
deflate() may update strm->data_type if it can make a good guess about
|
|||
|
the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered
|
|||
|
binary. This field is only for information purposes and does not affect the
|
|||
|
compression algorithm in any manner.
|
|||
|
|
|||
|
deflate() returns Z_OK if some progress has been made (more input
|
|||
|
processed or more output produced), Z_STREAM_END if all input has been
|
|||
|
consumed and all output has been produced (only when flush is set to
|
|||
|
Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
|
|||
|
if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible
|
|||
|
(for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
|
|||
|
fatal, and deflate() can be called again with more input and more output
|
|||
|
space to continue compressing.
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
|
|||
|
/*
|
|||
|
All dynamically allocated data structures for this stream are freed.
|
|||
|
This function discards any unprocessed input and does not flush any pending
|
|||
|
output.
|
|||
|
|
|||
|
deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
|
|||
|
stream state was inconsistent, Z_DATA_ERROR if the stream was freed
|
|||
|
prematurely (some input or output was discarded). In the error case, msg
|
|||
|
may be set but then points to a static string (which must not be
|
|||
|
deallocated).
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
/*
|
|||
|
ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
|
|||
|
|
|||
|
Initializes the internal stream state for decompression. The fields
|
|||
|
next_in, avail_in, zalloc, zfree and opaque must be initialized before by
|
|||
|
the caller. If next_in is not Z_NULL and avail_in is large enough (the
|
|||
|
exact value depends on the compression method), inflateInit determines the
|
|||
|
compression method from the zlib header and allocates all data structures
|
|||
|
accordingly; otherwise the allocation will be deferred to the first call of
|
|||
|
inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
|
|||
|
use default allocation functions.
|
|||
|
|
|||
|
inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
|||
|
memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
|
|||
|
version assumed by the caller, or Z_STREAM_ERROR if the parameters are
|
|||
|
invalid, such as a null pointer to the structure. msg is set to null if
|
|||
|
there is no error message. inflateInit does not perform any decompression
|
|||
|
apart from possibly reading the zlib header if present: actual decompression
|
|||
|
will be done by inflate(). (So next_in and avail_in may be modified, but
|
|||
|
next_out and avail_out are unused and unchanged.) The current implementation
|
|||
|
of inflateInit() does not process any header information -- that is deferred
|
|||
|
until inflate() is called.
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
|
|||
|
/*
|
|||
|
inflate decompresses as much data as possible, and stops when the input
|
|||
|
buffer becomes empty or the output buffer becomes full. It may introduce
|
|||
|
some output latency (reading input without producing any output) except when
|
|||
|
forced to flush.
|
|||
|
|
|||
|
The detailed semantics are as follows. inflate performs one or both of the
|
|||
|
following actions:
|
|||
|
|
|||
|
- Decompress more input starting at next_in and update next_in and avail_in
|
|||
|
accordingly. If not all input can be processed (because there is not
|
|||
|
enough room in the output buffer), next_in is updated and processing will
|
|||
|
resume at this point for the next call of inflate().
|
|||
|
|
|||
|
- Provide more output starting at next_out and update next_out and avail_out
|
|||
|
accordingly. inflate() provides as much output as possible, until there is
|
|||
|
no more input data or no more space in the output buffer (see below about
|
|||
|
the flush parameter).
|
|||
|
|
|||
|
Before the call of inflate(), the application should ensure that at least
|
|||
|
one of the actions is possible, by providing more input and/or consuming more
|
|||
|
output, and updating the next_* and avail_* values accordingly. The
|
|||
|
application can consume the uncompressed output when it wants, for example
|
|||
|
when the output buffer is full (avail_out == 0), or after each call of
|
|||
|
inflate(). If inflate returns Z_OK and with zero avail_out, it must be
|
|||
|
called again after making room in the output buffer because there might be
|
|||
|
more output pending.
|
|||
|
|
|||
|
The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH,
|
|||
|
Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much
|
|||
|
output as possible to the output buffer. Z_BLOCK requests that inflate()
|
|||
|
stop if and when it gets 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.
|
|||
|
|
|||
|
The Z_BLOCK option assists in appending to or combining deflate streams.
|
|||
|
Also to assist in this, on return inflate() will set strm->data_type to the
|
|||
|
number of unused bits in the last byte taken from strm->next_in, plus 64 if
|
|||
|
inflate() is currently decoding the last block in the deflate stream, plus
|
|||
|
128 if inflate() returned immediately after decoding an end-of-block code or
|
|||
|
decoding the complete header up to just before the first byte of the deflate
|
|||
|
stream. The end-of-block will not be indicated until all of the uncompressed
|
|||
|
data from that block has been written to strm->next_out. The number of
|
|||
|
unused bits may in general be greater than seven, except when bit 7 of
|
|||
|
data_type is set, in which case the number of unused bits will be less than
|
|||
|
eight. data_type is set as noted here every time inflate() returns for all
|
|||
|
flush options, and so can be used to determine the amount of currently
|
|||
|
consumed input in bits.
|
|||
|
|
|||
|
The Z_TREES option behaves as Z_BLOCK does, but it also returns when the
|
|||
|
end of each deflate block header is reached, before any actual data in that
|
|||
|
block is decoded. This allows the caller to determine the length of the
|
|||
|
deflate block header for later use in random access within a deflate block.
|
|||
|
256 is added to the value of strm->data_type when inflate() returns
|
|||
|
immediately after reaching the end of the deflate block header.
|
|||
|
|
|||
|
inflate() should normally be called until it returns Z_STREAM_END or an
|
|||
|
error. However if all decompression is to be performed in a single step (a
|
|||
|
single call of inflate), the parameter flush should be set to Z_FINISH. In
|
|||
|
this case all pending input is processed and all pending output is flushed;
|
|||
|
avail_out must be large enough to hold all of the uncompressed data for the
|
|||
|
operation to complete. (The size of the uncompressed data may have been
|
|||
|
saved by the compressor for this purpose.) The use of Z_FINISH is not
|
|||
|
required to perform an inflation in one step. However it may be used to
|
|||
|
inform inflate that a faster approach can be used for the single inflate()
|
|||
|
call. Z_FINISH also informs inflate to not maintain a sliding window if the
|
|||
|
stream completes, which reduces inflate's memory footprint. If the stream
|
|||
|
does not complete, either because not all of the stream is provided or not
|
|||
|
enough output space is provided, then a sliding window will be allocated and
|
|||
|
inflate() can be called again to continue the operation as if Z_NO_FLUSH had
|
|||
|
been used.
|
|||
|
|
|||
|
In this implementation, inflate() always flushes as much output as
|
|||
|
possible to the output buffer, and always uses the faster approach on the
|
|||
|
first call. So the effects of the flush parameter in this implementation are
|
|||
|
on the return value of inflate() as noted below, when inflate() returns early
|
|||
|
when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of
|
|||
|
memory for a sliding window when Z_FINISH is used.
|
|||
|
|
|||
|
If a preset dictionary is needed after this call (see inflateSetDictionary
|
|||
|
below), inflate sets strm->adler to the Adler-32 checksum of the dictionary
|
|||
|
chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
|
|||
|
strm->adler to the Adler-32 checksum of all output produced so far (that is,
|
|||
|
total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
|
|||
|
below. At the end of the stream, inflate() checks that its computed adler32
|
|||
|
checksum is equal to that saved by the compressor and returns Z_STREAM_END
|
|||
|
only if the checksum is correct.
|
|||
|
|
|||
|
inflate() can decompress and check either zlib-wrapped or gzip-wrapped
|
|||
|
deflate data. The header type is detected automatically, if requested when
|
|||
|
initializing with inflateInit2(). Any information contained in the gzip
|
|||
|
header is not retained, so applications that need that information should
|
|||
|
instead use raw inflate, see inflateInit2() below, or inflateBack() and
|
|||
|
perform their own processing of the gzip header and trailer. When processing
|
|||
|
gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output
|
|||
|
producted so far. The CRC-32 is checked against the gzip trailer.
|
|||
|
|
|||
|
inflate() returns Z_OK if some progress has been made (more input processed
|
|||
|
or more output produced), Z_STREAM_END if the end of the compressed data has
|
|||
|
been reached and all uncompressed output has been produced, Z_NEED_DICT if a
|
|||
|
preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
|
|||
|
corrupted (input stream not conforming to the zlib format or incorrect check
|
|||
|
value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
|
|||
|
next_in or next_out was Z_NULL), Z_MEM_ERROR if there was not enough memory,
|
|||
|
Z_BUF_ERROR if no progress is possible or if there was not enough room in the
|
|||
|
output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
|
|||
|
inflate() can be called again with more input and more output space to
|
|||
|
continue decompressing. If Z_DATA_ERROR is returned, the application may
|
|||
|
then call inflateSync() to look for a good compression block if a partial
|
|||
|
recovery of the data is desired.
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
|
|||
|
/*
|
|||
|
All dynamically allocated data structures for this stream are freed.
|
|||
|
This function discards any unprocessed input and does not flush any pending
|
|||
|
output.
|
|||
|
|
|||
|
inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
|
|||
|
was inconsistent. In the error case, msg may be set but then points to a
|
|||
|
static string (which must not be deallocated).
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
/* Advanced functions */
|
|||
|
|
|||
|
/*
|
|||
|
The following functions are needed only in some special applications.
|
|||
|
*/
|
|||
|
|
|||
|
/*
|
|||
|
ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
|
|||
|
int level,
|
|||
|
int method,
|
|||
|
int windowBits,
|
|||
|
int memLevel,
|
|||
|
int strategy));
|
|||
|
|
|||
|
This is another version of deflateInit with more compression options. The
|
|||
|
fields next_in, zalloc, zfree and opaque must be initialized before by the
|
|||
|
caller.
|
|||
|
|
|||
|
The method parameter is the compression method. It must be Z_DEFLATED in
|
|||
|
this version of the library.
|
|||
|
|
|||
|
The windowBits parameter is the base two logarithm of the window size
|
|||
|
(the size of the history buffer). It should be in the range 8..15 for this
|
|||
|
version of the library. Larger values of this parameter result in better
|
|||
|
compression at the expense of memory usage. The default value is 15 if
|
|||
|
deflateInit is used instead.
|
|||
|
|
|||
|
windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
|
|||
|
determines the window size. deflate() will then generate raw deflate data
|
|||
|
with no zlib header or trailer, and will not compute an adler32 check value.
|
|||
|
|
|||
|
windowBits can also be greater than 15 for optional gzip encoding. Add
|
|||
|
16 to windowBits to write a simple gzip header and trailer around the
|
|||
|
compressed data instead of a zlib wrapper. The gzip header will have no
|
|||
|
file name, no extra data, no comment, no modification time (set to zero), no
|
|||
|
header crc, and the operating system will be set to 255 (unknown). If a
|
|||
|
gzip stream is being written, strm->adler is a crc32 instead of an adler32.
|
|||
|
|
|||
|
The memLevel parameter specifies how much memory should be allocated
|
|||
|
for the internal compression state. memLevel=1 uses minimum memory but is
|
|||
|
slow and reduces compression ratio; memLevel=9 uses maximum memory for
|
|||
|
optimal speed. The default value is 8. See zconf.h for total memory usage
|
|||
|
as a function of windowBits and memLevel.
|
|||
|
|
|||
|
The strategy parameter is used to tune the compression algorithm. Use the
|
|||
|
value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
|
|||
|
filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
|
|||
|
string match), or Z_RLE to limit match distances to one (run-length
|
|||
|
encoding). Filtered data consists mostly of small values with a somewhat
|
|||
|
random distribution. In this case, the compression algorithm is tuned to
|
|||
|
compress them better. The effect of Z_FILTERED is to force more Huffman
|
|||
|
coding and less string matching; it is somewhat intermediate between
|
|||
|
Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as
|
|||
|
fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The
|
|||
|
strategy parameter only affects the compression ratio but not the
|
|||
|
correctness of the compressed output even if it is not set appropriately.
|
|||
|
Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler
|
|||
|
decoder for special applications.
|
|||
|
|
|||
|
deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
|||
|
memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid
|
|||
|
method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is
|
|||
|
incompatible with the version assumed by the caller (ZLIB_VERSION). msg is
|
|||
|
set to null if there is no error message. deflateInit2 does not perform any
|
|||
|
compression: this will be done by deflate().
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
|
|||
|
const Bytef *dictionary,
|
|||
|
uInt dictLength));
|
|||
|
/*
|
|||
|
Initializes the compression dictionary from the given byte sequence
|
|||
|
without producing any compressed output. When using the zlib format, this
|
|||
|
function must be called immediately after deflateInit, deflateInit2 or
|
|||
|
deflateReset, and before any call of deflate. When doing raw deflate, this
|
|||
|
function must be called either before any call of deflate, or immediately
|
|||
|
after the completion of a deflate block, i.e. after all input has been
|
|||
|
consumed and all output has been delivered when using any of the flush
|
|||
|
options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH. The
|
|||
|
compressor and decompressor must use exactly the same dictionary (see
|
|||
|
inflateSetDictionary).
|
|||
|
|
|||
|
The dictionary should consist of strings (byte sequences) that are likely
|
|||
|
to be encountered later in the data to be compressed, with the most commonly
|
|||
|
used strings preferably put towards the end of the dictionary. Using a
|
|||
|
dictionary is most useful when the data to be compressed is short and can be
|
|||
|
predicted with good accuracy; the data can then be compressed better than
|
|||
|
with the default empty dictionary.
|
|||
|
|
|||
|
Depending on the size of the compression data structures selected by
|
|||
|
deflateInit or deflateInit2, a part of the dictionary may in effect be
|
|||
|
discarded, for example if the dictionary is larger than the window size
|
|||
|
provided in deflateInit or deflateInit2. Thus the strings most likely to be
|
|||
|
useful should be put at the end of the dictionary, not at the front. In
|
|||
|
addition, the current implementation of deflate will use at most the window
|
|||
|
size minus 262 bytes of the provided dictionary.
|
|||
|
|
|||
|
Upon return of this function, strm->adler is set to the adler32 value
|
|||
|
of the dictionary; the decompressor may later use this value to determine
|
|||
|
which dictionary has been used by the compressor. (The adler32 value
|
|||
|
applies to the whole dictionary even if only a subset of the dictionary is
|
|||
|
actually used by the compressor.) If a raw deflate was requested, then the
|
|||
|
adler32 value is not computed and strm->adler is not set.
|
|||
|
|
|||
|
deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
|
|||
|
parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
|
|||
|
inconsistent (for example if deflate has already been called for this stream
|
|||
|
or if not at a block boundary for raw deflate). deflateSetDictionary does
|
|||
|
not perform any compression: this will be done by deflate().
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
|
|||
|
z_streamp source));
|
|||
|
/*
|
|||
|
Sets the destination stream as a complete copy of the source stream.
|
|||
|
|
|||
|
This function can be useful when several compression strategies will be
|
|||
|
tried, for example when there are several ways of pre-processing the input
|
|||
|
data with a filter. The streams that will be discarded should then be freed
|
|||
|
by calling deflateEnd. Note that deflateCopy duplicates the internal
|
|||
|
compression state which can be quite large, so this strategy is slow and can
|
|||
|
consume lots of memory.
|
|||
|
|
|||
|
deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
|
|||
|
enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
|
|||
|
(such as zalloc being Z_NULL). msg is left unchanged in both source and
|
|||
|
destination.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
|
|||
|
/*
|
|||
|
This function is equivalent to deflateEnd followed by deflateInit,
|
|||
|
but does not free and reallocate all the internal compression state. The
|
|||
|
stream will keep the same compression level and any other attributes that
|
|||
|
may have been set by deflateInit2.
|
|||
|
|
|||
|
deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
|
|||
|
stream state was inconsistent (such as zalloc or state being Z_NULL).
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
|
|||
|
int level,
|
|||
|
int strategy));
|
|||
|
/*
|
|||
|
Dynamically update the compression level and compression strategy. The
|
|||
|
interpretation of level and strategy is as in deflateInit2. This can be
|
|||
|
used to switch between compression and straight copy of the input data, or
|
|||
|
to switch to a different kind of input data requiring a different strategy.
|
|||
|
If the compression level is changed, the input available so far is
|
|||
|
compressed with the old level (and may be flushed); the new level will take
|
|||
|
effect only at the next call of deflate().
|
|||
|
|
|||
|
Before the call of deflateParams, the stream state must be set as for
|
|||
|
a call of deflate(), since the currently available input may have to be
|
|||
|
compressed and flushed. In particular, strm->avail_out must be non-zero.
|
|||
|
|
|||
|
deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
|
|||
|
stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR if
|
|||
|
strm->avail_out was zero.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
|
|||
|
int good_length,
|
|||
|
int max_lazy,
|
|||
|
int nice_length,
|
|||
|
int max_chain));
|
|||
|
/*
|
|||
|
Fine tune deflate's internal compression parameters. This should only be
|
|||
|
used by someone who understands the algorithm used by zlib's deflate for
|
|||
|
searching for the best matching string, and even then only by the most
|
|||
|
fanatic optimizer trying to squeeze out the last compressed bit for their
|
|||
|
specific input data. Read the deflate.c source code for the meaning of the
|
|||
|
max_lazy, good_length, nice_length, and max_chain parameters.
|
|||
|
|
|||
|
deflateTune() can be called after deflateInit() or deflateInit2(), and
|
|||
|
returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
|
|||
|
uLong sourceLen));
|
|||
|
/*
|
|||
|
deflateBound() returns an upper bound on the compressed size after
|
|||
|
deflation of sourceLen bytes. It must be called after deflateInit() or
|
|||
|
deflateInit2(), and after deflateSetHeader(), if used. This would be used
|
|||
|
to allocate an output buffer for deflation in a single pass, and so would be
|
|||
|
called before deflate(). If that first deflate() call is provided the
|
|||
|
sourceLen input bytes, an output buffer allocated to the size returned by
|
|||
|
deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed
|
|||
|
to return Z_STREAM_END. Note that it is possible for the compressed size to
|
|||
|
be larger than the value returned by deflateBound() if flush options other
|
|||
|
than Z_FINISH or Z_NO_FLUSH are used.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT deflatePending OF((z_streamp strm,
|
|||
|
unsigned *pending,
|
|||
|
int *bits));
|
|||
|
/*
|
|||
|
deflatePending() returns the number of bytes and bits of output that have
|
|||
|
been generated, but not yet provided in the available output. The bytes not
|
|||
|
provided would be due to the available output space having being consumed.
|
|||
|
The number of bits of output not provided are between 0 and 7, where they
|
|||
|
await more bits to join them in order to fill out a full byte. If pending
|
|||
|
or bits are Z_NULL, then those values are not set.
|
|||
|
|
|||
|
deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source
|
|||
|
stream state was inconsistent.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
|
|||
|
int bits,
|
|||
|
int value));
|
|||
|
/*
|
|||
|
deflatePrime() inserts bits in the deflate output stream. The intent
|
|||
|
is that this function is used to start off the deflate output with the bits
|
|||
|
leftover from a previous deflate stream when appending to it. As such, this
|
|||
|
function can only be used for raw deflate, and must be used before the first
|
|||
|
deflate() call after a deflateInit2() or deflateReset(). bits must be less
|
|||
|
than or equal to 16, and that many of the least significant bits of value
|
|||
|
will be inserted in the output.
|
|||
|
|
|||
|
deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough
|
|||
|
room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the
|
|||
|
source stream state was inconsistent.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm,
|
|||
|
gz_headerp head));
|
|||
|
/*
|
|||
|
deflateSetHeader() provides gzip header information for when a gzip
|
|||
|
stream is requested by deflateInit2(). deflateSetHeader() may be called
|
|||
|
after deflateInit2() or deflateReset() and before the first call of
|
|||
|
deflate(). The text, time, os, extra field, name, and comment information
|
|||
|
in the provided gz_header structure are written to the gzip header (xflag is
|
|||
|
ignored -- the extra flags are set according to the compression level). The
|
|||
|
caller must assure that, if not Z_NULL, name and comment are terminated with
|
|||
|
a zero byte, and that if extra is not Z_NULL, that extra_len bytes are
|
|||
|
available there. If hcrc is true, a gzip header crc is included. Note that
|
|||
|
the current versions of the command-line version of gzip (up through version
|
|||
|
1.3.x) do not support header crc's, and will report that it is a "multi-part
|
|||
|
gzip file" and give up.
|
|||
|
|
|||
|
If deflateSetHeader is not used, the default gzip header has text false,
|
|||
|
the time set to zero, and os set to 255, with no extra, name, or comment
|
|||
|
fields. The gzip header is returned to the default state by deflateReset().
|
|||
|
|
|||
|
deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
|
|||
|
stream state was inconsistent.
|
|||
|
*/
|
|||
|
|
|||
|
/*
|
|||
|
ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
|
|||
|
int windowBits));
|
|||
|
|
|||
|
This is another version of inflateInit with an extra parameter. The
|
|||
|
fields next_in, avail_in, zalloc, zfree and opaque must be initialized
|
|||
|
before by the caller.
|
|||
|
|
|||
|
The windowBits parameter is the base two logarithm of the maximum window
|
|||
|
size (the size of the history buffer). It should be in the range 8..15 for
|
|||
|
this version of the library. The default value is 15 if inflateInit is used
|
|||
|
instead. windowBits must be greater than or equal to the windowBits value
|
|||
|
provided to deflateInit2() while compressing, or it must be equal to 15 if
|
|||
|
deflateInit2() was not used. If a compressed stream with a larger window
|
|||
|
size is given as input, inflate() will return with the error code
|
|||
|
Z_DATA_ERROR instead of trying to allocate a larger window.
|
|||
|
|
|||
|
windowBits can also be zero to request that inflate use the window size in
|
|||
|
the zlib header of the compressed stream.
|
|||
|
|
|||
|
windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
|
|||
|
determines the window size. inflate() will then process raw deflate data,
|
|||
|
not looking for a zlib or gzip header, not generating a check value, and not
|
|||
|
looking for any check values for comparison at the end of the stream. This
|
|||
|
is for use with other formats that use the deflate compressed data format
|
|||
|
such as zip. Those formats provide their own check values. If a custom
|
|||
|
format is developed using the raw deflate format for compressed data, it is
|
|||
|
recommended that a check value such as an adler32 or a crc32 be applied to
|
|||
|
the uncompressed data as is done in the zlib, gzip, and zip formats. For
|
|||
|
most applications, the zlib format should be used as is. Note that comments
|
|||
|
above on the use in deflateInit2() applies to the magnitude of windowBits.
|
|||
|
|
|||
|
windowBits can also be greater than 15 for optional gzip decoding. Add
|
|||
|
32 to windowBits to enable zlib and gzip decoding with automatic header
|
|||
|
detection, or add 16 to decode only the gzip format (the zlib format will
|
|||
|
return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a
|
|||
|
crc32 instead of an adler32.
|
|||
|
|
|||
|
inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
|||
|
memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
|
|||
|
version assumed by the caller, or Z_STREAM_ERROR if the parameters are
|
|||
|
invalid, such as a null pointer to the structure. msg is set to null if
|
|||
|
there is no error message. inflateInit2 does not perform any decompression
|
|||
|
apart from possibly reading the zlib header if present: actual decompression
|
|||
|
will be done by inflate(). (So next_in and avail_in may be modified, but
|
|||
|
next_out and avail_out are unused and unchanged.) The current implementation
|
|||
|
of inflateInit2() does not process any header information -- that is
|
|||
|
deferred until inflate() is called.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
|
|||
|
const Bytef *dictionary,
|
|||
|
uInt dictLength));
|
|||
|
/*
|
|||
|
Initializes the decompression dictionary from the given uncompressed byte
|
|||
|
sequence. This function must be called immediately after a call of inflate,
|
|||
|
if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
|
|||
|
can be determined from the adler32 value returned by that call of inflate.
|
|||
|
The compressor and decompressor must use exactly the same dictionary (see
|
|||
|
deflateSetDictionary). For raw inflate, this function can be called at any
|
|||
|
time to set the dictionary. If the provided dictionary is smaller than the
|
|||
|
window and there is already data in the window, then the provided dictionary
|
|||
|
will amend what's there. The application must insure that the dictionary
|
|||
|
that was used for compression is provided.
|
|||
|
|
|||
|
inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
|
|||
|
parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
|
|||
|
inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
|
|||
|
expected one (incorrect adler32 value). inflateSetDictionary does not
|
|||
|
perform any decompression: this will be done by subsequent calls of
|
|||
|
inflate().
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT inflateGetDictionary OF((z_streamp strm,
|
|||
|
Bytef *dictionary,
|
|||
|
uInt *dictLength));
|
|||
|
/*
|
|||
|
Returns the sliding dictionary being maintained by inflate. dictLength is
|
|||
|
set to the number of bytes in the dictionary, and that many bytes are copied
|
|||
|
to dictionary. dictionary must have enough space, where 32768 bytes is
|
|||
|
always enough. If inflateGetDictionary() is called with dictionary equal to
|
|||
|
Z_NULL, then only the dictionary length is returned, and nothing is copied.
|
|||
|
Similary, if dictLength is Z_NULL, then it is not set.
|
|||
|
|
|||
|
inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
|
|||
|
stream state is inconsistent.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
|
|||
|
/*
|
|||
|
Skips invalid compressed data until a possible full flush point (see above
|
|||
|
for the description of deflate with Z_FULL_FLUSH) can be found, or until all
|
|||
|
available input is skipped. No output is provided.
|
|||
|
|
|||
|
inflateSync searches for a 00 00 FF FF pattern in the compressed data.
|
|||
|
All full flush points have this pattern, but not all occurrences of this
|
|||
|
pattern are full flush points.
|
|||
|
|
|||
|
inflateSync returns Z_OK if a possible full flush point has been found,
|
|||
|
Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point
|
|||
|
has been found, or Z_STREAM_ERROR if the stream structure was inconsistent.
|
|||
|
In the success case, the application may save the current current value of
|
|||
|
total_in which indicates where valid compressed data was found. In the
|
|||
|
error case, the application may repeatedly call inflateSync, providing more
|
|||
|
input each time, until success or end of the input data.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
|
|||
|
z_streamp source));
|
|||
|
/*
|
|||
|
Sets the destination stream as a complete copy of the source stream.
|
|||
|
|
|||
|
This function can be useful when randomly accessing a large stream. The
|
|||
|
first pass through the stream can periodically record the inflate state,
|
|||
|
allowing restarting inflate at those points when randomly accessing the
|
|||
|
stream.
|
|||
|
|
|||
|
inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
|
|||
|
enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
|
|||
|
(such as zalloc being Z_NULL). msg is left unchanged in both source and
|
|||
|
destination.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
|
|||
|
/*
|
|||
|
This function is equivalent to inflateEnd followed by inflateInit,
|
|||
|
but does not free and reallocate all the internal decompression state. The
|
|||
|
stream will keep attributes that may have been set by inflateInit2.
|
|||
|
|
|||
|
inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
|
|||
|
stream state was inconsistent (such as zalloc or state being Z_NULL).
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm,
|
|||
|
int windowBits));
|
|||
|
/*
|
|||
|
This function is the same as inflateReset, but it also permits changing
|
|||
|
the wrap and window size requests. The windowBits parameter is interpreted
|
|||
|
the same as it is for inflateInit2.
|
|||
|
|
|||
|
inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source
|
|||
|
stream state was inconsistent (such as zalloc or state being Z_NULL), or if
|
|||
|
the windowBits parameter is invalid.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
|
|||
|
int bits,
|
|||
|
int value));
|
|||
|
/*
|
|||
|
This function inserts bits in the inflate input stream. The intent is
|
|||
|
that this function is used to start inflating at a bit position in the
|
|||
|
middle of a byte. The provided bits will be used before any bytes are used
|
|||
|
from next_in. This function should only be used with raw inflate, and
|
|||
|
should be used before the first inflate() call after inflateInit2() or
|
|||
|
inflateReset(). bits must be less than or equal to 16, and that many of the
|
|||
|
least significant bits of value will be inserted in the input.
|
|||
|
|
|||
|
If bits is negative, then the input stream bit buffer is emptied. Then
|
|||
|
inflatePrime() can be called again to put bits in the buffer. This is used
|
|||
|
to clear out bits leftover after feeding inflate a block description prior
|
|||
|
to feeding inflate codes.
|
|||
|
|
|||
|
inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
|
|||
|
stream state was inconsistent.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm));
|
|||
|
/*
|
|||
|
This function returns two values, one in the lower 16 bits of the return
|
|||
|
value, and the other in the remaining upper bits, obtained by shifting the
|
|||
|
return value down 16 bits. If the upper value is -1 and the lower value is
|
|||
|
zero, then inflate() is currently decoding information outside of a block.
|
|||
|
If the upper value is -1 and the lower value is non-zero, then inflate is in
|
|||
|
the middle of a stored block, with the lower value equaling the number of
|
|||
|
bytes from the input remaining to copy. If the upper value is not -1, then
|
|||
|
it is the number of bits back from the current bit position in the input of
|
|||
|
the code (literal or length/distance pair) currently being processed. In
|
|||
|
that case the lower value is the number of bytes already emitted for that
|
|||
|
code.
|
|||
|
|
|||
|
A code is being processed if inflate is waiting for more input to complete
|
|||
|
decoding of the code, or if it has completed decoding but is waiting for
|
|||
|
more output space to write the literal or match data.
|
|||
|
|
|||
|
inflateMark() is used to mark locations in the input data for random
|
|||
|
access, which may be at bit positions, and to note those cases where the
|
|||
|
output of a code may span boundaries of random access blocks. The current
|
|||
|
location in the input stream can be determined from avail_in and data_type
|
|||
|
as noted in the description for the Z_BLOCK flush parameter for inflate.
|
|||
|
|
|||
|
inflateMark returns the value noted above or -1 << 16 if the provided
|
|||
|
source stream state was inconsistent.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
|
|||
|
gz_headerp head));
|
|||
|
/*
|
|||
|
inflateGetHeader() requests that gzip header information be stored in the
|
|||
|
provided gz_header structure. inflateGetHeader() may be called after
|
|||
|
inflateInit2() or inflateReset(), and before the first call of inflate().
|
|||
|
As inflate() processes the gzip stream, head->done is zero until the header
|
|||
|
is completed, at which time head->done is set to one. If a zlib stream is
|
|||
|
being decoded, then head->done is set to -1 to indicate that there will be
|
|||
|
no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be
|
|||
|
used to force inflate() to return immediately after header processing is
|
|||
|
complete and before any actual data is decompressed.
|
|||
|
|
|||
|
The text, time, xflags, and os fields are filled in with the gzip header
|
|||
|
contents. hcrc is set to true if there is a header CRC. (The header CRC
|
|||
|
was valid if done is set to one.) If extra is not Z_NULL, then extra_max
|
|||
|
contains the maximum number of bytes to write to extra. Once done is true,
|
|||
|
extra_len contains the actual extra field length, and extra contains the
|
|||
|
extra field, or that field truncated if extra_max is less than extra_len.
|
|||
|
If name is not Z_NULL, then up to name_max characters are written there,
|
|||
|
terminated with a zero unless the length is greater than name_max. If
|
|||
|
comment is not Z_NULL, then up to comm_max characters are written there,
|
|||
|
terminated with a zero unless the length is greater than comm_max. When any
|
|||
|
of extra, name, or comment are not Z_NULL and the respective field is not
|
|||
|
present in the header, then that field is set to Z_NULL to signal its
|
|||
|
absence. This allows the use of deflateSetHeader() with the returned
|
|||
|
structure to duplicate the header. However if those fields are set to
|
|||
|
allocated memory, then the application will need to save those pointers
|
|||
|
elsewhere so that they can be eventually freed.
|
|||
|
|
|||
|
If inflateGetHeader is not used, then the header information is simply
|
|||
|
discarded. The header is always checked for validity, including the header
|
|||
|
CRC if present. inflateReset() will reset the process to discard the header
|
|||
|
information. The application would need to call inflateGetHeader() again to
|
|||
|
retrieve the header from the next gzip stream.
|
|||
|
|
|||
|
inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
|
|||
|
stream state was inconsistent.
|
|||
|
*/
|
|||
|
|
|||
|
/*
|
|||
|
ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
|
|||
|
unsigned char FAR *window));
|
|||
|
|
|||
|
Initialize the internal stream state for decompression using inflateBack()
|
|||
|
calls. The fields zalloc, zfree and opaque in strm must be initialized
|
|||
|
before the call. If zalloc and zfree are Z_NULL, then the default library-
|
|||
|
derived memory allocation routines are used. windowBits is the base two
|
|||
|
logarithm of the window size, in the range 8..15. window is a caller
|
|||
|
supplied buffer of that size. Except for special applications where it is
|
|||
|
assured that deflate was used with small window sizes, windowBits must be 15
|
|||
|
and a 32K byte window must be supplied to be able to decompress general
|
|||
|
deflate streams.
|
|||
|
|
|||
|
See inflateBack() for the usage of these routines.
|
|||
|
|
|||
|
inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
|
|||
|
the parameters are invalid, Z_MEM_ERROR if the internal state could not be
|
|||
|
allocated, or Z_VERSION_ERROR if the version of the library does not match
|
|||
|
the version of the header file.
|
|||
|
*/
|
|||
|
|
|||
|
typedef unsigned (*in_func) OF((void FAR *,
|
|||
|
z_const unsigned char FAR * FAR *));
|
|||
|
typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
|
|||
|
in_func in, void FAR *in_desc,
|
|||
|
out_func out, void FAR *out_desc));
|
|||
|
/*
|
|||
|
inflateBack() does a raw inflate with a single call using a call-back
|
|||
|
interface for input and output. This is potentially more efficient than
|
|||
|
inflate() for file i/o applications, in that it avoids copying between the
|
|||
|
output and the sliding window by simply making the window itself the output
|
|||
|
buffer. inflate() can be faster on modern CPUs when used with large
|
|||
|
buffers. inflateBack() trusts the application to not change the output
|
|||
|
buffer passed by the output function, at least until inflateBack() returns.
|
|||
|
|
|||
|
inflateBackInit() must be called first to allocate the internal state
|
|||
|
and to initialize the state with the user-provided window buffer.
|
|||
|
inflateBack() may then be used multiple times to inflate a complete, raw
|
|||
|
deflate stream with each call. inflateBackEnd() is then called to free the
|
|||
|
allocated state.
|
|||
|
|
|||
|
A raw deflate stream is one with no zlib or gzip header or trailer.
|
|||
|
This routine would normally be used in a utility that reads zip or gzip
|
|||
|
files and writes out uncompressed files. The utility would decode the
|
|||
|
header and process the trailer on its own, hence this routine expects only
|
|||
|
the raw deflate stream to decompress. This is different from the normal
|
|||
|
behavior of inflate(), which expects either a zlib or gzip header and
|
|||
|
trailer around the deflate stream.
|
|||
|
|
|||
|
inflateBack() uses two subroutines supplied by the caller that are then
|
|||
|
called by inflateBack() for input and output. inflateBack() calls those
|
|||
|
routines until it reads a complete deflate stream and writes out all of the
|
|||
|
uncompressed data, or until it encounters an error. The function's
|
|||
|
parameters and return types are defined above in the in_func and out_func
|
|||
|
typedefs. inflateBack() will call in(in_desc, &buf) which should return the
|
|||
|
number of bytes of provided input, and a pointer to that input in buf. If
|
|||
|
there is no input available, in() must return zero--buf is ignored in that
|
|||
|
case--and inflateBack() will return a buffer error. inflateBack() will call
|
|||
|
out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
|
|||
|
should return zero on success, or non-zero on failure. If out() returns
|
|||
|
non-zero, inflateBack() will return with an error. Neither in() nor out()
|
|||
|
are permitted to change the contents of the window provided to
|
|||
|
inflateBackInit(), which is also the buffer that out() uses to write from.
|
|||
|
The length written by out() will be at most the window size. Any non-zero
|
|||
|
amount of input may be provided by in().
|
|||
|
|
|||
|
For convenience, inflateBack() can be provided input on the first call by
|
|||
|
setting strm->next_in and strm->avail_in. If that input is exhausted, then
|
|||
|
in() will be called. Therefore strm->next_in must be initialized before
|
|||
|
calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
|
|||
|
immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
|
|||
|
must also be initialized, and then if strm->avail_in is not zero, input will
|
|||
|
initially be taken from strm->next_in[0 .. strm->avail_in - 1].
|
|||
|
|
|||
|
The in_desc and out_desc parameters of inflateBack() is passed as the
|
|||
|
first parameter of in() and out() respectively when they are called. These
|
|||
|
descriptors can be optionally used to pass any information that the caller-
|
|||
|
supplied in() and out() functions need to do their job.
|
|||
|
|
|||
|
On return, inflateBack() will set strm->next_in and strm->avail_in to
|
|||
|
pass back any unused input that was provided by the last in() call. The
|
|||
|
return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
|
|||
|
if in() or out() returned an error, Z_DATA_ERROR if there was a format error
|
|||
|
in the deflate stream (in which case strm->msg is set to indicate the nature
|
|||
|
of the error), or Z_STREAM_ERROR if the stream was not properly initialized.
|
|||
|
In the case of Z_BUF_ERROR, an input or output error can be distinguished
|
|||
|
using strm->next_in which will be Z_NULL only if in() returned an error. If
|
|||
|
strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning
|
|||
|
non-zero. (in() will always be called before out(), so strm->next_in is
|
|||
|
assured to be defined if out() returns non-zero.) Note that inflateBack()
|
|||
|
cannot return Z_OK.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));
|
|||
|
/*
|
|||
|
All memory allocated by inflateBackInit() is freed.
|
|||
|
|
|||
|
inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
|
|||
|
state was inconsistent.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
|
|||
|
/* Return flags indicating compile-time options.
|
|||
|
|
|||
|
Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
|
|||
|
1.0: size of uInt
|
|||
|
3.2: size of uLong
|
|||
|
5.4: size of voidpf (pointer)
|
|||
|
7.6: size of z_off_t
|
|||
|
|
|||
|
Compiler, assembler, and debug options:
|
|||
|
8: DEBUG
|
|||
|
9: ASMV or ASMINF -- use ASM code
|
|||
|
10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
|
|||
|
11: 0 (reserved)
|
|||
|
|
|||
|
One-time table building (smaller code, but not thread-safe if true):
|
|||
|
12: BUILDFIXED -- build static block decoding tables when needed
|
|||
|
13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
|
|||
|
14,15: 0 (reserved)
|
|||
|
|
|||
|
Library content (indicates missing functionality):
|
|||
|
16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
|
|||
|
deflate code when not needed)
|
|||
|
17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
|
|||
|
and decode gzip streams (to avoid linking crc code)
|
|||
|
18-19: 0 (reserved)
|
|||
|
|
|||
|
Operation variations (changes in library functionality):
|
|||
|
20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
|
|||
|
21: FASTEST -- deflate algorithm with only one, lowest compression level
|
|||
|
22,23: 0 (reserved)
|
|||
|
|
|||
|
The sprintf variant used by gzprintf (zero is best):
|
|||
|
24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
|
|||
|
25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
|
|||
|
26: 0 = returns value, 1 = void -- 1 means inferred string length returned
|
|||
|
|
|||
|
Remainder:
|
|||
|
27-31: 0 (reserved)
|
|||
|
*/
|
|||
|
|
|||
|
#ifndef Z_SOLO
|
|||
|
|
|||
|
/* utility functions */
|
|||
|
|
|||
|
/*
|
|||
|
The following utility functions are implemented on top of the basic
|
|||
|
stream-oriented functions. To simplify the interface, some default options
|
|||
|
are assumed (compression level and memory usage, standard memory allocation
|
|||
|
functions). The source code of these utility functions can be modified if
|
|||
|
you need special options.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
|
|||
|
const Bytef *source, uLong sourceLen));
|
|||
|
/*
|
|||
|
Compresses the source buffer into the destination buffer. sourceLen is
|
|||
|
the byte length of the source buffer. Upon entry, destLen is the total size
|
|||
|
of the destination buffer, which must be at least the value returned by
|
|||
|
compressBound(sourceLen). Upon exit, destLen is the actual size of the
|
|||
|
compressed buffer.
|
|||
|
|
|||
|
compress returns Z_OK if success, Z_MEM_ERROR if there was not
|
|||
|
enough memory, Z_BUF_ERROR if there was not enough room in the output
|
|||
|
buffer.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
|
|||
|
const Bytef *source, uLong sourceLen,
|
|||
|
int level));
|
|||
|
/*
|
|||
|
Compresses the source buffer into the destination buffer. The level
|
|||
|
parameter has the same meaning as in deflateInit. sourceLen is the byte
|
|||
|
length of the source buffer. Upon entry, destLen is the total size of the
|
|||
|
destination buffer, which must be at least the value returned by
|
|||
|
compressBound(sourceLen). Upon exit, destLen is the actual size of the
|
|||
|
compressed buffer.
|
|||
|
|
|||
|
compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
|||
|
memory, Z_BUF_ERROR if there was not enough room in the output buffer,
|
|||
|
Z_STREAM_ERROR if the level parameter is invalid.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
|
|||
|
/*
|
|||
|
compressBound() returns an upper bound on the compressed size after
|
|||
|
compress() or compress2() on sourceLen bytes. It would be used before a
|
|||
|
compress() or compress2() call to allocate the destination buffer.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
|
|||
|
const Bytef *source, uLong sourceLen));
|
|||
|
/*
|
|||
|
Decompresses the source buffer into the destination buffer. sourceLen is
|
|||
|
the byte length of the source buffer. Upon entry, destLen is the total size
|
|||
|
of the destination buffer, which must be large enough to hold the entire
|
|||
|
uncompressed data. (The size of the uncompressed data must have been saved
|
|||
|
previously by the compressor and transmitted to the decompressor by some
|
|||
|
mechanism outside the scope of this compression library.) Upon exit, destLen
|
|||
|
is the actual size of the uncompressed buffer.
|
|||
|
|
|||
|
uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
|
|||
|
enough memory, Z_BUF_ERROR if there was not enough room in the output
|
|||
|
buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. In
|
|||
|
the case where there is not enough room, uncompress() will fill the output
|
|||
|
buffer with the uncompressed data up to that point.
|
|||
|
*/
|
|||
|
|
|||
|
/* gzip file access functions */
|
|||
|
|
|||
|
/*
|
|||
|
This library supports reading and writing files in gzip (.gz) format with
|
|||
|
an interface similar to that of stdio, using the functions that start with
|
|||
|
"gz". The gzip format is different from the zlib format. gzip is a gzip
|
|||
|
wrapper, documented in RFC 1952, wrapped around a deflate stream.
|
|||
|
*/
|
|||
|
|
|||
|
typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */
|
|||
|
|
|||
|
/*
|
|||
|
ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
|
|||
|
|
|||
|
Opens a gzip (.gz) file for reading or writing. The mode parameter is as
|
|||
|
in fopen ("rb" or "wb") but can also include a compression level ("wb9") or
|
|||
|
a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only
|
|||
|
compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F'
|
|||
|
for fixed code compression as in "wb9F". (See the description of
|
|||
|
deflateInit2 for more information about the strategy parameter.) 'T' will
|
|||
|
request transparent writing or appending with no compression and not using
|
|||
|
the gzip format.
|
|||
|
|
|||
|
"a" can be used instead of "w" to request that the gzip stream that will
|
|||
|
be written be appended to the file. "+" will result in an error, since
|
|||
|
reading and writing to the same gzip file is not supported. The addition of
|
|||
|
"x" when writing will create the file exclusively, which fails if the file
|
|||
|
already exists. On systems that support it, the addition of "e" when
|
|||
|
reading or writing will set the flag to close the file on an execve() call.
|
|||
|
|
|||
|
These functions, as well as gzip, will read and decode a sequence of gzip
|
|||
|
streams in a file. The append function of gzopen() can be used to create
|
|||
|
such a file. (Also see gzflush() for another way to do this.) When
|
|||
|
appending, gzopen does not test whether the file begins with a gzip stream,
|
|||
|
nor does it look for the end of the gzip streams to begin appending. gzopen
|
|||
|
will simply append a gzip stream to the existing file.
|
|||
|
|
|||
|
gzopen can be used to read a file which is not in gzip format; in this
|
|||
|
case gzread will directly read from the file without decompression. When
|
|||
|
reading, this will be detected automatically by looking for the magic two-
|
|||
|
byte gzip header.
|
|||
|
|
|||
|
gzopen returns NULL if the file could not be opened, if there was
|
|||
|
insufficient memory to allocate the gzFile state, or if an invalid mode was
|
|||
|
specified (an 'r', 'w', or 'a' was not provided, or '+' was provided).
|
|||
|
errno can be checked to determine if the reason gzopen failed was that the
|
|||
|
file could not be opened.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
|
|||
|
/*
|
|||
|
gzdopen associates a gzFile with the file descriptor fd. File descriptors
|
|||
|
are obtained from calls like open, dup, creat, pipe or fileno (if the file
|
|||
|
has been previously opened with fopen). The mode parameter is as in gzopen.
|
|||
|
|
|||
|
The next call of gzclose on the returned gzFile will also close the file
|
|||
|
descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor
|
|||
|
fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd,
|
|||
|
mode);. The duplicated descriptor should be saved to avoid a leak, since
|
|||
|
gzdopen does not close fd if it fails. If you are using fileno() to get the
|
|||
|
file descriptor from a FILE *, then you will have to use dup() to avoid
|
|||
|
double-close()ing the file descriptor. Both gzclose() and fclose() will
|
|||
|
close the associated file descriptor, so they need to have different file
|
|||
|
descriptors.
|
|||
|
|
|||
|
gzdopen returns NULL if there was insufficient memory to allocate the
|
|||
|
gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not
|
|||
|
provided, or '+' was provided), or if fd is -1. The file descriptor is not
|
|||
|
used until the next gz* read, write, seek, or close operation, so gzdopen
|
|||
|
will not detect if fd is invalid (unless fd is -1).
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
|
|||
|
/*
|
|||
|
Set the internal buffer size used by this library's functions. The
|
|||
|
default buffer size is 8192 bytes. This function must be called after
|
|||
|
gzopen() or gzdopen(), and before any other calls that read or write the
|
|||
|
file. The buffer memory allocation is always deferred to the first read or
|
|||
|
write. Two buffers are allocated, either both of the specified size when
|
|||
|
writing, or one of the specified size and the other twice that size when
|
|||
|
reading. A larger buffer size of, for example, 64K or 128K bytes will
|
|||
|
noticeably increase the speed of decompression (reading).
|
|||
|
|
|||
|
The new buffer size also affects the maximum length for gzprintf().
|
|||
|
|
|||
|
gzbuffer() returns 0 on success, or -1 on failure, such as being called
|
|||
|
too late.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
|
|||
|
/*
|
|||
|
Dynamically update the compression level or strategy. See the description
|
|||
|
of deflateInit2 for the meaning of these parameters.
|
|||
|
|
|||
|
gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
|
|||
|
opened for writing.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
|
|||
|
/*
|
|||
|
Reads the given number of uncompressed bytes from the compressed file. If
|
|||
|
the input file is not in gzip format, gzread copies the given number of
|
|||
|
bytes into the buffer directly from the file.
|
|||
|
|
|||
|
After reaching the end of a gzip stream in the input, gzread will continue
|
|||
|
to read, looking for another gzip stream. Any number of gzip streams may be
|
|||
|
concatenated in the input file, and will all be decompressed by gzread().
|
|||
|
If something other than a gzip stream is encountered after a gzip stream,
|
|||
|
that remaining trailing garbage is ignored (and no error is returned).
|
|||
|
|
|||
|
gzread can be used to read a gzip file that is being concurrently written.
|
|||
|
Upon reaching the end of the input, gzread will return with the available
|
|||
|
data. If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then
|
|||
|
gzclearerr can be used to clear the end of file indicator in order to permit
|
|||
|
gzread to be tried again. Z_OK indicates that a gzip stream was completed
|
|||
|
on the last gzread. Z_BUF_ERROR indicates that the input file ended in the
|
|||
|
middle of a gzip stream. Note that gzread does not return -1 in the event
|
|||
|
of an incomplete gzip stream. This error is deferred until gzclose(), which
|
|||
|
will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip
|
|||
|
stream. Alternatively, gzerror can be used before gzclose to detect this
|
|||
|
case.
|
|||
|
|
|||
|
gzread returns the number of uncompressed bytes actually read, less than
|
|||
|
len for end of file, or -1 for error.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
|
|||
|
voidpc buf, unsigned len));
|
|||
|
/*
|
|||
|
Writes the given number of uncompressed bytes into the compressed file.
|
|||
|
gzwrite returns the number of uncompressed bytes written or 0 in case of
|
|||
|
error.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...));
|
|||
|
/*
|
|||
|
Converts, formats, and writes the arguments to the compressed file under
|
|||
|
control of the format string, as in fprintf. gzprintf returns the number of
|
|||
|
uncompressed bytes actually written, or 0 in case of error. The number of
|
|||
|
uncompressed bytes written is limited to 8191, or one less than the buffer
|
|||
|
size given to gzbuffer(). The caller should assure that this limit is not
|
|||
|
exceeded. If it is exceeded, then gzprintf() will return an error (0) with
|
|||
|
nothing written. In this case, there may also be a buffer overflow with
|
|||
|
unpredictable consequences, which is possible only if zlib was compiled with
|
|||
|
the insecure functions sprintf() or vsprintf() because the secure snprintf()
|
|||
|
or vsnprintf() functions were not available. This can be determined using
|
|||
|
zlibCompileFlags().
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
|
|||
|
/*
|
|||
|
Writes the given null-terminated string to the compressed file, excluding
|
|||
|
the terminating null character.
|
|||
|
|
|||
|
gzputs returns the number of characters written, or -1 in case of error.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
|
|||
|
/*
|
|||
|
Reads bytes from the compressed file until len-1 characters are read, or a
|
|||
|
newline character is read and transferred to buf, or an end-of-file
|
|||
|
condition is encountered. If any characters are read or if len == 1, the
|
|||
|
string is terminated with a null character. If no characters are read due
|
|||
|
to an end-of-file or len < 1, then the buffer is left untouched.
|
|||
|
|
|||
|
gzgets returns buf which is a null-terminated string, or it returns NULL
|
|||
|
for end-of-file or in case of error. If there was an error, the contents at
|
|||
|
buf are indeterminate.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
|
|||
|
/*
|
|||
|
Writes c, converted to an unsigned char, into the compressed file. gzputc
|
|||
|
returns the value that was written, or -1 in case of error.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
|
|||
|
/*
|
|||
|
Reads one byte from the compressed file. gzgetc returns this byte or -1
|
|||
|
in case of end of file or error. This is implemented as a macro for speed.
|
|||
|
As such, it does not do all of the checking the other functions do. I.e.
|
|||
|
it does not check to see if file is NULL, nor whether the structure file
|
|||
|
points to has been clobbered or not.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
|
|||
|
/*
|
|||
|
Push one character back onto the stream to be read as the first character
|
|||
|
on the next read. At least one character of push-back is allowed.
|
|||
|
gzungetc() returns the character pushed, or -1 on failure. gzungetc() will
|
|||
|
fail if c is -1, and may fail if a character has been pushed but not read
|
|||
|
yet. If gzungetc is used immediately after gzopen or gzdopen, at least the
|
|||
|
output buffer size of pushed characters is allowed. (See gzbuffer above.)
|
|||
|
The pushed character will be discarded if the stream is repositioned with
|
|||
|
gzseek() or gzrewind().
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
|
|||
|
/*
|
|||
|
Flushes all pending output into the compressed file. The parameter flush
|
|||
|
is as in the deflate() function. The return value is the zlib error number
|
|||
|
(see function gzerror below). gzflush is only permitted when writing.
|
|||
|
|
|||
|
If the flush parameter is Z_FINISH, the remaining data is written and the
|
|||
|
gzip stream is completed in the output. If gzwrite() is called again, a new
|
|||
|
gzip stream will be started in the output. gzread() is able to read such
|
|||
|
concatented gzip streams.
|
|||
|
|
|||
|
gzflush should be called only when strictly necessary because it will
|
|||
|
degrade compression if called too often.
|
|||
|
*/
|
|||
|
|
|||
|
/*
|
|||
|
ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
|
|||
|
z_off_t offset, int whence));
|
|||
|
|
|||
|
Sets the starting position for the next gzread or gzwrite on the given
|
|||
|
compressed file. The offset represents a number of bytes in the
|
|||
|
uncompressed data stream. The whence parameter is defined as in lseek(2);
|
|||
|
the value SEEK_END is not supported.
|
|||
|
|
|||
|
If the file is opened for reading, this function is emulated but can be
|
|||
|
extremely slow. If the file is opened for writing, only forward seeks are
|
|||
|
supported; gzseek then compresses a sequence of zeroes up to the new
|
|||
|
starting position.
|
|||
|
|
|||
|
gzseek returns the resulting offset location as measured in bytes from
|
|||
|
the beginning of the uncompressed stream, or -1 in case of error, in
|
|||
|
particular if the file is opened for writing and the new starting position
|
|||
|
would be before the current position.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
|
|||
|
/*
|
|||
|
Rewinds the given file. This function is supported only for reading.
|
|||
|
|
|||
|
gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
|
|||
|
*/
|
|||
|
|
|||
|
/*
|
|||
|
ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
|
|||
|
|
|||
|
Returns the starting position for the next gzread or gzwrite on the given
|
|||
|
compressed file. This position represents a number of bytes in the
|
|||
|
uncompressed data stream, and is zero when starting, even if appending or
|
|||
|
reading a gzip stream from the middle of a file using gzdopen().
|
|||
|
|
|||
|
gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
|
|||
|
*/
|
|||
|
|
|||
|
/*
|
|||
|
ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
|
|||
|
|
|||
|
Returns the current offset in the file being read or written. This offset
|
|||
|
includes the count of bytes that precede the gzip stream, for example when
|
|||
|
appending or when using gzdopen() for reading. When reading, the offset
|
|||
|
does not include as yet unused buffered input. This information can be used
|
|||
|
for a progress indicator. On error, gzoffset() returns -1.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzeof OF((gzFile file));
|
|||
|
/*
|
|||
|
Returns true (1) if the end-of-file indicator has been set while reading,
|
|||
|
false (0) otherwise. Note that the end-of-file indicator is set only if the
|
|||
|
read tried to go past the end of the input, but came up short. Therefore,
|
|||
|
just like feof(), gzeof() may return false even if there is no more data to
|
|||
|
read, in the event that the last read request was for the exact number of
|
|||
|
bytes remaining in the input file. This will happen if the input file size
|
|||
|
is an exact multiple of the buffer size.
|
|||
|
|
|||
|
If gzeof() returns true, then the read functions will return no more data,
|
|||
|
unless the end-of-file indicator is reset by gzclearerr() and the input file
|
|||
|
has grown since the previous end of file was detected.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
|
|||
|
/*
|
|||
|
Returns true (1) if file is being copied directly while reading, or false
|
|||
|
(0) if file is a gzip stream being decompressed.
|
|||
|
|
|||
|
If the input file is empty, gzdirect() will return true, since the input
|
|||
|
does not contain a gzip stream.
|
|||
|
|
|||
|
If gzdirect() is used immediately after gzopen() or gzdopen() it will
|
|||
|
cause buffers to be allocated to allow reading the file to determine if it
|
|||
|
is a gzip file. Therefore if gzbuffer() is used, it should be called before
|
|||
|
gzdirect().
|
|||
|
|
|||
|
When writing, gzdirect() returns true (1) if transparent writing was
|
|||
|
requested ("wT" for the gzopen() mode), or false (0) otherwise. (Note:
|
|||
|
gzdirect() is not needed when writing. Transparent writing must be
|
|||
|
explicitly requested, so the application already knows the answer. When
|
|||
|
linking statically, using gzdirect() will include all of the zlib code for
|
|||
|
gzip file reading and decompression, which may not be desired.)
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzclose OF((gzFile file));
|
|||
|
/*
|
|||
|
Flushes all pending output if necessary, closes the compressed file and
|
|||
|
deallocates the (de)compression state. Note that once file is closed, you
|
|||
|
cannot call gzerror with file, since its structures have been deallocated.
|
|||
|
gzclose must not be called more than once on the same file, just as free
|
|||
|
must not be called more than once on the same allocation.
|
|||
|
|
|||
|
gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a
|
|||
|
file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the
|
|||
|
last read ended in the middle of a gzip stream, or Z_OK on success.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
|
|||
|
ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
|
|||
|
/*
|
|||
|
Same as gzclose(), but gzclose_r() is only for use when reading, and
|
|||
|
gzclose_w() is only for use when writing or appending. The advantage to
|
|||
|
using these instead of gzclose() is that they avoid linking in zlib
|
|||
|
compression or decompression code that is not used when only reading or only
|
|||
|
writing respectively. If gzclose() is used, then both compression and
|
|||
|
decompression code will be included the application when linking to a static
|
|||
|
zlib library.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
|
|||
|
/*
|
|||
|
Returns the error message for the last error which occurred on the given
|
|||
|
compressed file. errnum is set to zlib error number. If an error occurred
|
|||
|
in the file system and not in the compression library, errnum is set to
|
|||
|
Z_ERRNO and the application may consult errno to get the exact error code.
|
|||
|
|
|||
|
The application must not modify the returned string. Future calls to
|
|||
|
this function may invalidate the previously returned string. If file is
|
|||
|
closed, then the string previously returned by gzerror will no longer be
|
|||
|
available.
|
|||
|
|
|||
|
gzerror() should be used to distinguish errors from end-of-file for those
|
|||
|
functions above that do not distinguish those cases in their return values.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
|
|||
|
/*
|
|||
|
Clears the error and end-of-file flags for file. This is analogous to the
|
|||
|
clearerr() function in stdio. This is useful for continuing to read a gzip
|
|||
|
file that is being written concurrently.
|
|||
|
*/
|
|||
|
|
|||
|
#endif /* !Z_SOLO */
|
|||
|
|
|||
|
/* checksum functions */
|
|||
|
|
|||
|
/*
|
|||
|
These functions are not related to compression but are exported
|
|||
|
anyway because they might be useful in applications using the compression
|
|||
|
library.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
|
|||
|
/*
|
|||
|
Update a running Adler-32 checksum with the bytes buf[0..len-1] and
|
|||
|
return the updated checksum. If buf is Z_NULL, this function returns the
|
|||
|
required initial value for the checksum.
|
|||
|
|
|||
|
An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
|
|||
|
much faster.
|
|||
|
|
|||
|
Usage example:
|
|||
|
|
|||
|
uLong adler = adler32(0L, Z_NULL, 0);
|
|||
|
|
|||
|
while (read_buffer(buffer, length) != EOF) {
|
|||
|
adler = adler32(adler, buffer, length);
|
|||
|
}
|
|||
|
if (adler != original_adler) error();
|
|||
|
*/
|
|||
|
|
|||
|
/*
|
|||
|
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
|
|||
|
z_off_t len2));
|
|||
|
|
|||
|
Combine two Adler-32 checksums into one. For two sequences of bytes, seq1
|
|||
|
and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
|
|||
|
each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of
|
|||
|
seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. Note
|
|||
|
that the z_off_t type (like off_t) is a signed integer. If len2 is
|
|||
|
negative, the result has no meaning or utility.
|
|||
|
*/
|
|||
|
|
|||
|
ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
|
|||
|
/*
|
|||
|
Update a running CRC-32 with the bytes buf[0..len-1] and return the
|
|||
|
updated CRC-32. If buf is Z_NULL, this function returns the required
|
|||
|
initial value for the crc. Pre- and post-conditioning (one's complement) is
|
|||
|
performed within this function so it shouldn't be done by the application.
|
|||
|
|
|||
|
Usage example:
|
|||
|
|
|||
|
uLong crc = crc32(0L, Z_NULL, 0);
|
|||
|
|
|||
|
while (read_buffer(buffer, length) != EOF) {
|
|||
|
crc = crc32(crc, buffer, length);
|
|||
|
}
|
|||
|
if (crc != original_crc) error();
|
|||
|
*/
|
|||
|
|
|||
|
/*
|
|||
|
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
|
|||
|
|
|||
|
Combine two CRC-32 check values into one. For two sequences of bytes,
|
|||
|
seq1 and seq2 with lengths len1 and len2, CRC-32 check values were
|
|||
|
calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32
|
|||
|
check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and
|
|||
|
len2.
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
/* various hacks, don't look :) */
|
|||
|
|
|||
|
/* deflateInit and inflateInit are macros to allow checking the zlib version
|
|||
|
* and the compiler's view of z_stream:
|
|||
|
*/
|
|||
|
ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
|
|||
|
const char *version, int stream_size));
|
|||
|
ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
|
|||
|
const char *version, int stream_size));
|
|||
|
ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
|
|||
|
int windowBits, int memLevel,
|
|||
|
int strategy, const char *version,
|
|||
|
int stream_size));
|
|||
|
ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
|
|||
|
const char *version, int stream_size));
|
|||
|
ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
|
|||
|
unsigned char FAR *window,
|
|||
|
const char *version,
|
|||
|
int stream_size));
|
|||
|
#define deflateInit(strm, level) \
|
|||
|
deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
|
|||
|
#define inflateInit(strm) \
|
|||
|
inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
|
|||
|
#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
|
|||
|
deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
|
|||
|
(strategy), ZLIB_VERSION, (int)sizeof(z_stream))
|
|||
|
#define inflateInit2(strm, windowBits) \
|
|||
|
inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
|
|||
|
(int)sizeof(z_stream))
|
|||
|
#define inflateBackInit(strm, windowBits, window) \
|
|||
|
inflateBackInit_((strm), (windowBits), (window), \
|
|||
|
ZLIB_VERSION, (int)sizeof(z_stream))
|
|||
|
|
|||
|
#ifndef Z_SOLO
|
|||
|
|
|||
|
/* gzgetc() macro and its supporting function and exposed data structure. Note
|
|||
|
* that the real internal state is much larger than the exposed structure.
|
|||
|
* This abbreviated structure exposes just enough for the gzgetc() macro. The
|
|||
|
* user should not mess with these exposed elements, since their names or
|
|||
|
* behavior could change in the future, perhaps even capriciously. They can
|
|||
|
* only be used by the gzgetc() macro. You have been warned.
|
|||
|
*/
|
|||
|
struct gzFile_s {
|
|||
|
unsigned have;
|
|||
|
unsigned char *next;
|
|||
|
z_off64_t pos;
|
|||
|
};
|
|||
|
ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
|
|||
|
#ifdef Z_PREFIX_SET
|
|||
|
# undef z_gzgetc
|
|||
|
# define z_gzgetc(g) \
|
|||
|
((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g))
|
|||
|
#else
|
|||
|
# define gzgetc(g) \
|
|||
|
((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g))
|
|||
|
#endif
|
|||
|
|
|||
|
/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
|
|||
|
* change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if
|
|||
|
* both are true, the application gets the *64 functions, and the regular
|
|||
|
* functions are changed to 64 bits) -- in case these are set on systems
|
|||
|
* without large file support, _LFS64_LARGEFILE must also be true
|
|||
|
*/
|
|||
|
#ifdef Z_LARGE64
|
|||
|
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
|
|||
|
ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
|
|||
|
ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
|
|||
|
ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
|
|||
|
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
|
|||
|
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
|
|||
|
#endif
|
|||
|
|
|||
|
#if !defined(ZLIB_INTERNAL) && defined(Z_WANT64)
|
|||
|
# ifdef Z_PREFIX_SET
|
|||
|
# define z_gzopen z_gzopen64
|
|||
|
# define z_gzseek z_gzseek64
|
|||
|
# define z_gztell z_gztell64
|
|||
|
# define z_gzoffset z_gzoffset64
|
|||
|
# define z_adler32_combine z_adler32_combine64
|
|||
|
# define z_crc32_combine z_crc32_combine64
|
|||
|
# else
|
|||
|
# define gzopen gzopen64
|
|||
|
# define gzseek gzseek64
|
|||
|
# define gztell gztell64
|
|||
|
# define gzoffset gzoffset64
|
|||
|
# define adler32_combine adler32_combine64
|
|||
|
# define crc32_combine crc32_combine64
|
|||
|
# endif
|
|||
|
# ifndef Z_LARGE64
|
|||
|
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
|
|||
|
ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
|
|||
|
ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
|
|||
|
ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
|
|||
|
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
|
|||
|
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
|
|||
|
# endif
|
|||
|
#else
|
|||
|
ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
|
|||
|
ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int));
|
|||
|
ZEXTERN z_off_t ZEXPORT gztell OF((gzFile));
|
|||
|
ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile));
|
|||
|
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
|
|||
|
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
|
|||
|
#endif
|
|||
|
|
|||
|
#else /* Z_SOLO */
|
|||
|
|
|||
|
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
|
|||
|
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
|
|||
|
|
|||
|
#endif /* !Z_SOLO */
|
|||
|
|
|||
|
/* hack for buggy compilers */
|
|||
|
#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
|
|||
|
struct internal_state {int dummy;};
|
|||
|
#endif
|
|||
|
|
|||
|
/* undocumented functions */
|
|||
|
ZEXTERN const char * ZEXPORT zError OF((int));
|
|||
|
ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
|
|||
|
ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void));
|
|||
|
ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
|
|||
|
ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
|
|||
|
ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
|
|||
|
#if defined(_WIN32) && !defined(Z_SOLO)
|
|||
|
ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
|
|||
|
const char *mode));
|
|||
|
#endif
|
|||
|
#if defined(STDC) || defined(Z_HAVE_STDARG_H)
|
|||
|
# ifndef Z_SOLO
|
|||
|
ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file,
|
|||
|
const char *format,
|
|||
|
va_list va));
|
|||
|
# endif
|
|||
|
#endif
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
#endif /* ZLIB_H */
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
END LICENSE FOR external/zlib_archive/zlib.h
|
|||
|
--------------------------------------------------------------------------------
|