commit 131c161f277e49601fdc6ec02c86375b605bcc52
parent d47ed9e5fd0ce79b820c7a0fa211cfbeedd96e6d
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Mon, 11 May 2015 15:32:11 +0200
On MSVC, use Boost randoms rather C++11 STL randoms
Diffstat:
12 files changed, 91 insertions(+), 1111 deletions(-)
diff --git a/COPYING.LESSER.en b/COPYING.LESSER.en
@@ -1,517 +0,0 @@
-
-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/COPYING.LESSER.fr b/COPYING.LESSER.fr
@@ -1,521 +0,0 @@
-
-CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-C
-
-
- Avertissement
-
-Ce contrat est une licence de logiciel libre issue d'une concertation
-entre ses auteurs afin que le respect de deux grands principes préside à
-sa rédaction:
-
- * d'une part, le respect des principes de diffusion des logiciels
- libres: accès au code source, droits étendus conférés aux
- utilisateurs,
- * d'autre part, la désignation d'un droit applicable, le droit
- français, auquel elle est conforme, tant au regard du droit de la
- responsabilité civile que du droit de la propriété intellectuelle
- et de la protection qu'il offre aux auteurs et titulaires des
- droits patrimoniaux sur un logiciel.
-
-Les auteurs de la licence CeCILL-C (pour Ce[a] C[nrs] I[nria] L[ogiciel]
-L[ibre]) sont:
-
-Commissariat à l'Energie Atomique - CEA, établissement public de
-recherche à caractère scientifique, technique et industriel, dont le
-siège est situé 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris.
-
-Centre National de la Recherche Scientifique - CNRS, établissement
-public à caractère scientifique et technologique, dont le siège est
-situé 3 rue Michel-Ange, 75794 Paris cedex 16.
-
-Institut National de Recherche en Informatique et en Automatique -
-INRIA, établissement public à caractère scientifique et technologique,
-dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153
-Le Chesnay cedex.
-
-
- Préambule
-
-Ce contrat est une licence de logiciel libre dont l'objectif est de
-conférer aux utilisateurs la liberté de modifier et de réutiliser le
-logiciel régi par cette licence.
-
-L'exercice de cette liberté est assorti d'une obligation de remettre à
-la disposition de la communauté les modifications apportées au code
-source du logiciel afin de contribuer à son évolution.
-
-L'accessibilité au code source et les droits de copie, de modification
-et de redistribution qui découlent de ce contrat ont pour contrepartie
-de n'offrir aux utilisateurs qu'une garantie limitée et de ne faire
-peser sur l'auteur du logiciel, le titulaire des droits patrimoniaux et
-les concédants successifs qu'une responsabilité restreinte.
-
-A cet égard l'attention de l'utilisateur est attirée sur les risques
-associés au chargement, à l'utilisation, à la modification et/ou au
-développement et à la reproduction du logiciel par l'utilisateur étant
-donné sa spécificité de logiciel libre, qui peut le rendre complexe à
-manipuler et qui le réserve donc à des développeurs ou des
-professionnels avertis possédant des connaissances informatiques
-approfondies. Les utilisateurs sont donc invités à charger et tester
-l'adéquation du logiciel à leurs besoins dans des conditions permettant
-d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus
-généralement, à l'utiliser et l'exploiter dans les mêmes conditions de
-sécurité. Ce contrat peut être reproduit et diffusé librement, sous
-réserve de le conserver en l'état, sans ajout ni suppression de clauses.
-
-Ce contrat est susceptible de s'appliquer à tout logiciel dont le
-titulaire des droits patrimoniaux décide de soumettre l'exploitation aux
-dispositions qu'il contient.
-
-
- Article 1 - DEFINITIONS
-
-Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une
-lettre capitale, auront la signification suivante:
-
-Contrat: désigne le présent contrat de licence, ses éventuelles versions
-postérieures et annexes.
-
-Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code
-Source et le cas échéant sa documentation, dans leur état au moment de
-l'acceptation du Contrat par le Licencié.
-
-Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et
-éventuellement de Code Objet et le cas échéant sa documentation, dans
-leur état au moment de leur première diffusion sous les termes du Contrat.
-
-Logiciel Modifié: désigne le Logiciel modifié par au moins une
-Contribution Intégrée.
-
-Code Source: désigne l'ensemble des instructions et des lignes de
-programme du Logiciel et auquel l'accès est nécessaire en vue de
-modifier le Logiciel.
-
-Code Objet: désigne les fichiers binaires issus de la compilation du
-Code Source.
-
-Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur
-sur le Logiciel Initial.
-
-Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le
-Contrat.
-
-Contributeur: désigne le Licencié auteur d'au moins une Contribution
-Intégrée.
-
-Concédant: désigne le Titulaire ou toute personne physique ou morale
-distribuant le Logiciel sous le Contrat.
-
-Contribution Intégrée: désigne l'ensemble des modifications,
-corrections, traductions, adaptations et/ou nouvelles fonctionnalités
-intégrées dans le Code Source par tout Contributeur.
-
-Module Lié: désigne un ensemble de fichiers sources y compris leur
-documentation qui, sans modification du Code Source, permet de réaliser
-des fonctionnalités ou services supplémentaires à ceux fournis par le
-Logiciel.
-
-Logiciel Dérivé: désigne toute combinaison du Logiciel, modifié ou non,
-et d'un Module Lié.
-
-Parties: désigne collectivement le Licencié et le Concédant.
-
-Ces termes s'entendent au singulier comme au pluriel.
-
-
- Article 2 - OBJET
-
-Le Contrat a pour objet la concession par le Concédant au Licencié d'une
-licence non exclusive, cessible et mondiale du Logiciel telle que
-définie ci-après à l'article 5 pour toute la durée de protection des droits
-portant sur ce Logiciel.
-
-
- Article 3 - ACCEPTATION
-
-3.1 L'acceptation par le Licencié des termes du Contrat est réputée
-acquise du fait du premier des faits suivants:
-
- * (i) le chargement du Logiciel par tout moyen notamment par
- téléchargement à partir d'un serveur distant ou par chargement à
- partir d'un support physique;
- * (ii) le premier exercice par le Licencié de l'un quelconque des
- droits concédés par le Contrat.
-
-3.2 Un exemplaire du Contrat, contenant notamment un avertissement
-relatif aux spécificités du Logiciel, à la restriction de garantie et à
-la limitation à un usage par des utilisateurs expérimentés a été mis à
-disposition du Licencié préalablement à son acceptation telle que
-définie à l'article 3.1 ci dessus et le Licencié reconnaît en avoir pris
-connaissance.
-
-
- Article 4 - ENTREE EN VIGUEUR ET DUREE
-
-
- 4.1 ENTREE EN VIGUEUR
-
-Le Contrat entre en vigueur à la date de son acceptation par le Licencié
-telle que définie en 3.1.
-
-
- 4.2 DUREE
-
-Le Contrat produira ses effets pendant toute la durée légale de
-protection des droits patrimoniaux portant sur le Logiciel.
-
-
- Article 5 - ETENDUE DES DROITS CONCEDES
-
-Le Concédant concède au Licencié, qui accepte, les droits suivants sur
-le Logiciel pour toutes destinations et pour la durée du Contrat dans
-les conditions ci-après détaillées.
-
-Par ailleurs, si le Concédant détient ou venait à détenir un ou
-plusieurs brevets d'invention protégeant tout ou partie des
-fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas
-opposer les éventuels droits conférés par ces brevets aux Licenciés
-successifs qui utiliseraient, exploiteraient ou modifieraient le
-Logiciel. En cas de cession de ces brevets, le Concédant s'engage à
-faire reprendre les obligations du présent alinéa aux cessionnaires.
-
-
- 5.1 DROIT D'UTILISATION
-
-Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant
-aux domaines d'application, étant ci-après précisé que cela comporte:
-
- 1. la reproduction permanente ou provisoire du Logiciel en tout ou
- partie par tout moyen et sous toute forme.
-
- 2. le chargement, l'affichage, l'exécution, ou le stockage du
- Logiciel sur tout support.
-
- 3. la possibilité d'en observer, d'en étudier, ou d'en tester le
- fonctionnement afin de déterminer les idées et principes qui sont
- à la base de n'importe quel élément de ce Logiciel; et ceci,
- lorsque le Licencié effectue toute opération de chargement,
- d'affichage, d'exécution, de transmission ou de stockage du
- Logiciel qu'il est en droit d'effectuer en vertu du Contrat.
-
-
- 5.2 DROIT DE MODIFICATION
-
-Le droit de modification comporte le droit de traduire, d'adapter,
-d'arranger ou d'apporter toute autre modification au Logiciel et le
-droit de reproduire le logiciel en résultant. Il comprend en particulier
-le droit de créer un Logiciel Dérivé.
-
-Le Licencié est autorisé à apporter toute modification au Logiciel sous
-réserve de mentionner, de façon explicite, son nom en tant qu'auteur de
-cette modification et la date de création de celle-ci.
-
-
- 5.3 DROIT DE DISTRIBUTION
-
-Le droit de distribution comporte notamment le droit de diffuser, de
-transmettre et de communiquer le Logiciel au public sur tout support et
-par tout moyen ainsi que le droit de mettre sur le marché à titre
-onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
-
-Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou
-non, à des tiers dans les conditions ci-après détaillées.
-
-
- 5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
-
-Le Licencié est autorisé à distribuer des copies conformes du Logiciel,
-sous forme de Code Source ou de Code Objet, à condition que cette
-distribution respecte les dispositions du Contrat dans leur totalité et
-soit accompagnée:
-
- 1. d'un exemplaire du Contrat,
-
- 2. d'un avertissement relatif à la restriction de garantie et de
- responsabilité du Concédant telle que prévue aux articles 8
- et 9,
-
-et que, dans le cas où seul le Code Objet du Logiciel est redistribué,
-le Licencié permette un accès effectif au Code Source complet du
-Logiciel pendant au moins toute la durée de sa distribution du Logiciel,
-étant entendu que le coût additionnel d'acquisition du Code Source ne
-devra pas excéder le simple coût de transfert des données.
-
-
- 5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
-
-Lorsque le Licencié apporte une Contribution Intégrée au Logiciel, les
-conditions de distribution du Logiciel Modifié en résultant sont alors
-soumises à l'intégralité des dispositions du Contrat.
-
-Le Licencié est autorisé à distribuer le Logiciel Modifié sous forme de
-code source ou de code objet, à condition que cette distribution
-respecte les dispositions du Contrat dans leur totalité et soit
-accompagnée:
-
- 1. d'un exemplaire du Contrat,
-
- 2. d'un avertissement relatif à la restriction de garantie et de
- responsabilité du Concédant telle que prévue aux articles 8
- et 9,
-
-et que, dans le cas où seul le code objet du Logiciel Modifié est
-redistribué, le Licencié permette un accès effectif à son code source
-complet pendant au moins toute la durée de sa distribution du Logiciel
-Modifié, étant entendu que le coût additionnel d'acquisition du code
-source ne devra pas excéder le simple coût de transfert des données.
-
-
- 5.3.3 DISTRIBUTION DU LOGICIEL DERIVE
-
-Lorsque le Licencié crée un Logiciel Dérivé, ce Logiciel Dérivé peut
-être distribué sous un contrat de licence autre que le présent Contrat à
-condition de respecter les obligations de mention des droits sur le
-Logiciel telles que définies à l'article 6.4. Dans le cas où la création du
-Logiciel Dérivé a nécessité une modification du Code Source le licencié
-s'engage à ce que:
-
- 1. le Logiciel Modifié correspondant à cette modification soit régi
- par le présent Contrat,
- 2. les Contributions Intégrées dont le Logiciel Modifié résulte
- soient clairement identifiées et documentées,
- 3. le Licencié permette un accès effectif au code source du Logiciel
- Modifié, pendant au moins toute la durée de la distribution du
- Logiciel Dérivé, de telle sorte que ces modifications puissent
- être reprises dans une version ultérieure du Logiciel, étant
- entendu que le coût additionnel d'acquisition du code source du
- Logiciel Modifié ne devra pas excéder le simple coût du transfert
- des données.
-
-
- 5.3.4 COMPATIBILITE AVEC LA LICENCE CeCILL
-
-Lorsqu'un Logiciel Modifié contient une Contribution Intégrée soumise au
-contrat de licence CeCILL, ou lorsqu'un Logiciel Dérivé contient un
-Module Lié soumis au contrat de licence CeCILL, les stipulations prévues
-au troisième item de l'article 6.4 sont facultatives.
-
-
- Article 6 - PROPRIETE INTELLECTUELLE
-
-
- 6.1 SUR LE LOGICIEL INITIAL
-
-Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel
-Initial. Toute utilisation du Logiciel Initial est soumise au respect
-des conditions dans lesquelles le Titulaire a choisi de diffuser son
-oeuvre et nul autre n'a la faculté de modifier les conditions de
-diffusion de ce Logiciel Initial.
-
-Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi
-par le Contrat et ce, pour la durée visée à l'article 4.2.
-
-
- 6.2 SUR LES CONTRIBUTIONS INTEGREES
-
-Le Licencié qui a développé une Contribution Intégrée est titulaire sur
-celle-ci des droits de propriété intellectuelle dans les conditions
-définies par la législation applicable.
-
-
- 6.3 SUR LES MODULES LIES
-
-Le Licencié qui a développé un Module Lié est titulaire sur celui-ci des
-droits de propriété intellectuelle dans les conditions définies par la
-législation applicable et reste libre du choix du contrat régissant sa
-diffusion dans les conditions définies à l'article 5.3.3.
-
-
- 6.4 MENTIONS DES DROITS
-
-Le Licencié s'engage expressément:
-
- 1. à ne pas supprimer ou modifier de quelque manière que ce soit les
- mentions de propriété intellectuelle apposées sur le Logiciel;
-
- 2. à reproduire à l'identique lesdites mentions de propriété
- intellectuelle sur les copies du Logiciel modifié ou non;
-
- 3. à faire en sorte que l'utilisation du Logiciel, ses mentions de
- propriété intellectuelle et le fait qu'il est régi par le Contrat
- soient indiqués dans un texte facilement accessible notamment
- depuis l'interface de tout Logiciel Dérivé.
-
-Le Licencié s'engage à ne pas porter atteinte, directement ou
-indirectement, aux droits de propriété intellectuelle du Titulaire et/ou
-des Contributeurs sur le Logiciel et à prendre, le cas échéant, à
-l'égard de son personnel toutes les mesures nécessaires pour assurer le
-respect des dits droits de propriété intellectuelle du Titulaire et/ou
-des Contributeurs.
-
-
- Article 7 - SERVICES ASSOCIES
-
-7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de
-prestations d'assistance technique ou de maintenance du Logiciel.
-
-Cependant le Concédant reste libre de proposer ce type de services. Les
-termes et conditions d'une telle assistance technique et/ou d'une telle
-maintenance seront alors déterminés dans un acte séparé. Ces actes de
-maintenance et/ou assistance technique n'engageront que la seule
-responsabilité du Concédant qui les propose.
-
-7.2 De même, tout Concédant est libre de proposer, sous sa seule
-responsabilité, à ses licenciés une garantie, qui n'engagera que lui,
-lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce,
-dans les conditions qu'il souhaite. Cette garantie et les modalités
-financières de son application feront l'objet d'un acte séparé entre le
-Concédant et le Licencié.
-
-
- Article 8 - RESPONSABILITE
-
-8.1 Sous réserve des dispositions de l'article 8.2, le Licencié a la
-faculté, sous réserve de prouver la faute du Concédant concerné, de
-solliciter la réparation du préjudice direct qu'il subirait du fait du
-Logiciel et dont il apportera la preuve.
-
-8.2 La responsabilité du Concédant est limitée aux engagements pris en
-application du Contrat et ne saurait être engagée en raison notamment:
-(i) des dommages dus à l'inexécution, totale ou partielle, de ses
-obligations par le Licencié, (ii) des dommages directs ou indirects
-découlant de l'utilisation ou des performances du Logiciel subis par le
-Licencié et (iii) plus généralement d'un quelconque dommage indirect. En
-particulier, les Parties conviennent expressément que tout préjudice
-financier ou commercial (par exemple perte de données, perte de
-bénéfices, perte d'exploitation, perte de clientèle ou de commandes,
-manque à gagner, trouble commercial quelconque) ou toute action dirigée
-contre le Licencié par un tiers, constitue un dommage indirect et
-n'ouvre pas droit à réparation par le Concédant.
-
-
- Article 9 - GARANTIE
-
-9.1 Le Licencié reconnaît que l'état actuel des connaissances
-scientifiques et techniques au moment de la mise en circulation du
-Logiciel ne permet pas d'en tester et d'en vérifier toutes les
-utilisations ni de détecter l'existence d'éventuels défauts. L'attention
-du Licencié a été attirée sur ce point sur les risques associés au
-chargement, à l'utilisation, la modification et/ou au développement et à
-la reproduction du Logiciel qui sont réservés à des utilisateurs avertis.
-
-Il relève de la responsabilité du Licencié de contrôler, par tous
-moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et
-de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens.
-
-9.2 Le Concédant déclare de bonne foi être en droit de concéder
-l'ensemble des droits attachés au Logiciel (comprenant notamment les
-droits visés à l'article 5).
-
-9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le
-Concédant sans autre garantie, expresse ou tacite, que celle prévue à
-l'article 9.2 et notamment sans aucune garantie sur sa valeur commerciale,
-son caractère sécurisé, innovant ou pertinent.
-
-En particulier, le Concédant ne garantit pas que le Logiciel est exempt
-d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible
-avec l'équipement du Licencié et sa configuration logicielle ni qu'il
-remplira les besoins du Licencié.
-
-9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le
-Logiciel ne porte pas atteinte à un quelconque droit de propriété
-intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout
-autre droit de propriété. Ainsi, le Concédant exclut toute garantie au
-profit du Licencié contre les actions en contrefaçon qui pourraient être
-diligentées au titre de l'utilisation, de la modification, et de la
-redistribution du Logiciel. Néanmoins, si de telles actions sont
-exercées contre le Licencié, le Concédant lui apportera son aide
-technique et juridique pour sa défense. Cette aide technique et
-juridique est déterminée au cas par cas entre le Concédant concerné et
-le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage
-toute responsabilité quant à l'utilisation de la dénomination du
-Logiciel par le Licencié. Aucune garantie n'est apportée quant à
-l'existence de droits antérieurs sur le nom du Logiciel et sur
-l'existence d'une marque.
-
-
- Article 10 - RESILIATION
-
-10.1 En cas de manquement par le Licencié aux obligations mises à sa
-charge par le Contrat, le Concédant pourra résilier de plein droit le
-Contrat trente (30) jours après notification adressée au Licencié et
-restée sans effet.
-
-10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à
-utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les
-licences qu'il aura concédées antérieurement à la résiliation du Contrat
-resteront valides sous réserve qu'elles aient été effectuées en
-conformité avec le Contrat.
-
-
- Article 11 - DISPOSITIONS DIVERSES
-
-
- 11.1 CAUSE EXTERIEURE
-
-Aucune des Parties ne sera responsable d'un retard ou d'une défaillance
-d'exécution du Contrat qui serait dû à un cas de force majeure, un cas
-fortuit ou une cause extérieure, telle que, notamment, le mauvais
-fonctionnement ou les interruptions du réseau électrique ou de
-télécommunication, la paralysie du réseau liée à une attaque
-informatique, l'intervention des autorités gouvernementales, les
-catastrophes naturelles, les dégâts des eaux, les tremblements de terre,
-le feu, les explosions, les grèves et les conflits sociaux, l'état de
-guerre...
-
-11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou
-plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du
-Contrat, ne pourra en aucun cas impliquer renonciation par la Partie
-intéressée à s'en prévaloir ultérieurement.
-
-11.3 Le Contrat annule et remplace toute convention antérieure, écrite
-ou orale, entre les Parties sur le même objet et constitue l'accord
-entier entre les Parties sur cet objet. Aucune addition ou modification
-aux termes du Contrat n'aura d'effet à l'égard des Parties à moins
-d'être faite par écrit et signée par leurs représentants dûment habilités.
-
-11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat
-s'avèrerait contraire à une loi ou à un texte applicable, existants ou
-futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les
-amendements nécessaires pour se conformer à cette loi ou à ce texte.
-Toutes les autres dispositions resteront en vigueur. De même, la
-nullité, pour quelque raison que ce soit, d'une des dispositions du
-Contrat ne saurait entraîner la nullité de l'ensemble du Contrat.
-
-
- 11.5 LANGUE
-
-Le Contrat est rédigé en langue française et en langue anglaise, ces
-deux versions faisant également foi.
-
-
- Article 12 - NOUVELLES VERSIONS DU CONTRAT
-
-12.1 Toute personne est autorisée à copier et distribuer des copies de
-ce Contrat.
-
-12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé
-et ne peut être modifié que par les auteurs de la licence, lesquels se
-réservent le droit de publier périodiquement des mises à jour ou de
-nouvelles versions du Contrat, qui posséderont chacune un numéro
-distinct. Ces versions ultérieures seront susceptibles de prendre en
-compte de nouvelles problématiques rencontrées par les logiciels libres.
-
-12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra
-faire l'objet d'une diffusion ultérieure que sous la même version du
-Contrat ou une version postérieure.
-
-
- Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
-
-13.1 Le Contrat est régi par la loi française. Les Parties conviennent
-de tenter de régler à l'amiable les différends ou litiges qui
-viendraient à se produire par suite ou à l'occasion du Contrat.
-
-13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter
-de leur survenance et sauf situation relevant d'une procédure d'urgence,
-les différends ou litiges seront portés par la Partie la plus diligente
-devant les Tribunaux compétents de Paris.
-
-
-Version 1.0 du 2006-09-05.
diff --git a/README.md b/README.md
@@ -1,29 +1,38 @@
# Star SamPling
The purpose of this library is to generete [pseudo] random numbers and random
-variates. While it is based on the C++11 standard library, its API remains pure
-C.
+variates. While it is based on C++11 random generators, its API remains pure C.
## How to build
The *Star-Sampling* library relies on the [CMake](http://www.cmake.org) and the
[RCMake](https://gitlab.com/vaplv/rcmake/) package to build. It also depends on
-the [RSys](https://gitlab.com/vaplv/rsys/) library and on the C++11 random
-number generators.
+the [RSys](https://gitlab.com/vaplv/rsys/) library and C++11 random number
+generators.
-First ensure that CMake and a C++11 compiler are installed on your system. Then
-install the RCMake package as well as the RSys library. Finally generate the
+First ensure that CMake and a C++11 compiler is installed on your system. Then
+install the RCMake package as well as the RSys library. Finally Generate the
project from the `cmake/CMakeLists.txt` file by appending to the
`CMAKE_PREFIX_PATH` variable the `<RCMAKE_INSTALL_DIR>/lib/cmake` and
`<RSYS_INSTALL_DIR>` directories, where `<RCMAKE_INSTALL_DIR>`, and
`<RSYS_INSTALL_DIR>` are the install directories of the RCMake package and the
-RSys library, respectively. The generated project can be edited, built, tested
-and installed as any CMake project.
+RSys library, respectively.
+
+# Microsoft Visual Studio
+
+When built with Visual Studio, the *Star-Sampling* library depends on the
+[Boost](http://www.boost.org) random library rather than the STL that is
+actually not fully compliant with the C++11 standard.
+
+For this platform, install the Boost random library. Then generate the CMake
+project as above with, in addition, the Boost install directory added to the
+`CMAKE_PREFIX_PATH` variable and the `BOOST_INCLUDE_DIR` cmake variable set to
+the path that contains the boost header directory.
## Licenses
-The *Star-Sampling* library and its build system are free software released
-under the [OSI](http://opensource.org)-approved CeCILL-C and CeCILL licenses,
-respectively. You are welcome to redistribute them under certain conditions;
-refer to the COPYING.LESSER and COPYING files for details.
+The *Star-Sampling* library are free software released under the
+[OSI](http://opensource.org)-approved CeCILL license. You are welcome to
+redistribute it under certain conditions; refer to the COPYING files for
+details.
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
@@ -45,11 +45,17 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${RCMAKE_SOURCE_DIR})
include(rcmake)
include(rcmake_runtime)
-include_directories(${RSys_INCLUDE_DIR})
+if(MSVC)
+ # Currently, the C++11 random library on MSVC is bugged and consequently we
+ # use the Boost version instead
+ find_package(Boost 1.58 REQUIRED)
+ include_directories(${RSys_INCLUDE_DIR} ${Boost_INCLUDE_DIRS})
+else()
+ include_directories(${RSys_INCLUDE_DIR})
+endif()
rcmake_append_runtime_dirs(_runtime_dirs RSys)
-
################################################################################
# Configure and define targets
################################################################################
diff --git a/src/ssp.h b/src/ssp.h
@@ -3,9 +3,9 @@
* This software is a library whose purpose is to generate [pseudo] random
* numbers and random variates.
*
- * This software is governed by the CeCILL-C license under French law and
+ * This software is governed by the CeCILL 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
+ * modify and/or redistribute the software under the terms of the CeCILL
* license as circulated by CEA, CNRS and INRIA at the following URL
* "http://www.cecill.info".
*
@@ -27,7 +27,7 @@
* 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. */
+ * knowledge of the CeCILL license and that you accept its terms. */
#ifndef SSP_H
#define SSP_H
diff --git a/src/ssp_rng.c b/src/ssp_rng.c
@@ -3,9 +3,9 @@
* This software is a library whose purpose is to generate [pseudo] random
* numbers and random variates.
*
- * This software is governed by the CeCILL-C license under French law and
+ * This software is governed by the CeCILL 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
+ * modify and/or redistribute the software under the terms of the CeCILL
* license as circulated by CEA, CNRS and INRIA at the following URL
* "http://www.cecill.info".
*
@@ -27,21 +27,28 @@
* 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. */
+ * knowledge of the CeCILL license and that you accept its terms. */
#include "ssp_rng_c.h"
#include <rsys/mem_allocator.h>
#include <cstring>
-#include <random>
-#include <sstream>
-
#ifdef COMPILER_CL
+ /* The random C++11 library is bugged on MSVC 12. Use the boost version */
+ #include <boost/random.hpp>
+ #define RAN_NAMESPACE boost::random
+
#pragma warning(push)
#pragma warning(disable:4706) /* Assignment in conditional expression */
+#else
+ #include <random>
+ #define RAN_NAMESPACE std
#endif
+#include <sstream>
+
+
/*******************************************************************************
* KISS PRNG
******************************************************************************/
@@ -51,7 +58,7 @@ static void
rng_kiss_set(void* data, const size_t seed)
{
struct rng_kiss* kiss = (struct rng_kiss*)data;
- std::mt19937 rng_mt(seed % UINT32_MAX);
+ RAN_NAMESPACE::mt19937 rng_mt(seed % UINT32_MAX);
ASSERT(kiss);
kiss->x = (uint32_t)rng_mt();
do {
@@ -180,7 +187,7 @@ rng_cxx_uniform_int
{
RNG* rng = (RNG*)data;
ASSERT(rng && lower <= upper);
- return std::uniform_int_distribution<uint64_t>(lower, upper)(*rng);
+ return RAN_NAMESPACE::uniform_int_distribution<uint64_t>(lower, upper)(*rng);
}
template<typename RNG>
@@ -190,7 +197,7 @@ rng_cxx_uniform_double
{
RNG* rng = (RNG*)data;
ASSERT(rng && lower <= upper);
- return std::uniform_real_distribution<>(lower, upper)(*rng);
+ return RAN_NAMESPACE::uniform_real_distribution<>(lower, upper)(*rng);
}
template<typename RNG>
@@ -198,13 +205,9 @@ static double
rng_cxx_canonical(void* data)
{
/* On Visual Studio 2013, the generate_canonical method is bugged */
-#ifdef COMPILER_CL
- return rng_cxx_uniform_double<RNG>(data, 0.f, 1.f);
-#else
RNG* rng = (RNG*)data;
ASSERT(rng);
- return std::generate_canonical<double, 48>(*rng);
-#endif
+ return RAN_NAMESPACE::generate_canonical<double, 48>(*rng);
}
template<typename RNG>
@@ -258,34 +261,34 @@ rng_cxx_release(void* data)
/* 64-bits Mersenne Twister PRNG */
const struct ssp_rng_type ssp_rng_mt19937_64 = {
- rng_cxx_init<std::mt19937_64>,
- rng_cxx_release<std::mt19937_64>,
- rng_cxx_set<std::mt19937_64>,
- rng_cxx_get<std::mt19937_64>,
- rng_cxx_uniform_int<std::mt19937_64>,
- rng_cxx_uniform_double<std::mt19937_64>,
- rng_cxx_canonical<std::mt19937_64>,
- rng_cxx_read<std::mt19937_64>,
- rng_cxx_write<std::mt19937_64>,
- std::mt19937_64::min(),
- std::mt19937_64::max(),
- sizeof(std::mt19937_64)
+ rng_cxx_init<RAN_NAMESPACE::mt19937_64>,
+ rng_cxx_release<RAN_NAMESPACE::mt19937_64>,
+ rng_cxx_set<RAN_NAMESPACE::mt19937_64>,
+ rng_cxx_get<RAN_NAMESPACE::mt19937_64>,
+ rng_cxx_uniform_int<RAN_NAMESPACE::mt19937_64>,
+ rng_cxx_uniform_double<RAN_NAMESPACE::mt19937_64>,
+ rng_cxx_canonical<RAN_NAMESPACE::mt19937_64>,
+ rng_cxx_read<RAN_NAMESPACE::mt19937_64>,
+ rng_cxx_write<RAN_NAMESPACE::mt19937_64>,
+ RAN_NAMESPACE::mt19937_64::min(),
+ RAN_NAMESPACE::mt19937_64::max(),
+ sizeof(RAN_NAMESPACE::mt19937_64)
};
/* 48-bits RANLUX PRNG */
const struct ssp_rng_type ssp_rng_ranlux48 = {
- rng_cxx_init<std::ranlux48>,
- rng_cxx_release<std::ranlux48>,
- rng_cxx_set<std::ranlux48>,
- rng_cxx_get<std::ranlux48>,
- rng_cxx_uniform_int<std::ranlux48>,
- rng_cxx_uniform_double<std::ranlux48>,
- rng_cxx_canonical<std::ranlux48>,
- rng_cxx_read<std::ranlux48>,
- rng_cxx_write<std::ranlux48>,
- std::ranlux48::min(),
- std::ranlux48::max(),
- sizeof(std::ranlux48)
+ rng_cxx_init<RAN_NAMESPACE::ranlux48>,
+ rng_cxx_release<RAN_NAMESPACE::ranlux48>,
+ rng_cxx_set<RAN_NAMESPACE::ranlux48>,
+ rng_cxx_get<RAN_NAMESPACE::ranlux48>,
+ rng_cxx_uniform_int<RAN_NAMESPACE::ranlux48>,
+ rng_cxx_uniform_double<RAN_NAMESPACE::ranlux48>,
+ rng_cxx_canonical<RAN_NAMESPACE::ranlux48>,
+ rng_cxx_read<RAN_NAMESPACE::ranlux48>,
+ rng_cxx_write<RAN_NAMESPACE::ranlux48>,
+ RAN_NAMESPACE::ranlux48::min(),
+ RAN_NAMESPACE::ranlux48::max(),
+ sizeof(RAN_NAMESPACE::ranlux48)
};
/*******************************************************************************
diff --git a/src/ssp_rng_c.h b/src/ssp_rng_c.h
@@ -3,9 +3,9 @@
* This software is a library whose purpose is to generate [pseudo] random
* numbers and random variates.
*
- * This software is governed by the CeCILL-C license under French law and
+ * This software is governed by the CeCILL 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
+ * modify and/or redistribute the software under the terms of the CeCILL
* license as circulated by CEA, CNRS and INRIA at the following URL
* "http://www.cecill.info".
*
@@ -27,7 +27,7 @@
* 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. */
+ * knowledge of the CeCILL license and that you accept its terms. */
#ifndef SSP_RNG_C_H
#define SSP_RNG_C_H
diff --git a/src/ssp_rng_proxy.c b/src/ssp_rng_proxy.c
@@ -3,9 +3,9 @@
* This software is a library whose purpose is to generate [pseudo] random
* numbers and random variates.
*
- * This software is governed by the CeCILL-C license under French law and
+ * This software is governed by the CeCILL 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
+ * modify and/or redistribute the software under the terms of the CeCILL
* license as circulated by CEA, CNRS and INRIA at the following URL
* "http://www.cecill.info".
*
@@ -27,7 +27,7 @@
* 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. */
+ * knowledge of the CeCILL license and that you accept its terms. */
#include "ssp_rng_c.h"
diff --git a/src/test_ssp_ran_hemisphere.c b/src/test_ssp_ran_hemisphere.c
@@ -2,9 +2,9 @@
*
* This software is a program whose purpose is to test the spp library.
*
- * This software is governed by the CeCILL-C license under French law and
+ * This software is governed by the CeCILL 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
+ * modify and/or redistribute the software under the terms of the CeCILL
* license as circulated by CEA, CNRS and INRIA at the following URL
* "http://www.cecill.info".
*
@@ -26,7 +26,7 @@
* 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. */
+ * knowledge of the CeCILL license and that you accept its terms. */
#include "ssp.h"
#include "test_ssp_utils.h"
diff --git a/src/test_ssp_rng.c b/src/test_ssp_rng.c
@@ -2,9 +2,9 @@
*
* This software is a program whose purpose is to test the spp library.
*
- * This software is governed by the CeCILL-C license under French law and
+ * This software is governed by the CeCILL 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
+ * modify and/or redistribute the software under the terms of the CeCILL
* license as circulated by CEA, CNRS and INRIA at the following URL
* "http://www.cecill.info".
*
@@ -26,7 +26,7 @@
* 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. */
+ * knowledge of the CeCILL license and that you accept its terms. */
#include "ssp.h"
#include "test_ssp_utils.h"
diff --git a/src/test_ssp_rng_proxy.c b/src/test_ssp_rng_proxy.c
@@ -2,9 +2,9 @@
*
* This software is a program whose purpose is to test the spp library.
*
- * This software is governed by the CeCILL-C license under French law and
+ * This software is governed by the CeCILL 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
+ * modify and/or redistribute the software under the terms of the CeCILL
* license as circulated by CEA, CNRS and INRIA at the following URL
* "http://www.cecill.info".
*
@@ -26,7 +26,7 @@
* 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. */
+ * knowledge of the CeCILL license and that you accept its terms. */
#include "ssp.h"
#include "test_ssp_utils.h"
diff --git a/src/test_ssp_utils.h b/src/test_ssp_utils.h
@@ -1,8 +1,8 @@
/* Copyright (C) |Meso|Star> 2015 (contact@meso-star.com)
*
- * This software is governed by the CeCILL-C license under French law and
+ * This software is governed by the CeCILL 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
+ * modify and/or redistribute the software under the terms of the CeCILL
* license as circulated by CEA, CNRS and INRIA at the following URL
* "http://www.cecill.info".
*
@@ -24,7 +24,7 @@
* 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. */
+ * knowledge of the CeCILL license and that you accept its terms. */
#ifndef TEST_SSP_UTILS_H
#define TEST_SSP_UTILS_H