Line data Source code
1 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3 : !!!!
4 : !!!! MIT License
5 : !!!!
6 : !!!! ParaMonte: plain powerful parallel Monte Carlo library.
7 : !!!!
8 : !!!! Copyright (C) 2012-present, The Computational Data Science Lab
9 : !!!!
10 : !!!! This file is part of the ParaMonte library.
11 : !!!!
12 : !!!! Permission is hereby granted, free of charge, to any person obtaining a
13 : !!!! copy of this software and associated documentation files (the "Software"),
14 : !!!! to deal in the Software without restriction, including without limitation
15 : !!!! the rights to use, copy, modify, merge, publish, distribute, sublicense,
16 : !!!! and/or sell copies of the Software, and to permit persons to whom the
17 : !!!! Software is furnished to do so, subject to the following conditions:
18 : !!!!
19 : !!!! The above copyright notice and this permission notice shall be
20 : !!!! included in all copies or substantial portions of the Software.
21 : !!!!
22 : !!!! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 : !!!! EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 : !!!! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25 : !!!! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
26 : !!!! DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
27 : !!!! OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
28 : !!!! OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 : !!!!
30 : !!!! ACKNOWLEDGMENT
31 : !!!!
32 : !!!! ParaMonte is an honor-ware and its currency is acknowledgment and citations.
33 : !!!! As per the ParaMonte library license agreement terms, if you use any parts of
34 : !!!! this library for any purposes, kindly acknowledge the use of ParaMonte in your
35 : !!!! work (education/research/industry/development/...) by citing the ParaMonte
36 : !!!! library as described on this page:
37 : !!!!
38 : !!!! https://github.com/cdslaborg/paramonte/blob/main/ACKNOWLEDGMENT.md
39 : !!!!
40 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
41 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
42 :
43 : !> \brief This is main entry to the tests of the ParaMonte kernel library.
44 : !> \author Amir Shahmoradi
45 :
46 3 : program main
47 :
48 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49 :
50 : !block
51 : ! use iso_fortran_env, only: IK=>int32, RK=>real64
52 : ! use Timer_mod, only: Timer_type
53 : ! integer(IK) :: i
54 : ! real(RK) :: unifrnd(10**7)
55 : ! type(Timer_type) :: Timer
56 : ! call Timer%tic()
57 : ! do i = 1, 10**7
58 : ! call random_number(Unifrnd(i))
59 : ! end do
60 : ! call Timer%toc()
61 : ! write(*,*) sum(Unifrnd), Timer%Time%delta
62 : !end block
63 : !stop
64 :
65 : ! result: 5000444.27932245 0.147000074386597 in debug mode
66 :
67 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
68 :
69 3 : use Test_mod, only: setup, finalize
70 :
71 3 : call setup()
72 :
73 : #if defined BASIC_TEST_ENABLED
74 3 : block; use Test_BandSpectrum_mod; call test_BandSpectrum(); end block
75 3 : block; use Test_Batse_mod; call test_Batse(); end block
76 3 : block; use Test_Constants_mod; call test_Constants(); end block
77 3 : block; use Test_CorrCoef_mod; call test_CorrCoef(); end block
78 3 : block; use Test_Cosmology_mod; call test_Cosmology(); end block
79 3 : block; use Test_CrossCorr_mod; call test_CrossCorr(); end block
80 3 : block; use Test_DateTime_mod; call test_DateTime(); end block
81 3 : block; use Test_Decoration_mod; call test_Decoration(); end block
82 3 : block; use Test_Err_mod; call test_Err(); end block
83 3 : block; use Test_File_mod; call test_File(); end block
84 3 : block; use Test_FileContents_mod; call test_FileContents(); end block
85 3 : block; use Test_FileList_mod; call test_FileList(); end block
86 3 : block; use Test_Integration_mod; call test_Integration(); end block
87 3 : block; use Test_Math_mod; call test_Math(); end block
88 3 : block; use Test_Matrix_mod; call test_Matrix(); end block
89 3 : block; use Test_Misc_mod; call test_Misc(); end block
90 3 : block; use Test_Optimization_mod; call test_Optimization(); end block
91 3 : block; use Test_Parallelism_mod; call test_Parallelism(); end block
92 3 : block; use Test_Path_mod; call test_Path(); end block
93 3 : block; use Test_RandomSeed_mod; call test_RandomSeed(); end block
94 3 : block; use Test_Sort_mod; call test_Sort(); end block
95 3 : block; use Test_StarFormation_mod; call test_StarFormation(); end block
96 3 : block; use Test_Statistics_mod; call test_Statistics(); end block
97 3 : block; use Test_GeoCyclicFit_mod; call test_GeoCyclicFit(); end block
98 3 : block; use Test_String_mod; call test_String(); end block
99 3 : block; use Test_System_mod; call test_System(); end block
100 3 : block; use Test_Timer_mod; call test_Timer(); end block
101 3 : block; use Test_TimerCPU_mod; call test_TimerCPU(); end block
102 3 : block; use Test_TranGaus_mod; call test_TranGaus(); end block
103 : #endif
104 :
105 : #if defined SAMPLER_TEST_ENABLED
106 3 : block; use Test_ParaDRAM_mod; call test_ParaDRAM(); end block
107 3 : block; use Test_ParaDISE_mod; call test_ParaDISE(); end block
108 3 : block; use Test_ParaMCMCRefinedChain_mod; call test_ParaMCMCRefinedChain(); end block
109 3 : block; use Test_ParaMonteChainFileContents_mod; call test_ParaMonteChainFileContents(); end block
110 : #endif
111 :
112 3 : call finalize()
113 :
114 3 : end program main
|