diff --git a/CMakeModules/checkAVX2pe.cpp b/CMakeModules/checkAVX2pe.cpp index 8cf8b1c7d888b39e92d72f8aa3fea7d6ba77c366..c34e0d824254b1a0dbaa35f849c9cef60bd1650a 100644 --- a/CMakeModules/checkAVX2pe.cpp +++ b/CMakeModules/checkAVX2pe.cpp @@ -1,3 +1,35 @@ +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + #include "immintrin.h" diff --git a/CMakeModules/checkAVXpe.cpp b/CMakeModules/checkAVXpe.cpp index 8f4838ac740f8b747296379fefb763d71ace2b53..e5f6f6ce89778d7d0728d7ae0599db5a75571c97 100644 --- a/CMakeModules/checkAVXpe.cpp +++ b/CMakeModules/checkAVXpe.cpp @@ -1,3 +1,35 @@ +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + #include "immintrin.h" diff --git a/CMakeModules/checkSSEpe.cpp b/CMakeModules/checkSSEpe.cpp index fe26f30df6d45ce4baa67bf71fdcf89be797a43e..2a0ad5a6dbb0986a3df8cda006191e579ee173c3 100644 --- a/CMakeModules/checkSSEpe.cpp +++ b/CMakeModules/checkSSEpe.cpp @@ -1,3 +1,35 @@ +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + #include <xmmintrin.h> // SSE #include <emmintrin.h> //SSE2 #include <pmmintrin.h> //SSE3 diff --git a/CMakeModules/compileTestAvx.cpp b/CMakeModules/compileTestAvx.cpp index fc9a21b637ed21e64b8e9aa586304bfb5dd29aa1..79021c81c80808a713e96a6c94bd18ef9e169f10 100644 --- a/CMakeModules/compileTestAvx.cpp +++ b/CMakeModules/compileTestAvx.cpp @@ -1,3 +1,35 @@ +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + #include <x86intrin.h> #include <xmmintrin.h> // SSE diff --git a/CMakeModules/compileTestAvx2.cpp b/CMakeModules/compileTestAvx2.cpp index cc5138c77dbba62a31952b1e7a8af5fc6bb07b3f..8fd999a0bd741e741c3f668264543cd4c697cf8a 100644 --- a/CMakeModules/compileTestAvx2.cpp +++ b/CMakeModules/compileTestAvx2.cpp @@ -1,3 +1,35 @@ +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + #include <x86intrin.h> #include <xmmintrin.h> // SSE diff --git a/CMakeModules/compileTestIntel.cpp b/CMakeModules/compileTestIntel.cpp index 3db518c378cc0e36a067bea93d7cf0b45a5ff222..d409df1e43ad46f340622b81a4f3c323dd15d9f5 100644 --- a/CMakeModules/compileTestIntel.cpp +++ b/CMakeModules/compileTestIntel.cpp @@ -1,3 +1,35 @@ +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + int main(){ int i ; diff --git a/CMakeModules/compileTestSse.cpp b/CMakeModules/compileTestSse.cpp index 0ff249bb5bd69662efb5f7956c2a9c980b54e8fc..186b4a6dd9a34b300d261f08bc0a32fd8193767d 100644 --- a/CMakeModules/compileTestSse.cpp +++ b/CMakeModules/compileTestSse.cpp @@ -1,3 +1,35 @@ +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + #include <x86intrin.h> #include <xmmintrin.h> // SSE diff --git a/CMakeModules/getCpuInfos.cpp b/CMakeModules/getCpuInfos.cpp index 4cbd3143cb373f01739af20ec4d7ea13c8389495..34dcc5c40072725370cf2f4d1cf69407c9976724 100644 --- a/CMakeModules/getCpuInfos.cpp +++ b/CMakeModules/getCpuInfos.cpp @@ -1,3 +1,35 @@ +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + /////////////////////////////////////////////////////////////////////////// // Berenger Bramas INRIA - 2014 // Code provided under GNU Lesser General Public License diff --git a/CMakeModules/null.cpp b/CMakeModules/null.cpp index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..fb8db3bb3d34ad68f27c7c0bdb99ce497c948be3 100644 --- a/CMakeModules/null.cpp +++ b/CMakeModules/null.cpp @@ -0,0 +1,32 @@ +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..3d2a819144cbf55ff0e88d6f43c9000c0c0fc747 --- /dev/null +++ b/LICENSE @@ -0,0 +1,517 @@ + +CeCILL-C FREE SOFTWARE LICENSE AGREEMENT + + + Notice + +This Agreement is a Free Software license agreement that is the result +of discussions between its authors in order to ensure compliance with +the two main principles guiding its drafting: + + * firstly, compliance with the principles governing the distribution + of Free Software: access to source code, broad rights granted to + users, + * secondly, the election of a governing law, French law, with which + it is conformant, both as regards the law of torts and + intellectual property law, and the protection that it offers to + both authors and holders of the economic rights over software. + +The authors of the CeCILL-C (for Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre]) +license are: + +Commissariat � l'Energie Atomique - CEA, a public scientific, technical +and industrial research establishment, having its principal place of +business at 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris, France. + +Centre National de la Recherche Scientifique - CNRS, a public scientific +and technological establishment, having its principal place of business +at 3 rue Michel-Ange, 75794 Paris cedex 16, France. + +Institut National de Recherche en Informatique et en Automatique - +INRIA, a public scientific and technological establishment, having its +principal place of business at Domaine de Voluceau, Rocquencourt, BP +105, 78153 Le Chesnay cedex, France. + + + Preamble + +The purpose of this Free Software license agreement is to grant users +the right to modify and re-use the software governed by this license. + +The exercising of this right is conditional upon the obligation to make +available to the community the modifications made to the source code of +the software so as to contribute to its evolution. + +In consideration of access to the source code and the rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors only have limited liability. + +In this respect, the risks associated with loading, using, modifying +and/or developing or reproducing the software by the user are brought to +the user's attention, given its Free Software status, which may make it +complicated to use, with the result that its use is reserved for +developers and experienced professionals having in-depth computer +knowledge. Users are therefore encouraged to load and test the +suitability of the software as regards their requirements in conditions +enabling the security of their systems and/or data to be ensured and, +more generally, to use and operate it in the same conditions of +security. This Agreement may be freely reproduced and published, +provided it is not altered, and that no provisions are either added or +removed herefrom. + +This Agreement may apply to any or all software for which the holder of +the economic rights decides to submit the use thereof to its provisions. + + + Article 1 - DEFINITIONS + +For the purpose of this Agreement, when the following expressions +commence with a capital letter, they shall have the following meaning: + +Agreement: means this license agreement, and its possible subsequent +versions and annexes. + +Software: means the software in its Object Code and/or Source Code form +and, where applicable, its documentation, "as is" when the Licensee +accepts the Agreement. + +Initial Software: means the Software in its Source Code and possibly its +Object Code form and, where applicable, its documentation, "as is" when +it is first distributed under the terms and conditions of the Agreement. + +Modified Software: means the Software modified by at least one +Integrated Contribution. + +Source Code: means all the Software's instructions and program lines to +which access is required so as to modify the Software. + +Object Code: means the binary files originating from the compilation of +the Source Code. + +Holder: means the holder(s) of the economic rights over the Initial +Software. + +Licensee: means the Software user(s) having accepted the Agreement. + +Contributor: means a Licensee having made at least one Integrated +Contribution. + +Licensor: means the Holder, or any other individual or legal entity, who +distributes the Software under the Agreement. + +Integrated Contribution: means any or all modifications, corrections, +translations, adaptations and/or new functions integrated into the +Source Code by any or all Contributors. + +Related Module: means a set of sources files including their +documentation that, without modification to the Source Code, enables +supplementary functions or services in addition to those offered by the +Software. + +Derivative Software: means any combination of the Software, modified or +not, and of a Related Module. + +Parties: mean both the Licensee and the Licensor. + +These expressions may be used both in singular and plural form. + + + Article 2 - PURPOSE + +The purpose of the Agreement is the grant by the Licensor to the +Licensee of a non-exclusive, transferable and worldwide license for the +Software as set forth in Article 5 hereinafter for the whole term of the +protection granted by the rights over said Software. + + + Article 3 - ACCEPTANCE + +3.1 The Licensee shall be deemed as having accepted the terms and +conditions of this Agreement upon the occurrence of the first of the +following events: + + * (i) loading the Software by any or all means, notably, by + downloading from a remote server, or by loading from a physical + medium; + * (ii) the first time the Licensee exercises any of the rights + granted hereunder. + +3.2 One copy of the Agreement, containing a notice relating to the +characteristics of the Software, to the limited warranty, and to the +fact that its use is restricted to experienced users has been provided +to the Licensee prior to its acceptance as set forth in Article 3.1 +hereinabove, and the Licensee hereby acknowledges that it has read and +understood it. + + + Article 4 - EFFECTIVE DATE AND TERM + + + 4.1 EFFECTIVE DATE + +The Agreement shall become effective on the date when it is accepted by +the Licensee as set forth in Article 3.1. + + + 4.2 TERM + +The Agreement shall remain in force for the entire legal term of +protection of the economic rights over the Software. + + + Article 5 - SCOPE OF RIGHTS GRANTED + +The Licensor hereby grants to the Licensee, who accepts, the following +rights over the Software for any or all use, and for the term of the +Agreement, on the basis of the terms and conditions set forth hereinafter. + +Besides, if the Licensor owns or comes to own one or more patents +protecting all or part of the functions of the Software or of its +components, the Licensor undertakes not to enforce the rights granted by +these patents against successive Licensees using, exploiting or +modifying the Software. If these patents are transferred, the Licensor +undertakes to have the transferees subscribe to the obligations set +forth in this paragraph. + + + 5.1 RIGHT OF USE + +The Licensee is authorized to use the Software, without any limitation +as to its fields of application, with it being hereinafter specified +that this comprises: + + 1. permanent or temporary reproduction of all or part of the Software + by any or all means and in any or all form. + + 2. loading, displaying, running, or storing the Software on any or + all medium. + + 3. entitlement to observe, study or test its operation so as to + determine the ideas and principles behind any or all constituent + elements of said Software. This shall apply when the Licensee + carries out any or all loading, displaying, running, transmission + or storage operation as regards the Software, that it is entitled + to carry out hereunder. + + + 5.2 RIGHT OF MODIFICATION + +The right of modification includes the right to translate, adapt, +arrange, or make any or all modifications to the Software, and the right +to reproduce the resulting software. It includes, in particular, the +right to create a Derivative Software. + +The Licensee is authorized to make any or all modification to the +Software provided that it includes an explicit notice that it is the +author of said modification and indicates the date of the creation thereof. + + + 5.3 RIGHT OF DISTRIBUTION + +In particular, the right of distribution includes the right to publish, +transmit and communicate the Software to the general public on any or +all medium, and by any or all means, and the right to market, either in +consideration of a fee, or free of charge, one or more copies of the +Software by any means. + +The Licensee is further authorized to distribute copies of the modified +or unmodified Software to third parties according to the terms and +conditions set forth hereinafter. + + + 5.3.1 DISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION + +The Licensee is authorized to distribute true copies of the Software in +Source Code or Object Code form, provided that said distribution +complies with all the provisions of the Agreement and is accompanied by: + + 1. a copy of the Agreement, + + 2. a notice relating to the limitation of both the Licensor's + warranty and liability as set forth in Articles 8 and 9, + +and that, in the event that only the Object Code of the Software is +redistributed, the Licensee allows effective access to the full Source +Code of the Software at a minimum during the entire period of its +distribution of the Software, it being understood that the additional +cost of acquiring the Source Code shall not exceed the cost of +transferring the data. + + + 5.3.2 DISTRIBUTION OF MODIFIED SOFTWARE + +When the Licensee makes an Integrated Contribution to the Software, the +terms and conditions for the distribution of the resulting Modified +Software become subject to all the provisions of this Agreement. + +The Licensee is authorized to distribute the Modified Software, in +source code or object code form, provided that said distribution +complies with all the provisions of the Agreement and is accompanied by: + + 1. a copy of the Agreement, + + 2. a notice relating to the limitation of both the Licensor's + warranty and liability as set forth in Articles 8 and 9, + +and that, in the event that only the object code of the Modified +Software is redistributed, the Licensee allows effective access to the +full source code of the Modified Software at a minimum during the entire +period of its distribution of the Modified Software, it being understood +that the additional cost of acquiring the source code shall not exceed +the cost of transferring the data. + + + 5.3.3 DISTRIBUTION OF DERIVATIVE SOFTWARE + +When the Licensee creates Derivative Software, this Derivative Software +may be distributed under a license agreement other than this Agreement, +subject to compliance with the requirement to include a notice +concerning the rights over the Software as defined in Article 6.4. +In the event the creation of the Derivative Software required modification +of the Source Code, the Licensee undertakes that: + + 1. the resulting Modified Software will be governed by this Agreement, + 2. the Integrated Contributions in the resulting Modified Software + will be clearly identified and documented, + 3. the Licensee will allow effective access to the source code of the + Modified Software, at a minimum during the entire period of + distribution of the Derivative Software, such that such + modifications may be carried over in a subsequent version of the + Software; it being understood that the additional cost of + purchasing the source code of the Modified Software shall not + exceed the cost of transferring the data. + + + 5.3.4 COMPATIBILITY WITH THE CeCILL LICENSE + +When a Modified Software contains an Integrated Contribution subject to +the CeCILL license agreement, or when a Derivative Software contains a +Related Module subject to the CeCILL license agreement, the provisions +set forth in the third item of Article 6.4 are optional. + + + Article 6 - INTELLECTUAL PROPERTY + + + 6.1 OVER THE INITIAL SOFTWARE + +The Holder owns the economic rights over the Initial Software. Any or +all use of the Initial Software is subject to compliance with the terms +and conditions under which the Holder has elected to distribute its work +and no one shall be entitled to modify the terms and conditions for the +distribution of said Initial Software. + +The Holder undertakes that the Initial Software will remain ruled at +least by this Agreement, for the duration set forth in Article 4.2. + + + 6.2 OVER THE INTEGRATED CONTRIBUTIONS + +The Licensee who develops an Integrated Contribution is the owner of the +intellectual property rights over this Contribution as defined by +applicable law. + + + 6.3 OVER THE RELATED MODULES + +The Licensee who develops a Related Module is the owner of the +intellectual property rights over this Related Module as defined by +applicable law and is free to choose the type of agreement that shall +govern its distribution under the conditions defined in Article 5.3.3. + + + 6.4 NOTICE OF RIGHTS + +The Licensee expressly undertakes: + + 1. not to remove, or modify, in any manner, the intellectual property + notices attached to the Software; + + 2. to reproduce said notices, in an identical manner, in the copies + of the Software modified or not; + + 3. to ensure that use of the Software, its intellectual property + notices and the fact that it is governed by the Agreement is + indicated in a text that is easily accessible, specifically from + the interface of any Derivative Software. + +The Licensee undertakes not to directly or indirectly infringe the +intellectual property rights of the Holder and/or Contributors on the +Software and to take, where applicable, vis-�-vis its staff, any and all +measures required to ensure respect of said intellectual property rights +of the Holder and/or Contributors. + + + Article 7 - RELATED SERVICES + +7.1 Under no circumstances shall the Agreement oblige the Licensor to +provide technical assistance or maintenance services for the Software. + +However, the Licensor is entitled to offer this type of services. The +terms and conditions of such technical assistance, and/or such +maintenance, shall be set forth in a separate instrument. Only the +Licensor offering said maintenance and/or technical assistance services +shall incur liability therefor. + +7.2 Similarly, any Licensor is entitled to offer to its licensees, under +its sole responsibility, a warranty, that shall only be binding upon +itself, for the redistribution of the Software and/or the Modified +Software, under terms and conditions that it is free to decide. Said +warranty, and the financial terms and conditions of its application, +shall be subject of a separate instrument executed between the Licensor +and the Licensee. + + + Article 8 - LIABILITY + +8.1 Subject to the provisions of Article 8.2, the Licensee shall be +entitled to claim compensation for any direct loss it may have suffered +from the Software as a result of a fault on the part of the relevant +Licensor, subject to providing evidence thereof. + +8.2 The Licensor's liability is limited to the commitments made under +this Agreement and shall not be incurred as a result of in particular: +(i) loss due the Licensee's total or partial failure to fulfill its +obligations, (ii) direct or consequential loss that is suffered by the +Licensee due to the use or performance of the Software, and (iii) more +generally, any consequential loss. In particular the Parties expressly +agree that any or all pecuniary or business loss (i.e. loss of data, +loss of profits, operating loss, loss of customers or orders, +opportunity cost, any disturbance to business activities) or any or all +legal proceedings instituted against the Licensee by a third party, +shall constitute consequential loss and shall not provide entitlement to +any or all compensation from the Licensor. + + + Article 9 - WARRANTY + +9.1 The Licensee acknowledges that the scientific and technical +state-of-the-art when the Software was distributed did not enable all +possible uses to be tested and verified, nor for the presence of +possible defects to be detected. In this respect, the Licensee's +attention has been drawn to the risks associated with loading, using, +modifying and/or developing and reproducing the Software which are +reserved for experienced users. + +The Licensee shall be responsible for verifying, by any or all means, +the suitability of the product for its requirements, its good working +order, and for ensuring that it shall not cause damage to either persons +or properties. + +9.2 The Licensor hereby represents, in good faith, that it is entitled +to grant all the rights over the Software (including in particular the +rights set forth in Article 5). + +9.3 The Licensee acknowledges that the Software is supplied "as is" by +the Licensor without any other express or tacit warranty, other than +that provided for in Article 9.2 and, in particular, without any warranty +as to its commercial value, its secured, safe, innovative or relevant +nature. + +Specifically, the Licensor does not warrant that the Software is free +from any error, that it will operate without interruption, that it will +be compatible with the Licensee's own equipment and software +configuration, nor that it will meet the Licensee's requirements. + +9.4 The Licensor does not either expressly or tacitly warrant that the +Software does not infringe any third party intellectual property right +relating to a patent, software or any other property right. Therefore, +the Licensor disclaims any and all liability towards the Licensee +arising out of any or all proceedings for infringement that may be +instituted in respect of the use, modification and redistribution of the +Software. Nevertheless, should such proceedings be instituted against +the Licensee, the Licensor shall provide it with technical and legal +assistance for its defense. Such technical and legal assistance shall be +decided on a case-by-case basis between the relevant Licensor and the +Licensee pursuant to a memorandum of understanding. The Licensor +disclaims any and all liability as regards the Licensee's use of the +name of the Software. No warranty is given as regards the existence of +prior rights over the name of the Software or as regards the existence +of a trademark. + + + Article 10 - TERMINATION + +10.1 In the event of a breach by the Licensee of its obligations +hereunder, the Licensor may automatically terminate this Agreement +thirty (30) days after notice has been sent to the Licensee and has +remained ineffective. + +10.2 A Licensee whose Agreement is terminated shall no longer be +authorized to use, modify or distribute the Software. However, any +licenses that it may have granted prior to termination of the Agreement +shall remain valid subject to their having been granted in compliance +with the terms and conditions hereof. + + + Article 11 - MISCELLANEOUS + + + 11.1 EXCUSABLE EVENTS + +Neither Party shall be liable for any or all delay, or failure to +perform the Agreement, that may be attributable to an event of force +majeure, an act of God or an outside cause, such as defective +functioning or interruptions of the electricity or telecommunications +networks, network paralysis following a virus attack, intervention by +government authorities, natural disasters, water damage, earthquakes, +fire, explosions, strikes and labor unrest, war, etc. + +11.2 Any failure by either Party, on one or more occasions, to invoke +one or more of the provisions hereof, shall under no circumstances be +interpreted as being a waiver by the interested Party of its right to +invoke said provision(s) subsequently. + +11.3 The Agreement cancels and replaces any or all previous agreements, +whether written or oral, between the Parties and having the same +purpose, and constitutes the entirety of the agreement between said +Parties concerning said purpose. No supplement or modification to the +terms and conditions hereof shall be effective as between the Parties +unless it is made in writing and signed by their duly authorized +representatives. + +11.4 In the event that one or more of the provisions hereof were to +conflict with a current or future applicable act or legislative text, +said act or legislative text shall prevail, and the Parties shall make +the necessary amendments so as to comply with said act or legislative +text. All other provisions shall remain effective. Similarly, invalidity +of a provision of the Agreement, for any reason whatsoever, shall not +cause the Agreement as a whole to be invalid. + + + 11.5 LANGUAGE + +The Agreement is drafted in both French and English and both versions +are deemed authentic. + + + Article 12 - NEW VERSIONS OF THE AGREEMENT + +12.1 Any person is authorized to duplicate and distribute copies of this +Agreement. + +12.2 So as to ensure coherence, the wording of this Agreement is +protected and may only be modified by the authors of the License, who +reserve the right to periodically publish updates or new versions of the +Agreement, each with a separate number. These subsequent versions may +address new issues encountered by Free Software. + +12.3 Any Software distributed under a given version of the Agreement may +only be subsequently distributed under the same version of the Agreement +or a subsequent version. + + + Article 13 - GOVERNING LAW AND JURISDICTION + +13.1 The Agreement is governed by French law. The Parties agree to +endeavor to seek an amicable solution to any disagreements or disputes +that may arise during the performance of the Agreement. + +13.2 Failing an amicable solution within two (2) months as from their +occurrence, and unless emergency proceedings are necessary, the +disagreements or disputes shall be referred to the Paris Courts having +jurisdiction, by the more diligent Party. + + +Version 1.0 dated 2006-09-05. diff --git a/Scripts/LICENSE_HEADER b/Scripts/LICENSE_HEADER new file mode 100644 index 0000000000000000000000000000000000000000..fb8db3bb3d34ad68f27c7c0bdb99ce497c948be3 --- /dev/null +++ b/Scripts/LICENSE_HEADER @@ -0,0 +1,32 @@ +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + diff --git a/Scripts/add_license_header.sh b/Scripts/add_license_header.sh new file mode 100755 index 0000000000000000000000000000000000000000..0ba49a696a64e3145face7dad3e888deb23ded2f --- /dev/null +++ b/Scripts/add_license_header.sh @@ -0,0 +1,12 @@ +#!/bin/bash +LICENSE_FILE=$1 +files=`find . -name "*.hpp" -o -name "*.cpp" | xargs` +for i in $files +do + echo $i + dos2unix $i + cat $LICENSE_FILE $i > filetmp + mv filetmp $i +done +git checkout Packages/compress_stream Packages/half +cd modules/internals/cpp_tools && git checkout . && cd - diff --git a/Tests/benchSVD.cpp b/Tests/benchSVD.cpp index 976d150c962d79a36d099fe409ba1b337a370237..148602bdffff3588dcc2f089d0278cb7447a25c4 100644 --- a/Tests/benchSVD.cpp +++ b/Tests/benchSVD.cpp @@ -1,4 +1,36 @@ -#include <fstream> +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#include <fstream> #include <iostream> #ifdef _OPENMP #include <omp.h> diff --git a/UTests/commonParameters.hpp b/UTests/commonParameters.hpp index 737ca2e7556846411b55c2031bf29ac0f0221e11..9a121061cc3169336992c749b6a76c31a4ca6e9d 100644 --- a/UTests/commonParameters.hpp +++ b/UTests/commonParameters.hpp @@ -1,4 +1,36 @@ -#ifndef FMR_TESTS_COMMONPARAMETERS +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef FMR_TESTS_COMMONPARAMETERS #define FMR_TESTS_COMMONPARAMETERS #include <cpp_tools/cl_parser/tcli.hpp> diff --git a/UTests/testDenseWrappers.cpp b/UTests/testDenseWrappers.cpp index 5d7a54ca56df1a0fcd12f08712c45cb89db80106..a908a514d431802b7aafc98f125271db673b46ec 100644 --- a/UTests/testDenseWrappers.cpp +++ b/UTests/testDenseWrappers.cpp @@ -1,4 +1,36 @@ -#include <iostream> +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#include <iostream> #include "fmr/MatrixWrappers/BlasDenseWrapper.hpp" #if defined(FMR_CHAMELEON) #include "fmr/MatrixWrappers/ChameleonDenseWrapper.hpp" diff --git a/UTests/testGemm.cpp b/UTests/testGemm.cpp index dd90fc1d320da8f6a330ac30de75faf0f1f9bca8..213e5e49481d8478d2074a70ba220192453c59b3 100644 --- a/UTests/testGemm.cpp +++ b/UTests/testGemm.cpp @@ -1,4 +1,36 @@ -#include <iomanip> +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#include <iomanip> #include <iostream> #include <limits> #include <random> diff --git a/UTests/testLapackSVD.cpp b/UTests/testLapackSVD.cpp index 08f06e7176a718a0ea18ab0c5bb6c71f204d8a1f..dac4d5cc14d06d6e03a66d93a56e1ba1d2893860 100644 --- a/UTests/testLapackSVD.cpp +++ b/UTests/testLapackSVD.cpp @@ -1,4 +1,36 @@ -/** +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +/** * @brief Unit test on computing SVD matrix from a simple well defined * */ diff --git a/UTests/testQRF.cpp b/UTests/testQRF.cpp index 494408a1b192967588bd5deca70350ce9d5f3bb4..ca272d95f69a3152838577ffa620efbc00c86bda 100644 --- a/UTests/testQRF.cpp +++ b/UTests/testQRF.cpp @@ -1,4 +1,36 @@ -#include <cstring> +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#include <cstring> #include <iomanip> #include <iostream> #include <random> diff --git a/UTests/testRSVD.cpp b/UTests/testRSVD.cpp index d93a6e1d76e58a03e40ee524a7916a65f3a0df5b..2d079d6f6dda7ef95242ebff73325780fdc865b9 100644 --- a/UTests/testRSVD.cpp +++ b/UTests/testRSVD.cpp @@ -1,4 +1,36 @@ -#include <iomanip> +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#include <iomanip> #include <iostream> #include <limits> #include <random> diff --git a/UTests/testReadH5.cpp b/UTests/testReadH5.cpp index 6786872d490d8524955327d3d93f8d3d37ac8c31..3666971e3e462d45fa3c2527e9f9e551d1931eda 100644 --- a/UTests/testReadH5.cpp +++ b/UTests/testReadH5.cpp @@ -1,4 +1,36 @@ -#include <iostream> +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#include <iostream> #include <cpp_tools/colors/colorized.hpp> #include <cpp_tools/cl_parser/help_descriptor.hpp> #include <cpp_tools/cl_parser/tcli.hpp> diff --git a/UTests/testSVD.cpp b/UTests/testSVD.cpp index 98c8acff90ff26767370be0b4f36c0bba2c31eaa..4a3451bf06ede13bdfc16111bb6d6b36827e833d 100644 --- a/UTests/testSVD.cpp +++ b/UTests/testSVD.cpp @@ -1,4 +1,36 @@ -#include <iomanip> +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#include <iomanip> #include <iostream> #include <limits> #include <random> diff --git a/examples/commonParameters.hpp b/examples/commonParameters.hpp index a6b5ebbb6bf78e4d1dbd8eb767fc2dd4df9c63c4..5cce1651ac86cf842f242255bab73906bf604c9d 100644 --- a/examples/commonParameters.hpp +++ b/examples/commonParameters.hpp @@ -1,4 +1,36 @@ -#ifndef FMR_EXAMPLES_COMMONPARAMETERS +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef FMR_EXAMPLES_COMMONPARAMETERS #define FMR_EXAMPLES_COMMONPARAMETERS #include <cpp_tools/cl_parser/tcli.hpp> diff --git a/examples/ex_BlasprescribedAccuracyRandomSVD.cpp b/examples/ex_BlasprescribedAccuracyRandomSVD.cpp index 399c7ee57402566e2330326ddfad6a312e3e8715..a7632749c531ef460771338c1fdb8747825eaa31 100644 --- a/examples/ex_BlasprescribedAccuracyRandomSVD.cpp +++ b/examples/ex_BlasprescribedAccuracyRandomSVD.cpp @@ -1,4 +1,36 @@ -#include <iostream> +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#include <iostream> #include "fmr/MatrixWrappers/BlasDenseWrapper.hpp" #include "generic_prescribedAccuracyRandomSVD.hpp" diff --git a/examples/ex_BlasprescribedRankRandomSVD.cpp b/examples/ex_BlasprescribedRankRandomSVD.cpp index d6e97c998e30fa0008ad70ef18565a67b5957ca1..0119559fc12c463586ccdebe0322f7d4c3ec11a2 100644 --- a/examples/ex_BlasprescribedRankRandomSVD.cpp +++ b/examples/ex_BlasprescribedRankRandomSVD.cpp @@ -1,4 +1,36 @@ - +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + + #include "fmr/MatrixWrappers/BlasDenseWrapper.hpp" #include "generic_prescribedRankRandomSVD.hpp" diff --git a/examples/ex_ChameleonprescribedRankRandomSVD.cpp b/examples/ex_ChameleonprescribedRankRandomSVD.cpp index 7e5cbe939ba47d38a9059af096061d2642c68dab..4af94f88a995700d53d07f20accc321c33468502 100644 --- a/examples/ex_ChameleonprescribedRankRandomSVD.cpp +++ b/examples/ex_ChameleonprescribedRankRandomSVD.cpp @@ -1,4 +1,36 @@ - +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + + #include "fmr/MatrixWrappers/ChameleonDenseWrapper.hpp" #include "generic_prescribedRankRandomSVD.hpp" diff --git a/examples/generic_prescribedRankRandomSVD.hpp b/examples/generic_prescribedRankRandomSVD.hpp index 20d7ee8e535cc62441790a0558fe4187edca3286..0ba979340597ca46d494fa9346ee89e0b493d55c 100644 --- a/examples/generic_prescribedRankRandomSVD.hpp +++ b/examples/generic_prescribedRankRandomSVD.hpp @@ -1,4 +1,36 @@ -#ifndef FMR_EXAMPLES_GENERIC_PRESCRIBEDRANK +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef FMR_EXAMPLES_GENERIC_PRESCRIBEDRANK #define FMR_EXAMPLES_GENERIC_PRESCRIBEDRANK #include <iostream> diff --git a/include/fmr/Algorithms/randomSVD.hpp b/include/fmr/Algorithms/randomSVD.hpp index 9c5046494fa38f79fadb6c1dbdca5fc2f816c836..0b122ba1eda87ac6092ac8840327824087ae781e 100644 --- a/include/fmr/Algorithms/randomSVD.hpp +++ b/include/fmr/Algorithms/randomSVD.hpp @@ -1,4 +1,36 @@ -#ifndef FMRAPI_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef FMRAPI_HPP #define FMRAPI_HPP /** diff --git a/include/fmr/Algorithms/truncatedSVD.hpp b/include/fmr/Algorithms/truncatedSVD.hpp index 80dfc8966ff9164615914d89a7869e508d2fa359..dbd572fca2c2a82eb162e37c7cfa722982270bc0 100644 --- a/include/fmr/Algorithms/truncatedSVD.hpp +++ b/include/fmr/Algorithms/truncatedSVD.hpp @@ -1,4 +1,36 @@ -#ifndef FMR_ALGORITHME_TRUNCATED_SVD_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef FMR_ALGORITHME_TRUNCATED_SVD_HPP #define FMR_ALGORITHME_TRUNCATED_SVD_HPP #include "fmr/StandardLRA/SVD.hpp" diff --git a/include/fmr/MatrixWrappers/BlasDenseWrapper.hpp b/include/fmr/MatrixWrappers/BlasDenseWrapper.hpp index 5fb9963765703f44b89f76dceed33cccff9fabdc..b56489e129310ea55dc7cfb90a3e1394e9f19f00 100644 --- a/include/fmr/MatrixWrappers/BlasDenseWrapper.hpp +++ b/include/fmr/MatrixWrappers/BlasDenseWrapper.hpp @@ -1,4 +1,36 @@ -#ifndef MATRIXWRAPPER_BLASDENSEWRAPPER_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef MATRIXWRAPPER_BLASDENSEWRAPPER_HPP #define MATRIXWRAPPER_BLASDENSEWRAPPER_HPP // standard includes diff --git a/include/fmr/MatrixWrappers/ChameleonDenseWrapper.hpp b/include/fmr/MatrixWrappers/ChameleonDenseWrapper.hpp index 3625b51aed5150291d85d4e60b457da2448abb29..404299e4c33309b7023bfd22fb5fca649367c57f 100644 --- a/include/fmr/MatrixWrappers/ChameleonDenseWrapper.hpp +++ b/include/fmr/MatrixWrappers/ChameleonDenseWrapper.hpp @@ -1,4 +1,36 @@ -/** +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +/** * @author Florent Pruvost (florent.pruvost@inria.fr) * @date December 4th, 2018 * diff --git a/include/fmr/MatrixWrappers/MatrixWrapperTraits.hpp b/include/fmr/MatrixWrappers/MatrixWrapperTraits.hpp index 40b430bfdb21442beaa6ccab15f22f83cbc0f2ff..15a9751b527703a86efee1409e4528865ce05cf2 100644 --- a/include/fmr/MatrixWrappers/MatrixWrapperTraits.hpp +++ b/include/fmr/MatrixWrappers/MatrixWrapperTraits.hpp @@ -1,4 +1,36 @@ -#ifndef MATRIXWRAPPER_MATRIXWRAPPERTRAITS_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef MATRIXWRAPPER_MATRIXWRAPPERTRAITS_HPP #define MATRIXWRAPPER_MATRIXWRAPPERTRAITS_HPP #include <type_traits> diff --git a/include/fmr/RandomizedLRA/AdaptiveRandomizedRangeFinder.hpp b/include/fmr/RandomizedLRA/AdaptiveRandomizedRangeFinder.hpp index 0dc5a3c460034af0d9a705879348e1b7e9b51dc5..86fa4ef6c9e4c1b823fdff332c22a66b844f4df6 100644 --- a/include/fmr/RandomizedLRA/AdaptiveRandomizedRangeFinder.hpp +++ b/include/fmr/RandomizedLRA/AdaptiveRandomizedRangeFinder.hpp @@ -1,4 +1,36 @@ -#ifndef AdaptiveRRF_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef AdaptiveRRF_HPP #define AdaptiveRRF_HPP // standard includes diff --git a/include/fmr/RandomizedLRA/CommonAlgorithm.hpp b/include/fmr/RandomizedLRA/CommonAlgorithm.hpp index cef3eb12a3637e4ffffdcf2dba86809329b3791d..4f778dd492f02c6911b267cecbc79c08ecf797a7 100644 --- a/include/fmr/RandomizedLRA/CommonAlgorithm.hpp +++ b/include/fmr/RandomizedLRA/CommonAlgorithm.hpp @@ -1,4 +1,36 @@ -#ifndef FMR_RANDOMIZEDLRA_COMMONALGORITHM_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef FMR_RANDOMIZEDLRA_COMMONALGORITHM_HPP #define FMR_RANDOMIZEDLRA_COMMONALGORITHM_HPP #include <iostream> diff --git a/include/fmr/RandomizedLRA/RandSVD.hpp b/include/fmr/RandomizedLRA/RandSVD.hpp index 3b908b4672c6debefa859b0f4095eb0aa2398054..61fcc923c10ac5d9af7480986cbc403fde34eb24 100644 --- a/include/fmr/RandomizedLRA/RandSVD.hpp +++ b/include/fmr/RandomizedLRA/RandSVD.hpp @@ -1,4 +1,36 @@ -#ifndef RANDSVD_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef RANDSVD_HPP #define RANDSVD_HPP #include <array> #include <iostream> diff --git a/include/fmr/RandomizedLRA/RandomizedRangeFinder.hpp b/include/fmr/RandomizedLRA/RandomizedRangeFinder.hpp index 2cc7a219cbcb545cbd0ea99a637472f4dcc5fda6..87418a5361c73cfbc129abd0c6c286c406105822 100644 --- a/include/fmr/RandomizedLRA/RandomizedRangeFinder.hpp +++ b/include/fmr/RandomizedLRA/RandomizedRangeFinder.hpp @@ -1,4 +1,36 @@ -#ifndef FMR_RANDOMIZEDLRA_RANGEFINDER_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef FMR_RANDOMIZEDLRA_RANGEFINDER_HPP #define FMR_RANDOMIZEDLRA_RANGEFINDER_HPP // standard includes diff --git a/include/fmr/StandardLRA/Gemm.hpp b/include/fmr/StandardLRA/Gemm.hpp index 6e7cf87c636e989834eaabd6ee63881a25188286..24a76df646f2becfbbf5e5901a00724e24bccf96 100644 --- a/include/fmr/StandardLRA/Gemm.hpp +++ b/include/fmr/StandardLRA/Gemm.hpp @@ -1,4 +1,36 @@ -#ifndef DEF_FMR_GEMM +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef DEF_FMR_GEMM #define DEF_FMR_GEMM #include "fmr/MatrixWrappers/BlasDenseWrapper.hpp" diff --git a/include/fmr/StandardLRA/QRF.hpp b/include/fmr/StandardLRA/QRF.hpp index 2eab57974fa3e18e3a2ec52ee91ee464a8f8332c..e102672562313d3e74c005e37647cede934d2ac2 100644 --- a/include/fmr/StandardLRA/QRF.hpp +++ b/include/fmr/StandardLRA/QRF.hpp @@ -1,4 +1,36 @@ -#ifndef QRF_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef QRF_HPP #define QRF_HPP #include <iostream> diff --git a/include/fmr/StandardLRA/SVD.hpp b/include/fmr/StandardLRA/SVD.hpp index 2203aae59ff8c8b5f03f0eab94b6e8220e2a70ea..6aa362c91e1c11e55534983a7e7fd21da11256f9 100644 --- a/include/fmr/StandardLRA/SVD.hpp +++ b/include/fmr/StandardLRA/SVD.hpp @@ -1,4 +1,36 @@ -#ifndef SVD_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef SVD_HPP #define SVD_HPP #include <tuple> diff --git a/include/fmr/Utils/Accurator.hpp b/include/fmr/Utils/Accurator.hpp index 64904aa50e6fa6e804093b775a4d0acfb13e3b6a..f121bd0a1c7a626cc90ca2d5454f68de25219e1c 100644 --- a/include/fmr/Utils/Accurator.hpp +++ b/include/fmr/Utils/Accurator.hpp @@ -1,4 +1,36 @@ -// =================================================================================== +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +// =================================================================================== // Copyright ScalFmm 2016 INRIA, Olivier Coulaud, Bérenger Bramas, // Matthias Messner olivier.coulaud@inria.fr, berenger.bramas@inria.fr // This software is a computer program whose purpose is to compute the diff --git a/include/fmr/Utils/Assert.hpp b/include/fmr/Utils/Assert.hpp index 0d76f325c6a942a6a27a7f1ed987718fbc61db62..ec8acdf730aea7369c970c5b24906641e8055509 100644 --- a/include/fmr/Utils/Assert.hpp +++ b/include/fmr/Utils/Assert.hpp @@ -1,4 +1,36 @@ -// =================================================================================== +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +// =================================================================================== // Copyright ScalFmm 2016 INRIA, Olivier Coulaud, Bérenger Bramas, // Matthias Messner olivier.coulaud@inria.fr, berenger.bramas@inria.fr // This software is a computer program whose purpose is to compute the diff --git a/include/fmr/Utils/Blas.hpp b/include/fmr/Utils/Blas.hpp index 83b31965a34222a9fed3e00aebda534b47ad0ecc..b26b810f1d5bd4a4f4b1601f37949cc7b65d0a66 100644 --- a/include/fmr/Utils/Blas.hpp +++ b/include/fmr/Utils/Blas.hpp @@ -1,4 +1,36 @@ -#ifndef BLAS_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef BLAS_HPP #define BLAS_HPP #include <cstdio> diff --git a/include/fmr/Utils/Chameleon.hpp b/include/fmr/Utils/Chameleon.hpp index 251bbd9b75e107f43bc99470b370c92738bdeee9..7df251fb23683995cf9f6b0b0f92dc562e7867b0 100644 --- a/include/fmr/Utils/Chameleon.hpp +++ b/include/fmr/Utils/Chameleon.hpp @@ -1,4 +1,36 @@ -#ifndef CHAMELEON_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef CHAMELEON_HPP #define CHAMELEON_HPP #include <algorithm> diff --git a/include/fmr/Utils/Display.hpp b/include/fmr/Utils/Display.hpp index 24ebbed1263b6d8f3d72215cb59d7e30fec71026..c5a7b872e6a8438bdbe5c1f49fd7df1b09dd3784 100644 --- a/include/fmr/Utils/Display.hpp +++ b/include/fmr/Utils/Display.hpp @@ -1,4 +1,36 @@ -#ifndef DISPLAY_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef DISPLAY_HPP #define DISPLAY_HPP // std includes diff --git a/include/fmr/Utils/ErrorEstimators.hpp b/include/fmr/Utils/ErrorEstimators.hpp index d56947f1b23c5bc183593228625f4cd022120571..00e4da3af945cd985b4e264a873a0e69fef9736c 100644 --- a/include/fmr/Utils/ErrorEstimators.hpp +++ b/include/fmr/Utils/ErrorEstimators.hpp @@ -1,4 +1,36 @@ -#ifndef ERRORESTIMATORS_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef ERRORESTIMATORS_HPP #define ERRORESTIMATORS_HPP diff --git a/include/fmr/Utils/Global.hpp b/include/fmr/Utils/Global.hpp index f73dfe4c3865318a0688863ec3abd0d1746cc043..066927858e6c6d96b3e184b7d0654484c47d1a82 100644 --- a/include/fmr/Utils/Global.hpp +++ b/include/fmr/Utils/Global.hpp @@ -1,4 +1,36 @@ -#ifndef GLOBAL_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef GLOBAL_HPP #define GLOBAL_HPP // The configuration header file is stored in the build directory diff --git a/include/fmr/Utils/Math.hpp b/include/fmr/Utils/Math.hpp index 7ca01f53c1eca68c87059eb52d8b216c4e3186f9..26d0ab1fe4a8e885d9eceb9a0cbbe53fa02e3652 100644 --- a/include/fmr/Utils/Math.hpp +++ b/include/fmr/Utils/Math.hpp @@ -1,4 +1,36 @@ -// =================================================================================== +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +// =================================================================================== // Copyright ScalFmm 2016 INRIA, Olivier Coulaud, Bérenger Bramas, // Matthias Messner olivier.coulaud@inria.fr, berenger.bramas@inria.fr // This software is a computer program whose purpose is to compute the diff --git a/include/fmr/Utils/MatrixDimensions.hpp b/include/fmr/Utils/MatrixDimensions.hpp index fc4d1272b59d624cbfa6e65a8b73d2934e1f1379..21789052e80c2c45fb71c7218e3de2f3ec21f13f 100644 --- a/include/fmr/Utils/MatrixDimensions.hpp +++ b/include/fmr/Utils/MatrixDimensions.hpp @@ -1,4 +1,36 @@ -#ifndef MATRIXDIMENSIONS_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef MATRIXDIMENSIONS_HPP #define MATRIXDIMENSIONS_HPP // std includes diff --git a/include/fmr/Utils/MatrixIO.hpp b/include/fmr/Utils/MatrixIO.hpp index 3db1476408725ae8b12c40727859a44d2cd2612d..8819c7e562a201a7fc9034afd9258f5afc241f41 100644 --- a/include/fmr/Utils/MatrixIO.hpp +++ b/include/fmr/Utils/MatrixIO.hpp @@ -1,4 +1,36 @@ -#ifndef MATRIXIO_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef MATRIXIO_HPP #define MATRIXIO_HPP #include "fmr/Utils/MatrixIOArray.hpp" diff --git a/include/fmr/Utils/MatrixIOArray.hpp b/include/fmr/Utils/MatrixIOArray.hpp index 00bbb7365c43180ad2ffbbfc7e9afee5052694be..0b03c0ae3d4e0344356ee2052836c9c717bfdec8 100644 --- a/include/fmr/Utils/MatrixIOArray.hpp +++ b/include/fmr/Utils/MatrixIOArray.hpp @@ -1,4 +1,36 @@ -#ifndef MATRIXIOARRAY_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef MATRIXIOARRAY_HPP #define MATRIXIOARRAY_HPP // std includes diff --git a/include/fmr/Utils/MatrixIOBlas.hpp b/include/fmr/Utils/MatrixIOBlas.hpp index e2a3203b2cddf4c97a932636931b63d1c96ce986..cd2368695c29ec7353fcb5aa8c59f1c269634b19 100644 --- a/include/fmr/Utils/MatrixIOBlas.hpp +++ b/include/fmr/Utils/MatrixIOBlas.hpp @@ -1,4 +1,36 @@ -#ifndef MATRIXIOBLAS_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef MATRIXIOBLAS_HPP #define MATRIXIOBLAS_HPP #include "fmr/Utils/MatrixIOArray.hpp" diff --git a/include/fmr/Utils/MatrixIOChameleon.hpp b/include/fmr/Utils/MatrixIOChameleon.hpp index 22faacc711b11ec47be487ebef6e6f9f6d7ee4c1..b0e48258f3fa77690833a76f63fe2431d3c7c63b 100644 --- a/include/fmr/Utils/MatrixIOChameleon.hpp +++ b/include/fmr/Utils/MatrixIOChameleon.hpp @@ -1,4 +1,36 @@ -#ifndef MATRIXIOCHAMELEON_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef MATRIXIOCHAMELEON_HPP #define MATRIXIOCHAMELEON_HPP #include "fmr/Utils/Tic.hpp" diff --git a/include/fmr/Utils/MatrixNorms.hpp b/include/fmr/Utils/MatrixNorms.hpp index cd2a56c109fec3a7f2f06bf7a0f4903b40e1a0e0..da179f434d73caeeb75cb928cde674ed95fccbea 100644 --- a/include/fmr/Utils/MatrixNorms.hpp +++ b/include/fmr/Utils/MatrixNorms.hpp @@ -1,4 +1,36 @@ -#ifndef MATRIXNORMS_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef MATRIXNORMS_HPP #define MATRIXNORMS_HPP // Utilities diff --git a/include/fmr/Utils/MatrixTranspose.hpp b/include/fmr/Utils/MatrixTranspose.hpp index 1889f812a63ec6d892fd71f88c02bc5032f1dca6..9c7a25cf88f9226e08b3aaf64f251198c5c4ab58 100644 --- a/include/fmr/Utils/MatrixTranspose.hpp +++ b/include/fmr/Utils/MatrixTranspose.hpp @@ -1,4 +1,36 @@ -#ifndef MATRIXTRANSPOSE_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef MATRIXTRANSPOSE_HPP #define MATRIXTRANSPOSE_HPP // FMR includes diff --git a/include/fmr/Utils/ParameterNames.hpp b/include/fmr/Utils/ParameterNames.hpp index 58ee489c7b81d851cf5752394096dc13f91fb26a..19897d0abaeab468a1f7364eaa3ff1cf16527a43 100644 --- a/include/fmr/Utils/ParameterNames.hpp +++ b/include/fmr/Utils/ParameterNames.hpp @@ -1,4 +1,36 @@ -#ifdef PARAMETERNAMES_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifdef PARAMETERNAMES_HPP #error ParameterNames must be included only once by each main file! #else #define PARAMETERNAMES_HPP diff --git a/include/fmr/Utils/Parameters.hpp b/include/fmr/Utils/Parameters.hpp index 5732a87686497aca720ddb28de05cdb2ae7b77d4..d6c6f22f5f5a97cd113210250ecd0798c5daafdf 100644 --- a/include/fmr/Utils/Parameters.hpp +++ b/include/fmr/Utils/Parameters.hpp @@ -1,4 +1,36 @@ -#ifndef PARAMETERS_H +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef PARAMETERS_H #define PARAMETERS_H #include <sstream> diff --git a/include/fmr/Utils/RandomMatrix.hpp b/include/fmr/Utils/RandomMatrix.hpp index da3d365d68eeac6b4b72aa842b14b7f4012796c5..b6ada84b42a5700a298c804e3754b2b7a7cde8c6 100644 --- a/include/fmr/Utils/RandomMatrix.hpp +++ b/include/fmr/Utils/RandomMatrix.hpp @@ -1,4 +1,36 @@ -#ifndef RANDOMMATRIX_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef RANDOMMATRIX_HPP #define RANDOMMATRIX_HPP #include <algorithm> #include <cstdlib> diff --git a/include/fmr/Utils/Starpu.hpp b/include/fmr/Utils/Starpu.hpp index 7032669fd7f38c78e79f111906551ce4664938df..ba85f6afc03ec3435633f0f4d92c915d2f45b45f 100644 --- a/include/fmr/Utils/Starpu.hpp +++ b/include/fmr/Utils/Starpu.hpp @@ -1,3 +1,35 @@ +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + #ifndef STARPU_HPP #define STARPU_HPP diff --git a/include/fmr/Utils/Tic.hpp b/include/fmr/Utils/Tic.hpp index 8b985f4ed1ebb76a4b1b91a45ab8db4f4b329fb4..634cfb988c7401fec3eb1558c6f8abde7eb7829a 100644 --- a/include/fmr/Utils/Tic.hpp +++ b/include/fmr/Utils/Tic.hpp @@ -1,4 +1,36 @@ -#ifndef TIC_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef TIC_HPP #define TIC_HPP #include "fmr/Utils/Global.hpp" diff --git a/include/fmr/Utils/constants.hpp b/include/fmr/Utils/constants.hpp index 99ec9f7c9808319e253a554b7f51ab93d594b1dd..825753f3741555f546ff5ec84d5fd2b4871f42c3 100644 --- a/include/fmr/Utils/constants.hpp +++ b/include/fmr/Utils/constants.hpp @@ -1,4 +1,36 @@ -#ifndef FMR_UTILS_CONSTANTS_HPP +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#ifndef FMR_UTILS_CONSTANTS_HPP #define FMR_UTILS_CONSTANTS_HPP namespace fmr { namespace math { diff --git a/tools/generateLowRankMatrix.cpp b/tools/generateLowRankMatrix.cpp index 9e797101d4737fba7f742660cfefa5792438812a..fff6370f2b3e742ec130df762c92e3b939ae7dfc 100644 --- a/tools/generateLowRankMatrix.cpp +++ b/tools/generateLowRankMatrix.cpp @@ -1,4 +1,36 @@ -#include <iomanip> +/* Copyright 2022 IPB, Universite de Bordeaux, INRIA & CNRS + * + * This file is part of the FMR software package for Fast Methods for + * Randomized numerical linear algebra. + * + * This software is governed by the CeCILL-C license under French law + * and abiding by the rules of distribution of free software. You can + * use, modify and/or redistribute the software under the terms of the + * CeCILL-C license as circulated by CEA, CNRS and INRIA at the following + * URL: "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided + * only with a limited warranty and the software's author, the holder of + * the economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards + * their requirements in conditions enabling the security of their + * systems and/or data to be ensured and, more generally, to use and + * operate it in the same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +#include <iomanip> #include <iostream> #include <limits> #include <random>