cmake: more necessary files added. Still a lot of testing needed.
This commit is contained in:
parent
923b3c493f
commit
aa2cc9ddd2
@ -1,6 +1,5 @@
|
|||||||
#--- add further sub-directories ----------------------------------------------
|
#--- add further sub-directories ----------------------------------------------
|
||||||
add_subdirectory(classes)
|
add_subdirectory(classes)
|
||||||
#[==[
|
|
||||||
add_subdirectory(external)
|
add_subdirectory(external)
|
||||||
if (Qt5Core_FOUND)
|
if (Qt5Core_FOUND)
|
||||||
add_subdirectory(musredit_qt5)
|
add_subdirectory(musredit_qt5)
|
||||||
@ -9,7 +8,6 @@ elseif (Qt4_FOUND)
|
|||||||
elseif (QT_FOUND)
|
elseif (QT_FOUND)
|
||||||
add_subdirectory(musrgui)
|
add_subdirectory(musrgui)
|
||||||
endif (Qt5Core_FOUND)
|
endif (Qt5Core_FOUND)
|
||||||
#]==]
|
|
||||||
|
|
||||||
#--- define the musrfit libs --------------------------------------------------
|
#--- define the musrfit libs --------------------------------------------------
|
||||||
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} mud)
|
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} mud)
|
||||||
|
42
src/external/BMWtools/BMWIntegrator.cpp
vendored
42
src/external/BMWtools/BMWIntegrator.cpp
vendored
@ -31,6 +31,7 @@
|
|||||||
#include "cuba.h"
|
#include "cuba.h"
|
||||||
|
|
||||||
#define USERDATA NULL
|
#define USERDATA NULL
|
||||||
|
#define SPIN NULL
|
||||||
#define SEED 0
|
#define SEED 0
|
||||||
#define STATEFILE NULL
|
#define STATEFILE NULL
|
||||||
|
|
||||||
@ -45,6 +46,7 @@ std::vector<double> TDWaveGapIntegralCuhre::fPar;
|
|||||||
double TDWaveGapIntegralCuhre::IntegrateFunc()
|
double TDWaveGapIntegralCuhre::IntegrateFunc()
|
||||||
{
|
{
|
||||||
const unsigned int NCOMP(1);
|
const unsigned int NCOMP(1);
|
||||||
|
const unsigned int NVEC(1);
|
||||||
const double EPSREL (1e-4);
|
const double EPSREL (1e-4);
|
||||||
const double EPSABS (1e-6);
|
const double EPSABS (1e-6);
|
||||||
const unsigned int VERBOSE (0);
|
const unsigned int VERBOSE (0);
|
||||||
@ -57,9 +59,9 @@ double TDWaveGapIntegralCuhre::IntegrateFunc()
|
|||||||
int nregions, neval, fail;
|
int nregions, neval, fail;
|
||||||
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
||||||
|
|
||||||
Cuhre(fNDim, NCOMP, Integrand, USERDATA,
|
Cuhre(fNDim, NCOMP, Integrand, USERDATA, NVEC,
|
||||||
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
|
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
|
||||||
KEY, STATEFILE,
|
KEY, STATEFILE, SPIN,
|
||||||
&nregions, &neval, &fail, integral, error, prob);
|
&nregions, &neval, &fail, integral, error, prob);
|
||||||
|
|
||||||
return integral[0];
|
return integral[0];
|
||||||
@ -96,6 +98,7 @@ std::vector<double> TCosSqDWaveGapIntegralCuhre::fPar;
|
|||||||
double TCosSqDWaveGapIntegralCuhre::IntegrateFunc()
|
double TCosSqDWaveGapIntegralCuhre::IntegrateFunc()
|
||||||
{
|
{
|
||||||
const unsigned int NCOMP(1);
|
const unsigned int NCOMP(1);
|
||||||
|
const unsigned int NVEC(1);
|
||||||
const double EPSREL (1e-8);
|
const double EPSREL (1e-8);
|
||||||
const double EPSABS (1e-6);
|
const double EPSABS (1e-6);
|
||||||
const unsigned int VERBOSE (0);
|
const unsigned int VERBOSE (0);
|
||||||
@ -108,9 +111,9 @@ double TCosSqDWaveGapIntegralCuhre::IntegrateFunc()
|
|||||||
int nregions, neval, fail;
|
int nregions, neval, fail;
|
||||||
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
||||||
|
|
||||||
Cuhre(fNDim, NCOMP, Integrand, USERDATA,
|
Cuhre(fNDim, NCOMP, Integrand, USERDATA, NVEC,
|
||||||
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
|
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
|
||||||
KEY, STATEFILE,
|
KEY, STATEFILE, SPIN,
|
||||||
&nregions, &neval, &fail, integral, error, prob);
|
&nregions, &neval, &fail, integral, error, prob);
|
||||||
|
|
||||||
return integral[0];
|
return integral[0];
|
||||||
@ -147,6 +150,7 @@ std::vector<double> TSinSqDWaveGapIntegralCuhre::fPar;
|
|||||||
double TSinSqDWaveGapIntegralCuhre::IntegrateFunc()
|
double TSinSqDWaveGapIntegralCuhre::IntegrateFunc()
|
||||||
{
|
{
|
||||||
const unsigned int NCOMP(1);
|
const unsigned int NCOMP(1);
|
||||||
|
const unsigned int NVEC(1);
|
||||||
const double EPSREL (1e-8);
|
const double EPSREL (1e-8);
|
||||||
const double EPSABS (1e-10);
|
const double EPSABS (1e-10);
|
||||||
const unsigned int VERBOSE (0);
|
const unsigned int VERBOSE (0);
|
||||||
@ -159,9 +163,9 @@ double TSinSqDWaveGapIntegralCuhre::IntegrateFunc()
|
|||||||
int nregions, neval, fail;
|
int nregions, neval, fail;
|
||||||
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
||||||
|
|
||||||
Cuhre(fNDim, NCOMP, Integrand, USERDATA,
|
Cuhre(fNDim, NCOMP, Integrand, USERDATA, NVEC,
|
||||||
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
|
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
|
||||||
KEY, STATEFILE,
|
KEY, STATEFILE, SPIN,
|
||||||
&nregions, &neval, &fail, integral, error, prob);
|
&nregions, &neval, &fail, integral, error, prob);
|
||||||
|
|
||||||
return integral[0];
|
return integral[0];
|
||||||
@ -198,6 +202,7 @@ std::vector<double> TAnSWaveGapIntegralCuhre::fPar;
|
|||||||
double TAnSWaveGapIntegralCuhre::IntegrateFunc()
|
double TAnSWaveGapIntegralCuhre::IntegrateFunc()
|
||||||
{
|
{
|
||||||
const unsigned int NCOMP(1);
|
const unsigned int NCOMP(1);
|
||||||
|
const unsigned int NVEC(1);
|
||||||
const double EPSREL (1e-4);
|
const double EPSREL (1e-4);
|
||||||
const double EPSABS (1e-6);
|
const double EPSABS (1e-6);
|
||||||
const unsigned int VERBOSE (0);
|
const unsigned int VERBOSE (0);
|
||||||
@ -210,9 +215,9 @@ double TAnSWaveGapIntegralCuhre::IntegrateFunc()
|
|||||||
int nregions, neval, fail;
|
int nregions, neval, fail;
|
||||||
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
||||||
|
|
||||||
Cuhre(fNDim, NCOMP, Integrand, USERDATA,
|
Cuhre(fNDim, NCOMP, Integrand, USERDATA, NVEC,
|
||||||
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
|
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
|
||||||
KEY, STATEFILE,
|
KEY, STATEFILE, SPIN,
|
||||||
&nregions, &neval, &fail, integral, error, prob);
|
&nregions, &neval, &fail, integral, error, prob);
|
||||||
|
|
||||||
return integral[0];
|
return integral[0];
|
||||||
@ -249,6 +254,7 @@ std::vector<double> TAnSWaveGapIntegralDivonne::fPar;
|
|||||||
double TAnSWaveGapIntegralDivonne::IntegrateFunc()
|
double TAnSWaveGapIntegralDivonne::IntegrateFunc()
|
||||||
{
|
{
|
||||||
const unsigned int NCOMP(1);
|
const unsigned int NCOMP(1);
|
||||||
|
const unsigned int NVEC(1);
|
||||||
const double EPSREL (1e-4);
|
const double EPSREL (1e-4);
|
||||||
const double EPSABS (1e-6);
|
const double EPSABS (1e-6);
|
||||||
const unsigned int VERBOSE (0);
|
const unsigned int VERBOSE (0);
|
||||||
@ -268,10 +274,10 @@ double TAnSWaveGapIntegralDivonne::IntegrateFunc()
|
|||||||
int nregions, neval, fail;
|
int nregions, neval, fail;
|
||||||
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
||||||
|
|
||||||
Divonne(fNDim, NCOMP, Integrand, USERDATA,
|
Divonne(fNDim, NCOMP, Integrand, USERDATA, NVEC,
|
||||||
EPSREL, EPSABS, VERBOSE, SEED, MINEVAL, MAXEVAL,
|
EPSREL, EPSABS, VERBOSE, SEED, MINEVAL, MAXEVAL,
|
||||||
KEY1, KEY2, KEY3, MAXPASS, BORDER, MAXCHISQ, MINDEVIATION,
|
KEY1, KEY2, KEY3, MAXPASS, BORDER, MAXCHISQ, MINDEVIATION,
|
||||||
NGIVEN, LDXGIVEN, NULL, NEXTRA, NULL, STATEFILE,
|
NGIVEN, LDXGIVEN, NULL, NEXTRA, NULL, STATEFILE, SPIN,
|
||||||
&nregions, &neval, &fail, integral, error, prob);
|
&nregions, &neval, &fail, integral, error, prob);
|
||||||
|
|
||||||
return integral[0];
|
return integral[0];
|
||||||
@ -308,6 +314,7 @@ std::vector<double> TAnSWaveGapIntegralSuave::fPar;
|
|||||||
double TAnSWaveGapIntegralSuave::IntegrateFunc()
|
double TAnSWaveGapIntegralSuave::IntegrateFunc()
|
||||||
{
|
{
|
||||||
const unsigned int NCOMP(1);
|
const unsigned int NCOMP(1);
|
||||||
|
const unsigned int NVEC(1);
|
||||||
const double EPSREL (1e-4);
|
const double EPSREL (1e-4);
|
||||||
const double EPSABS (1e-6);
|
const double EPSABS (1e-6);
|
||||||
const unsigned int VERBOSE (0);
|
const unsigned int VERBOSE (0);
|
||||||
@ -316,14 +323,15 @@ double TAnSWaveGapIntegralSuave::IntegrateFunc()
|
|||||||
const unsigned int MAXEVAL (1000000);
|
const unsigned int MAXEVAL (1000000);
|
||||||
|
|
||||||
const unsigned int NNEW (1000);
|
const unsigned int NNEW (1000);
|
||||||
|
const unsigned int NMIN (2);
|
||||||
const double FLATNESS (25.);
|
const double FLATNESS (25.);
|
||||||
|
|
||||||
int nregions, neval, fail;
|
int nregions, neval, fail;
|
||||||
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
||||||
|
|
||||||
Suave(fNDim, NCOMP, Integrand, USERDATA,
|
Suave(fNDim, NCOMP, Integrand, USERDATA, NVEC,
|
||||||
EPSREL, EPSABS, VERBOSE | LAST, SEED, MINEVAL, MAXEVAL,
|
EPSREL, EPSABS, VERBOSE | LAST, SEED, MINEVAL, MAXEVAL,
|
||||||
NNEW, FLATNESS, STATEFILE,
|
NNEW, NMIN, FLATNESS, STATEFILE, SPIN,
|
||||||
&nregions, &neval, &fail, integral, error, prob);
|
&nregions, &neval, &fail, integral, error, prob);
|
||||||
|
|
||||||
return integral[0];
|
return integral[0];
|
||||||
@ -360,6 +368,7 @@ std::vector<double> TNonMonDWave1GapIntegralCuhre::fPar;
|
|||||||
double TNonMonDWave1GapIntegralCuhre::IntegrateFunc()
|
double TNonMonDWave1GapIntegralCuhre::IntegrateFunc()
|
||||||
{
|
{
|
||||||
const unsigned int NCOMP(1);
|
const unsigned int NCOMP(1);
|
||||||
|
const unsigned int NVEC(1);
|
||||||
const double EPSREL (1e-4);
|
const double EPSREL (1e-4);
|
||||||
const double EPSABS (1e-6);
|
const double EPSABS (1e-6);
|
||||||
const unsigned int VERBOSE (0);
|
const unsigned int VERBOSE (0);
|
||||||
@ -372,9 +381,9 @@ double TNonMonDWave1GapIntegralCuhre::IntegrateFunc()
|
|||||||
int nregions, neval, fail;
|
int nregions, neval, fail;
|
||||||
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
||||||
|
|
||||||
Cuhre(fNDim, NCOMP, Integrand, USERDATA,
|
Cuhre(fNDim, NCOMP, Integrand, USERDATA, NVEC,
|
||||||
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
|
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
|
||||||
KEY, STATEFILE,
|
KEY, STATEFILE, SPIN,
|
||||||
&nregions, &neval, &fail, integral, error, prob);
|
&nregions, &neval, &fail, integral, error, prob);
|
||||||
|
|
||||||
return integral[0];
|
return integral[0];
|
||||||
@ -411,6 +420,7 @@ std::vector<double> TNonMonDWave2GapIntegralCuhre::fPar;
|
|||||||
double TNonMonDWave2GapIntegralCuhre::IntegrateFunc()
|
double TNonMonDWave2GapIntegralCuhre::IntegrateFunc()
|
||||||
{
|
{
|
||||||
const unsigned int NCOMP(1);
|
const unsigned int NCOMP(1);
|
||||||
|
const unsigned int NVEC(1);
|
||||||
const double EPSREL (1e-4);
|
const double EPSREL (1e-4);
|
||||||
const double EPSABS (1e-6);
|
const double EPSABS (1e-6);
|
||||||
const unsigned int VERBOSE (0);
|
const unsigned int VERBOSE (0);
|
||||||
@ -423,9 +433,9 @@ double TNonMonDWave2GapIntegralCuhre::IntegrateFunc()
|
|||||||
int nregions, neval, fail;
|
int nregions, neval, fail;
|
||||||
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
double integral[NCOMP], error[NCOMP], prob[NCOMP];
|
||||||
|
|
||||||
Cuhre(fNDim, NCOMP, Integrand, USERDATA,
|
Cuhre(fNDim, NCOMP, Integrand, USERDATA, NVEC,
|
||||||
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
|
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
|
||||||
KEY, STATEFILE,
|
KEY, STATEFILE, SPIN,
|
||||||
&nregions, &neval, &fail, integral, error, prob);
|
&nregions, &neval, &fail, integral, error, prob);
|
||||||
|
|
||||||
return integral[0];
|
return integral[0];
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
// root dictionary stuff --------------------------------------------------
|
// root dictionary stuff --------------------------------------------------
|
||||||
#ifdef __CLING__
|
#ifdef __CINT__
|
||||||
|
|
||||||
#pragma link off all globals;
|
#pragma link off all globals;
|
||||||
#pragma link off all classes;
|
#pragma link off all classes;
|
||||||
@ -35,6 +35,6 @@
|
|||||||
|
|
||||||
#pragma link C++ class BMWStartupHandler+;
|
#pragma link C++ class BMWStartupHandler+;
|
||||||
|
|
||||||
#endif //__CLING__
|
#endif //__CINT__
|
||||||
// root dictionary stuff --------------------------------------------------
|
// root dictionary stuff --------------------------------------------------
|
||||||
|
|
||||||
|
70
src/external/BMWtools/CMakeLists.txt
vendored
Normal file
70
src/external/BMWtools/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
# - BMWtools library ----------------------------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
|
||||||
|
set(CUBA_INC ${CMAKE_SOURCE_DIR}/src/external/libCuba/src)
|
||||||
|
|
||||||
|
root_generate_dictionary(
|
||||||
|
BMWStartupHandlerDict
|
||||||
|
-I${MUSRFIT_INC}
|
||||||
|
BMWStartupHandler.h
|
||||||
|
LINKDEF BMWStartupHandlerLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
#[==[ //as35 for now do not create a pkgconfig file
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(BMW_TOOLS_VERSION "1.0.0")
|
||||||
|
set(BMW_TOOLS_LIBRARY_NAME "BMWtools")
|
||||||
|
configure_file("BMWtools.pc.in" "BMWtools.pc" @ONLY)
|
||||||
|
#]==]
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(BMWtools SHARED
|
||||||
|
BMWStartupHandler.cpp
|
||||||
|
BMWStartupHandlerDict.cxx
|
||||||
|
TTrimSPDataHandler.cpp
|
||||||
|
BMWIntegrator.cpp
|
||||||
|
)
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
BMWtools BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CUBA_INC}>
|
||||||
|
$<BUILD_INTERFACE:${MUSRFIT_INC}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
target_link_libraries(BMWtools ${ROOT_LIBRARIES} cuba)
|
||||||
|
|
||||||
|
#--- install BMWtools solib ---------------------------------------------------
|
||||||
|
install(TARGETS BMWtools DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libBMWStartupHandlerDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libBMWStartupHandlerDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install BMWtools header --------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
BMWStartupHandler.h
|
||||||
|
TTrimSPDataHandler.h
|
||||||
|
BMWIntegrator.h
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
#[==[ //as35 for now do not install a pkgconfig file
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/BMWtools.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
||||||
|
#]==]
|
26
src/external/CMakeLists.txt
vendored
Normal file
26
src/external/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
if (ASlibs)
|
||||||
|
add_subdirectory(Nonlocal)
|
||||||
|
add_subdirectory(MagProximity)
|
||||||
|
add_subdirectory(libPhotoMeissner)
|
||||||
|
add_subdirectory(libSpinValve)
|
||||||
|
endif (ASlibs)
|
||||||
|
|
||||||
|
if (BMWlibs)
|
||||||
|
add_subdirectory(libCuba)
|
||||||
|
add_subdirectory(BMWtools)
|
||||||
|
add_subdirectory(libCalcMeanFieldsLEM)
|
||||||
|
add_subdirectory(libFitPofB)
|
||||||
|
add_subdirectory(libGapIntegrals)
|
||||||
|
add_subdirectory(libLFRelaxation)
|
||||||
|
add_subdirectory(libZFRelaxation)
|
||||||
|
endif (BMWlibs)
|
||||||
|
|
||||||
|
add_subdirectory(mud)
|
||||||
|
add_subdirectory(MusrRoot)
|
||||||
|
add_subdirectory(TLemRunHeader)
|
||||||
|
add_subdirectory(MuSR_software)
|
||||||
|
|
||||||
|
if (nexus)
|
||||||
|
add_subdirectory(nexus)
|
||||||
|
endif (nexus)
|
||||||
|
|
73
src/external/MagProximity/CMakeLists.txt
vendored
Normal file
73
src/external/MagProximity/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
# - Mag. Proximity library ----------------------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
|
||||||
|
root_generate_dictionary(
|
||||||
|
PMagProximityFitterDict
|
||||||
|
-I${FFTW3_INCLUDE}
|
||||||
|
-I${MUSRFIT_INC}
|
||||||
|
PMagProximityFitter.h
|
||||||
|
LINKDEF PMagProximityFitterLinkDef.h
|
||||||
|
)
|
||||||
|
root_generate_dictionary(
|
||||||
|
PMPStartupHandlerDict PMPStartupHandler.h LINKDEF PMPStartupHandlerLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(PNL_PIPPARDFITTER_VERSION "1.0.0")
|
||||||
|
set(PNL_PIPPARDFITTER_LIBRARY_NAME "PMagProximityFitter")
|
||||||
|
configure_file("PMagProximityFitter.pc.in" "PMagProximityFitter.pc" @ONLY)
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(PMagProximityFitter SHARED
|
||||||
|
PMagProximityFitter.cpp
|
||||||
|
PMagProximityFitterDict.cxx
|
||||||
|
PMPRgeHandler.cpp
|
||||||
|
PMPStartupHandler.cpp
|
||||||
|
PMPStartupHandlerDict.cxx
|
||||||
|
)
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
PMagProximityFitter BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${MUSRFIT_INC}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
target_link_libraries(PMagProximityFitter ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase)
|
||||||
|
|
||||||
|
#--- install PMagProximityFitter solib ----------------------------------------
|
||||||
|
install(TARGETS PMagProximityFitter DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libPMagProximityFitterDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPMagProximityFitterDict.rootmap
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPMPStartupHandlerDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPMPStartupHandlerDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install PMagProximityFitter header ---------------------------------------
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
PMagProximity.h
|
||||||
|
PMagProximityFitter.h
|
||||||
|
PMPRgeHandler.h
|
||||||
|
PMPStartupHandler.h
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/PMagProximityFitter.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
||||||
|
|
||||||
|
|
10
src/external/MagProximity/PMagProximityFitter.pc.in
vendored
Normal file
10
src/external/MagProximity/PMagProximityFitter.pc.in
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
|
Name: PMagProximityFitter
|
||||||
|
Description: C++ shared library providing the mag. proximity fitter class
|
||||||
|
Version: @P_MAG_PROXIMITY_FITTER_VERSION@
|
||||||
|
Libs: -L${libdir} -l@P_MAG_PROXIMITY_FITTER_LIBRARY_NAME@
|
||||||
|
Cflags: -I${includedir}
|
1
src/external/MuSR_software/CMakeLists.txt
vendored
Normal file
1
src/external/MuSR_software/CMakeLists.txt
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
add_subdirectory(Class_MuSR_PSI)
|
34
src/external/MuSR_software/Class_MuSR_PSI/CMakeLists.txt
vendored
Normal file
34
src/external/MuSR_software/Class_MuSR_PSI/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# - Class_MuSR_PSI library ----------------------------------------------------
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(PSIBIN_VERSION "0.1.0")
|
||||||
|
set(PSIBIN_LIBRARY_NAME "Class_MuSR_PSI")
|
||||||
|
configure_file("Class_MuSR_PSI.pc.in" "Class_MuSR_PSI.pc" @ONLY)
|
||||||
|
|
||||||
|
#--- OS dependent pre-compiler settings for PSI-BIN ---------------------------
|
||||||
|
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||||
|
add_definitions(-D__linux__)
|
||||||
|
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||||
|
add_definitions(-D_Darwin_)
|
||||||
|
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||||
|
add_definitions(-D_WIN32)
|
||||||
|
endif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(Class_MuSR_PSI SHARED MuSR_td_PSI_bin.cpp)
|
||||||
|
|
||||||
|
#--- install Class_MuSR_PSI solib ---------------------------------------------
|
||||||
|
install(TARGETS Class_MuSR_PSI DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install MuSR_td_PSI_bin header -------------------------------------------
|
||||||
|
install(FILES MuSR_td_PSI_bin.h DESTINATION include)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/Class_MuSR_PSI.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
47
src/external/MusrRoot/CMakeLists.txt
vendored
Normal file
47
src/external/MusrRoot/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# - TMusrRunHeader library ----------------------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
root_generate_dictionary(
|
||||||
|
TMusrRunHeaderDict TMusrRunHeader.h LINKDEF TMusrRunHeaderLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(MUSR_ROOT_VERSION "1.0.0")
|
||||||
|
set(MUSR_ROOT_LIBRARY_NAME "TMusrRunHeader")
|
||||||
|
configure_file("TMusrRunHeader.pc.in" "TMusrRunHeader.pc" @ONLY)
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(TMusrRunHeader SHARED
|
||||||
|
TMusrRunHeader.cpp
|
||||||
|
TMusrRunHeaderDict.cxx
|
||||||
|
)
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
TMusrRunHeader BEFORE PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
target_link_libraries(TMusrRunHeader ${ROOT_LIBRARIES})
|
||||||
|
|
||||||
|
#--- install TMusrRunHeader solib ---------------------------------------------
|
||||||
|
install(TARGETS TMusrRunHeader DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libTMusrRunHeaderDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libTMusrRunHeaderDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install TMusrRunHeader header --------------------------------------------
|
||||||
|
install(FILES TMusrRunHeader.h DESTINATION include)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/TMusrRunHeader.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
71
src/external/Nonlocal/CMakeLists.txt
vendored
Normal file
71
src/external/Nonlocal/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
# - Nonlocal library ----------------------------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
|
||||||
|
|
||||||
|
root_generate_dictionary(
|
||||||
|
PNL_PippardFitterDict
|
||||||
|
-I${FFTW3_INCLUDE_DIR}
|
||||||
|
-I${MUSRFIT_INC}
|
||||||
|
PNL_PippardFitter.h
|
||||||
|
LINKDEF PNL_PippardFitterLinkDef.h
|
||||||
|
)
|
||||||
|
root_generate_dictionary(
|
||||||
|
PNL_StartupHandlerDict PNL_StartupHandler.h LINKDEF PNL_StartupHandlerLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(PNL_PIPPARDFITTER_VERSION "1.0.0")
|
||||||
|
set(PNL_PIPPARDFITTER_LIBRARY_NAME "PNL_PippardFitter")
|
||||||
|
configure_file("PNL_PippardFitter.pc.in" "PNL_PippardFitter.pc" @ONLY)
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(PNL_PippardFitter SHARED
|
||||||
|
PNL_PippardFitter.cpp
|
||||||
|
PNL_PippardFitterDict.cxx
|
||||||
|
PNL_RgeHandler.cpp
|
||||||
|
PNL_StartupHandler.cpp
|
||||||
|
PNL_StartupHandlerDict.cxx
|
||||||
|
)
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
PNL_PippardFitter BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${MUSRFIT_INC}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
target_link_libraries(PNL_PippardFitter ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase)
|
||||||
|
|
||||||
|
#--- install PNL_PippardFitter solib ------------------------------------------
|
||||||
|
install(TARGETS PNL_PippardFitter DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libPNL_PippardFitterDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPNL_PippardFitterDict.rootmap
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPNL_StartupHandlerDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPNL_StartupHandlerDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install PNL_PippardFitter header -----------------------------------------
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
PNL_PippardFitter.h
|
||||||
|
PNL_RgeHandler.h
|
||||||
|
PNL_StartupHandler.h
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/PNL_PippardFitter.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
10
src/external/Nonlocal/PNL_PippardFitter.pc.in
vendored
Normal file
10
src/external/Nonlocal/PNL_PippardFitter.pc.in
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
|
Name: PNL_PippardFitter
|
||||||
|
Description: C++ shared library providing the nonlocal sc fitter class
|
||||||
|
Version: @PNL_PIPPARDFITTER_VERSION@
|
||||||
|
Libs: -L${libdir} -l@PNL_PIPPARDFITTER_LIBRARY_NAME@
|
||||||
|
Cflags: -I${includedir}
|
54
src/external/TLemRunHeader/CMakeLists.txt
vendored
Normal file
54
src/external/TLemRunHeader/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# -TLemRunHeader library ------------------------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
root_generate_dictionary(
|
||||||
|
TLemRunHeaderDict TLemRunHeader.h LINKDEF TLemRunHeaderLinkDef.h
|
||||||
|
)
|
||||||
|
root_generate_dictionary(
|
||||||
|
TLemStatsDict TLemStats.h LINKDEF TLemStatsLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(LEM_VERSION "1.5.0")
|
||||||
|
set(LEM_LIBRARY_NAME "TLemRunHeader")
|
||||||
|
configure_file("TLemRunHeader.pc.in" "TLemRunHeader.pc" @ONLY)
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(TLemRunHeader SHARED
|
||||||
|
TLemRunHeader.cxx
|
||||||
|
TLemRunHeaderDict.cxx
|
||||||
|
TLemStats.cxx
|
||||||
|
TLemStatsDict.cxx
|
||||||
|
)
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
TLemRunHeader BEFORE PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
target_link_libraries(TLemRunHeader ${ROOT_LIBRARIES})
|
||||||
|
|
||||||
|
#--- install TLemRunHeader solib ----------------------------------------------
|
||||||
|
install(TARGETS TLemRunHeader DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libTLemRunHeaderDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libTLemRunHeaderDict.rootmap
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libTLemStatsDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libTLemStatsDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install headers ----------------------------------------------------------
|
||||||
|
install(FILES TLemRunHeader.h TLemStats.h DESTINATION include)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/TLemRunHeader.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
74
src/external/libCalcMeanFieldsLEM/CMakeLists.txt
vendored
Normal file
74
src/external/libCalcMeanFieldsLEM/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# - libCalcMeanFieldsLEM library ----------------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
|
||||||
|
set(BMW_TOOLS_INC ${CMAKE_SOURCE_DIR}/src/external/BMWtools)
|
||||||
|
set(POFB_INC ${CMAKE_SOURCE_DIR}/src/external/libFitPofB/include)
|
||||||
|
|
||||||
|
root_generate_dictionary(
|
||||||
|
TCalcMeanFieldsLEMDict
|
||||||
|
-I${FFTW3_INCLUDE_DIR}
|
||||||
|
-I${MUSRFIT_INC}
|
||||||
|
-I${BMW_TOOLS_INC}
|
||||||
|
-I${POFB_INC}
|
||||||
|
TCalcMeanFieldsLEM.h
|
||||||
|
LINKDEF TCalcMeanFieldsLEMLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
#[==[ //as35 for now do not create a pkgconfig file
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(T_CALC_MEAN_FIELD_LEM_VERSION "1.0.0")
|
||||||
|
set(T_CALC_MEAN_FIELD_LEM_LIBRARY_NAME "TCalcMeanFieldsLEM")
|
||||||
|
configure_file("TCalcMeanFieldsLEM.pc.in" "TCalcMeanFieldsLEM.pc" @ONLY)
|
||||||
|
#]==]
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(CalcMeanFieldsLEM SHARED
|
||||||
|
TCalcMeanFieldsLEM.cpp
|
||||||
|
TCalcMeanFieldsLEMDict.cxx
|
||||||
|
)
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
CalcMeanFieldsLEM BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${MUSRFIT_INC}>
|
||||||
|
$<BUILD_INTERFACE:${BMW_TOOLS_INC}>
|
||||||
|
$<BUILD_INTERFACE:${POFB_INC}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
target_link_libraries(CalcMeanFieldsLEM
|
||||||
|
${FFTW3_LIBRARY} ${ROOT_LIBRARIES} BMWtools FitPofB PUserFcnBase
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install CalcMeanFieldsLEM solib ------------------------------------------
|
||||||
|
install(TARGETS CalcMeanFieldsLEM DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libTCalcMeanFieldsLEMDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libTCalcMeanFieldsLEMDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install CalcMeanFieldsLEM header -----------------------------------------
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
TCalcMeanFieldsLEM.h
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
#[==[ //as35 for now do not install a pkgconfig file
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/TCalcMeanFieldsLEM.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
||||||
|
#]==]
|
||||||
|
|
1
src/external/libCuba/CMakeLists.txt
vendored
Normal file
1
src/external/libCuba/CMakeLists.txt
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
add_subdirectory(src)
|
42
src/external/libCuba/src/CMakeLists.txt
vendored
Normal file
42
src/external/libCuba/src/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# - cuba library --------------------------------------------------------------
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(CUBA_VERSION "4.2.0")
|
||||||
|
set(CUBA_LIBRARY_NAME "cuba")
|
||||||
|
configure_file("cuba.pc.in" "cuba.pc" @ONLY)
|
||||||
|
|
||||||
|
add_subdirectory(common)
|
||||||
|
add_subdirectory(cuhre)
|
||||||
|
add_subdirectory(divonne)
|
||||||
|
add_subdirectory(suave)
|
||||||
|
add_subdirectory(vegas)
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(cuba SHARED
|
||||||
|
$<TARGET_OBJECTS:common>
|
||||||
|
$<TARGET_OBJECTS:cuhre>
|
||||||
|
$<TARGET_OBJECTS:divonne>
|
||||||
|
$<TARGET_OBJECTS:suave>
|
||||||
|
$<TARGET_OBJECTS:vegas>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install cuba solib -------------------------------------------------------
|
||||||
|
install(TARGETS cuba DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install cuba header ------------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
cuba.h
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/cuba.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
912
src/external/libCuba/src/Makefile
vendored
Normal file
912
src/external/libCuba/src/Makefile
vendored
Normal file
@ -0,0 +1,912 @@
|
|||||||
|
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||||
|
# src/external/libCuba/src/Makefile. Generated from Makefile.in by configure.
|
||||||
|
|
||||||
|
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
am__is_gnu_make = { \
|
||||||
|
if test -z '$(MAKELEVEL)'; then \
|
||||||
|
false; \
|
||||||
|
elif test -n '$(MAKE_HOST)'; then \
|
||||||
|
true; \
|
||||||
|
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||||
|
true; \
|
||||||
|
else \
|
||||||
|
false; \
|
||||||
|
fi; \
|
||||||
|
}
|
||||||
|
am__make_running_with_option = \
|
||||||
|
case $${target_option-} in \
|
||||||
|
?) ;; \
|
||||||
|
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||||
|
"target option '$${target_option-}' specified" >&2; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
has_opt=no; \
|
||||||
|
sane_makeflags=$$MAKEFLAGS; \
|
||||||
|
if $(am__is_gnu_make); then \
|
||||||
|
sane_makeflags=$$MFLAGS; \
|
||||||
|
else \
|
||||||
|
case $$MAKEFLAGS in \
|
||||||
|
*\\[\ \ ]*) \
|
||||||
|
bs=\\; \
|
||||||
|
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||||
|
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||||
|
esac; \
|
||||||
|
fi; \
|
||||||
|
skip_next=no; \
|
||||||
|
strip_trailopt () \
|
||||||
|
{ \
|
||||||
|
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||||
|
}; \
|
||||||
|
for flg in $$sane_makeflags; do \
|
||||||
|
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||||
|
case $$flg in \
|
||||||
|
*=*|--*) continue;; \
|
||||||
|
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||||
|
-*I?*) strip_trailopt 'I';; \
|
||||||
|
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||||
|
-*O?*) strip_trailopt 'O';; \
|
||||||
|
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||||
|
-*l?*) strip_trailopt 'l';; \
|
||||||
|
-[dEDm]) skip_next=yes;; \
|
||||||
|
-[JT]) skip_next=yes;; \
|
||||||
|
esac; \
|
||||||
|
case $$flg in \
|
||||||
|
*$$target_option*) has_opt=yes; break;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
test $$has_opt = yes
|
||||||
|
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||||
|
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||||
|
pkgdatadir = $(datadir)/musrfit
|
||||||
|
pkgincludedir = $(includedir)/musrfit
|
||||||
|
pkglibdir = $(libdir)/musrfit
|
||||||
|
pkglibexecdir = $(libexecdir)/musrfit
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
build_triplet = x86_64-apple-darwin17.5.0
|
||||||
|
host_triplet = x86_64-apple-darwin17.5.0
|
||||||
|
subdir = src/external/libCuba/src
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
||||||
|
$(top_srcdir)/configure.ac
|
||||||
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
|
$(ACLOCAL_M4)
|
||||||
|
DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \
|
||||||
|
$(am__DIST_COMMON)
|
||||||
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
|
CONFIG_CLEAN_FILES = cuba.pc
|
||||||
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
|
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||||
|
am__vpath_adj = case $$p in \
|
||||||
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||||
|
*) f=$$p;; \
|
||||||
|
esac;
|
||||||
|
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||||
|
am__install_max = 40
|
||||||
|
am__nobase_strip_setup = \
|
||||||
|
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||||
|
am__nobase_strip = \
|
||||||
|
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||||
|
am__nobase_list = $(am__nobase_strip_setup); \
|
||||||
|
for p in $$list; do echo "$$p $$p"; done | \
|
||||||
|
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||||
|
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||||
|
if (++n[$$2] == $(am__install_max)) \
|
||||||
|
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||||
|
END { for (dir in files) print dir, files[dir] }'
|
||||||
|
am__base_list = \
|
||||||
|
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||||
|
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||||
|
am__uninstall_files_from_dir = { \
|
||||||
|
test -z "$$files" \
|
||||||
|
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||||
|
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||||
|
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||||
|
}
|
||||||
|
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
|
||||||
|
"$(DESTDIR)$(includedir)"
|
||||||
|
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||||
|
libcuba_la_DEPENDENCIES = common/libcommon.la cuhre/libcuhre.la \
|
||||||
|
divonne/libdivonne.la suave/libsuave.la vegas/libvegas.la
|
||||||
|
am_libcuba_la_OBJECTS =
|
||||||
|
libcuba_la_OBJECTS = $(am_libcuba_la_OBJECTS)
|
||||||
|
AM_V_lt = $(am__v_lt_$(V))
|
||||||
|
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
|
||||||
|
am__v_lt_0 = --silent
|
||||||
|
am__v_lt_1 =
|
||||||
|
libcuba_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||||
|
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||||
|
$(libcuba_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
AM_V_P = $(am__v_P_$(V))
|
||||||
|
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
|
||||||
|
am__v_P_0 = false
|
||||||
|
am__v_P_1 = :
|
||||||
|
AM_V_GEN = $(am__v_GEN_$(V))
|
||||||
|
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
|
||||||
|
am__v_GEN_0 = @echo " GEN " $@;
|
||||||
|
am__v_GEN_1 =
|
||||||
|
AM_V_at = $(am__v_at_$(V))
|
||||||
|
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
|
||||||
|
am__v_at_0 = @
|
||||||
|
am__v_at_1 =
|
||||||
|
DEFAULT_INCLUDES = -I. -I$(top_builddir)
|
||||||
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||||
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
|
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||||
|
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
|
||||||
|
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||||
|
$(AM_CFLAGS) $(CFLAGS)
|
||||||
|
AM_V_CC = $(am__v_CC_$(V))
|
||||||
|
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
|
||||||
|
am__v_CC_0 = @echo " CC " $@;
|
||||||
|
am__v_CC_1 =
|
||||||
|
CCLD = $(CC)
|
||||||
|
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||||
|
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||||
|
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
AM_V_CCLD = $(am__v_CCLD_$(V))
|
||||||
|
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
|
||||||
|
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||||
|
am__v_CCLD_1 =
|
||||||
|
SOURCES = $(libcuba_la_SOURCES)
|
||||||
|
DIST_SOURCES = $(libcuba_la_SOURCES)
|
||||||
|
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
||||||
|
ctags-recursive dvi-recursive html-recursive info-recursive \
|
||||||
|
install-data-recursive install-dvi-recursive \
|
||||||
|
install-exec-recursive install-html-recursive \
|
||||||
|
install-info-recursive install-pdf-recursive \
|
||||||
|
install-ps-recursive install-recursive installcheck-recursive \
|
||||||
|
installdirs-recursive pdf-recursive ps-recursive \
|
||||||
|
tags-recursive uninstall-recursive
|
||||||
|
am__can_run_installinfo = \
|
||||||
|
case $$AM_UPDATE_INFO_DIR in \
|
||||||
|
n|no|NO) false;; \
|
||||||
|
*) (install-info --version) >/dev/null 2>&1;; \
|
||||||
|
esac
|
||||||
|
DATA = $(pkgconfig_DATA)
|
||||||
|
HEADERS = $(include_HEADERS)
|
||||||
|
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||||
|
distclean-recursive maintainer-clean-recursive
|
||||||
|
am__recursive_targets = \
|
||||||
|
$(RECURSIVE_TARGETS) \
|
||||||
|
$(RECURSIVE_CLEAN_TARGETS) \
|
||||||
|
$(am__extra_recursive_targets)
|
||||||
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||||
|
distdir distdir-am
|
||||||
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||||
|
# Read a list of newline-separated strings from the standard input,
|
||||||
|
# and print each of them once, without duplicates. Input order is
|
||||||
|
# *not* preserved.
|
||||||
|
am__uniquify_input = $(AWK) '\
|
||||||
|
BEGIN { nonempty = 0; } \
|
||||||
|
{ items[$$0] = 1; nonempty = 1; } \
|
||||||
|
END { if (nonempty) { for (i in items) print i; }; } \
|
||||||
|
'
|
||||||
|
# Make sure the list of sources is unique. This is necessary because,
|
||||||
|
# e.g., the same source file might be shared among _SOURCES variables
|
||||||
|
# for different programs/libraries.
|
||||||
|
am__define_uniq_tagged_files = \
|
||||||
|
list='$(am__tagged_files)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | $(am__uniquify_input)`
|
||||||
|
ETAGS = etags
|
||||||
|
CTAGS = ctags
|
||||||
|
DIST_SUBDIRS = $(SUBDIRS)
|
||||||
|
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/cuba.pc.in
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
am__relativize = \
|
||||||
|
dir0=`pwd`; \
|
||||||
|
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||||
|
sed_rest='s,^[^/]*/*,,'; \
|
||||||
|
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||||
|
sed_butlast='s,/*[^/]*$$,,'; \
|
||||||
|
while test -n "$$dir1"; do \
|
||||||
|
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||||
|
if test "$$first" != "."; then \
|
||||||
|
if test "$$first" = ".."; then \
|
||||||
|
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||||
|
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||||
|
else \
|
||||||
|
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||||
|
if test "$$first2" = "$$first"; then \
|
||||||
|
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||||
|
else \
|
||||||
|
dir2="../$$dir2"; \
|
||||||
|
fi; \
|
||||||
|
dir0="$$dir0"/"$$first"; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||||
|
done; \
|
||||||
|
reldir="$$dir2"
|
||||||
|
ACLOCAL = ${SHELL} /Users/suter_a/Applications/musrfit-root6/admin/missing aclocal-1.16
|
||||||
|
ALLOCA =
|
||||||
|
AMTAR = $${TAR-tar}
|
||||||
|
AM_DEFAULT_VERBOSITY = 1
|
||||||
|
AR = ar
|
||||||
|
AUTOCONF = ${SHELL} /Users/suter_a/Applications/musrfit-root6/admin/missing autoconf
|
||||||
|
AUTOHEADER = ${SHELL} /Users/suter_a/Applications/musrfit-root6/admin/missing autoheader
|
||||||
|
AUTOMAKE = ${SHELL} /Users/suter_a/Applications/musrfit-root6/admin/missing automake-1.16
|
||||||
|
AWK = awk
|
||||||
|
BMWTOOLS_CFLAGS = -I/Users/suter_a/Applications/musrfit-root6/src/external/BMWtools
|
||||||
|
BMWTOOLS_LIBS = /Users/suter_a/Applications/musrfit-root6/src/external/BMWtools/libBMWtools.la
|
||||||
|
BNMRLIBS_CFLAGS =
|
||||||
|
BNMRLIBS_LIBS =
|
||||||
|
BOOST_CFLAGS = -I/opt/local/include
|
||||||
|
BOOST_INCLUDE = /opt/local/include
|
||||||
|
BOOST_LIBS =
|
||||||
|
CC = gcc
|
||||||
|
CCDEPMODE = depmode=gcc3
|
||||||
|
CFLAGS =
|
||||||
|
CPP = gcc -E
|
||||||
|
CPPFLAGS =
|
||||||
|
CUBA_API_VERSION = 4.2
|
||||||
|
CUBA_CFLAGS = -I/Users/suter_a/Applications/musrfit-root6/src/external/libCuba/src
|
||||||
|
CUBA_LIBRARY_NAME = cuba
|
||||||
|
CUBA_LIBRARY_VERSION = 4:2:0
|
||||||
|
CUBA_LIBS = /Users/suter_a/Applications/musrfit-root6/src/external/libCuba/src/libcuba.la
|
||||||
|
CUBA_PREFIX =
|
||||||
|
CUBA_RELEASE = 4.2
|
||||||
|
CUBA_VERSION = 4.2.0
|
||||||
|
CXX = g++
|
||||||
|
CXXCPP = g++ -E
|
||||||
|
CXXDEPMODE = depmode=gcc3
|
||||||
|
CXXFLAGS = -std=c++11 -g -O2
|
||||||
|
CYGPATH_W = echo
|
||||||
|
DEFS = -DHAVE_CONFIG_H
|
||||||
|
DEPDIR = .deps
|
||||||
|
DLLTOOL = false
|
||||||
|
DOCDIR = /Users/suter_a/Applications/root/root_exec/share/doc/musrfit
|
||||||
|
DSYMUTIL = dsymutil
|
||||||
|
DUMPBIN =
|
||||||
|
ECHO_C = \c
|
||||||
|
ECHO_N =
|
||||||
|
ECHO_T =
|
||||||
|
EGREP = /usr/bin/grep -E
|
||||||
|
EXEEXT =
|
||||||
|
FFTW3_CFLAGS = -I/opt/local/include
|
||||||
|
FFTW3_LIBS = -L/opt/local/lib -lfftw3 -lfftw3_threads -lpthread -lfftw3f -lfftw3f_threads -lpthread
|
||||||
|
FFTW3_PREFIX =
|
||||||
|
FGREP = /usr/bin/grep -F
|
||||||
|
FITPOFB_CFLAGS = -I/Users/suter_a/Applications/musrfit-root6/src/external/libFitPofB/include
|
||||||
|
FITPOFB_LIBS = /Users/suter_a/Applications/musrfit-root6/src/external/libFitPofB/classes/libFitPofB.la
|
||||||
|
GREP = /usr/bin/grep
|
||||||
|
GSL_CFLAGS = -I/opt/local/include
|
||||||
|
GSL_LIBS = -L/opt/local/lib -lgsl -lgslcblas -lm
|
||||||
|
GSL_PREFIX =
|
||||||
|
INSTALL = /usr/bin/install -c
|
||||||
|
INSTALL_DATA = ${INSTALL} -m 644
|
||||||
|
INSTALL_PROGRAM = ${INSTALL}
|
||||||
|
INSTALL_SCRIPT = ${INSTALL}
|
||||||
|
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
||||||
|
LD = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
|
||||||
|
LDFLAGS =
|
||||||
|
LEM_API_VERSION = 1.5
|
||||||
|
LEM_CFLAGS = -I/Users/suter_a/Applications/musrfit-root6/src/external/TLemRunHeader
|
||||||
|
LEM_LIBRARY_NAME = TLemRunHeader
|
||||||
|
LEM_LIBRARY_VERSION = 1:5:0
|
||||||
|
LEM_LIBS = /Users/suter_a/Applications/musrfit-root6/src/external/TLemRunHeader/libTLemRunHeader.la
|
||||||
|
LEM_RELEASE = 1.5
|
||||||
|
LEM_VERSION = 1.5.0
|
||||||
|
LIBOBJS =
|
||||||
|
LIBS =
|
||||||
|
LIBTOOL = $(SHELL) $(top_builddir)/libtool
|
||||||
|
LIBXML2_CFLAGS = -I/usr/include/libxml2
|
||||||
|
LIBXML2_LIBS = -L/usr/include/lib -lxml2
|
||||||
|
LIBXML2_PREFIX = /usr/include
|
||||||
|
LIPO = lipo
|
||||||
|
LN_S = ln -s
|
||||||
|
LOCAL_BIN_CXXFLAGS = -m64 -fPIC -DPIC -Wall -Wno-trigraphs
|
||||||
|
LOCAL_BIN_LDFLAGS = -Wl,-rpath /Users/suter_a/Applications/root/root_exec/lib
|
||||||
|
LOCAL_CUBA_LIB_CFLAGS = -m64 -fPIC -DPIC -Wall -Wno-trigraphs -O3 -fomit-frame-pointer -ffast-math
|
||||||
|
LOCAL_LIB_CXXFLAGS = -m64 -fPIC -DPIC -Wall -Wno-trigraphs
|
||||||
|
LOCAL_LIB_LDFLAGS =
|
||||||
|
LOCAL_MUD_LIB_CFLAGS = -m64 -fPIC -DPIC -Wall -Wno-trigraphs -g -O2
|
||||||
|
LOCAL_PNEXUS_LIB_CXXFLAGS = -m64 -fPIC -DPIC -Wall -Wno-trigraphs
|
||||||
|
LOCAL_PSIBIN_LIB_CXXFLAGS = -m64 -fPIC -DPIC -Wall -Wno-trigraphs -D_Darwin_
|
||||||
|
LTLIBOBJS =
|
||||||
|
LT_SYS_LIBRARY_PATH =
|
||||||
|
MAKEINFO = ${SHELL} /Users/suter_a/Applications/musrfit-root6/admin/missing makeinfo
|
||||||
|
MANIFEST_TOOL = :
|
||||||
|
MKDIR_P = ../../../../admin/install-sh -c -d
|
||||||
|
MUD_API_VERSION = 0.0
|
||||||
|
MUD_CFLAGS = -I/Users/suter_a/Applications/musrfit-root6/src/external/mud/src
|
||||||
|
MUD_LIBRARY_NAME = mud
|
||||||
|
MUD_LIBRARY_VERSION = 0:0:0
|
||||||
|
MUD_LIBS = /Users/suter_a/Applications/musrfit-root6/src/external/mud/src/libmud.la
|
||||||
|
MUD_RELEASE = 0.0
|
||||||
|
MUD_VERSION = 0.0.0
|
||||||
|
MUSR_API_VERSION = 1.2
|
||||||
|
MUSR_LIBRARY_NAME = PMusr
|
||||||
|
MUSR_LIBRARY_VERSION = 1:2:1
|
||||||
|
MUSR_RELEASE = 1.2
|
||||||
|
MUSR_ROOT_API_VERSION = 1.0
|
||||||
|
MUSR_ROOT_CFLAGS = -I/Users/suter_a/Applications/musrfit-root6/src/external/MusrRoot
|
||||||
|
MUSR_ROOT_LIBRARY_NAME = TMusrRunHeader
|
||||||
|
MUSR_ROOT_LIBRARY_VERSION = 1:0:0
|
||||||
|
MUSR_ROOT_LIBS = /Users/suter_a/Applications/musrfit-root6/src/external/MusrRoot/libTMusrRunHeader.la
|
||||||
|
MUSR_ROOT_RELEASE = 1.0
|
||||||
|
MUSR_ROOT_VERSION = 1.0.0
|
||||||
|
MUSR_VERSION = 1.2.1
|
||||||
|
NEXUS_CFLAGS =
|
||||||
|
NEXUS_LIBS =
|
||||||
|
NEXUS_PREFIX =
|
||||||
|
NM = /opt/local/bin/nm -B
|
||||||
|
NMEDIT = nmedit
|
||||||
|
OBJDUMP = objdump
|
||||||
|
OBJEXT = o
|
||||||
|
OTOOL = otool
|
||||||
|
OTOOL64 = :
|
||||||
|
PACKAGE = musrfit
|
||||||
|
PACKAGE_BUGREPORT = andreas.suter@psi.ch
|
||||||
|
PACKAGE_NAME = musrfit
|
||||||
|
PACKAGE_STRING = musrfit 1.2.1
|
||||||
|
PACKAGE_TARNAME = musrfit
|
||||||
|
PACKAGE_URL =
|
||||||
|
PACKAGE_VERSION = 1.2.1
|
||||||
|
PATH_SEPARATOR = :
|
||||||
|
PKG_CONFIG = /opt/local/bin/pkg-config
|
||||||
|
PKG_CONFIG_LIBDIR =
|
||||||
|
PKG_CONFIG_PATH =
|
||||||
|
PLUGIN_API_VERSION = 1.0
|
||||||
|
PLUGIN_LIBRARY_VERSION = 1:0:0
|
||||||
|
PLUGIN_MAJOR_VERSION = 1
|
||||||
|
PLUGIN_MINOR_VERSION = 0
|
||||||
|
PLUGIN_RELEASE = 1.0
|
||||||
|
PLUGIN_VERSION = 1.0.0
|
||||||
|
PMUSR_CFLAGS = -I/Users/suter_a/Applications/musrfit-root6/src/include
|
||||||
|
PMUSR_LIBS = /Users/suter_a/Applications/musrfit-root6/src/classes/libPMusr.la
|
||||||
|
PNEXUS_API_VERSION = 0.9
|
||||||
|
PNEXUS_CXXFLAGS =
|
||||||
|
PNEXUS_LIBRARY_NAME = PNeXus
|
||||||
|
PNEXUS_LIBRARY_VERSION = 0:9:0
|
||||||
|
PNEXUS_LIBS =
|
||||||
|
PNEXUS_RELEASE = 0.9
|
||||||
|
PNEXUS_VERSION = 0.9.0
|
||||||
|
PSIBIN_API_VERSION = 0.1
|
||||||
|
PSIBIN_CFLAGS = -I/Users/suter_a/Applications/musrfit-root6/src/external/MuSR_software/Class_MuSR_PSI
|
||||||
|
PSIBIN_LIBRARY_NAME = Class_MuSR_PSI
|
||||||
|
PSIBIN_LIBRARY_VERSION = 0:1:0
|
||||||
|
PSIBIN_LIBS = /Users/suter_a/Applications/musrfit-root6/src/external/MuSR_software/Class_MuSR_PSI/libClass_MuSR_PSI.la
|
||||||
|
PSIBIN_RELEASE = 0.1
|
||||||
|
PSIBIN_VERSION = 0.1.0
|
||||||
|
QT3MT_CFLAGS =
|
||||||
|
QT3MT_LIBS =
|
||||||
|
QT3_CFLAGS =
|
||||||
|
QT3_LIBS =
|
||||||
|
QT4_CFLAGS =
|
||||||
|
QT4_LIBS =
|
||||||
|
QT5_CFLAGS =
|
||||||
|
QT5_LIBS =
|
||||||
|
RANLIB = ranlib
|
||||||
|
ROOTAUXCFLAGS = -pthread -stdlib=libc++ -std=c++11 -m64
|
||||||
|
ROOTAUXLIBS = -lpthread -stdlib=libc++ -lm -ldl
|
||||||
|
ROOTCFLAGS = -I/Users/suter_a/Applications/root/root_exec/include
|
||||||
|
ROOTCLING = /Users/suter_a/Applications/root/root_exec/bin/rootcling
|
||||||
|
ROOTCONF = /Users/suter_a/Applications/root/root_exec/bin/root-config
|
||||||
|
ROOTETCDIR = /Users/suter_a/Applications/root/root_exec/etc
|
||||||
|
ROOTEXEC = /Users/suter_a/Applications/root/root_exec/bin/root
|
||||||
|
ROOTGLIBS = -lGui -lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lTreePlayer -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -lMultiProc
|
||||||
|
ROOTINCDIR = /Users/suter_a/Applications/root/root_exec/include
|
||||||
|
ROOTLIBDIR = /Users/suter_a/Applications/root/root_exec/lib
|
||||||
|
ROOTLIBS = -lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lTreePlayer -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -lMultiProc
|
||||||
|
ROOTRPATH = /Users/suter_a/Applications/root/root_exec/lib
|
||||||
|
ROOTSOVERSION = 6.13
|
||||||
|
ROOTVERSION = 6.13/02
|
||||||
|
ROOT_CFLAGS = -I/Users/suter_a/Applications/root/root_exec/include -I/Users/suter_a/Applications/root/root_exec/include -pthread -stdlib=libc++ -std=c++11 -m64
|
||||||
|
ROOT_LIBS = -L/Users/suter_a/Applications/root/root_exec/lib -lGui -lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lTreePlayer -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -lMultiProc -lpthread -stdlib=libc++ -lm -ldl -lMinuit2 -lMathMore -lXMLParser
|
||||||
|
SED = /usr/bin/sed
|
||||||
|
SET_MAKE =
|
||||||
|
SHELL = /bin/sh
|
||||||
|
STRIP = strip
|
||||||
|
USERFCN_LIBRARY_NAME = PUserFcnBase
|
||||||
|
USERFCN_LIBS = /Users/suter_a/Applications/musrfit-root6/src/classes/libPUserFcnBase.la
|
||||||
|
VERSION = 1.2.1
|
||||||
|
abs_builddir = /Users/suter_a/Applications/musrfit-root6/src/external/libCuba/src
|
||||||
|
abs_srcdir = /Users/suter_a/Applications/musrfit-root6/src/external/libCuba/src
|
||||||
|
abs_top_builddir = /Users/suter_a/Applications/musrfit-root6
|
||||||
|
abs_top_srcdir = /Users/suter_a/Applications/musrfit-root6
|
||||||
|
ac_ct_AR = ar
|
||||||
|
ac_ct_CC = gcc
|
||||||
|
ac_ct_CXX = g++
|
||||||
|
ac_ct_DUMPBIN =
|
||||||
|
am__include = include
|
||||||
|
am__leading_dot = .
|
||||||
|
am__quote =
|
||||||
|
am__tar = $${TAR-tar} chof - "$$tardir"
|
||||||
|
am__untar = $${TAR-tar} xf -
|
||||||
|
bindir = ${exec_prefix}/bin
|
||||||
|
build = x86_64-apple-darwin17.5.0
|
||||||
|
build_alias =
|
||||||
|
build_cpu = x86_64
|
||||||
|
build_os = darwin17.5.0
|
||||||
|
build_vendor = apple
|
||||||
|
builddir = .
|
||||||
|
datadir = ${datarootdir}
|
||||||
|
datarootdir = ${prefix}/share
|
||||||
|
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
||||||
|
dvidir = ${docdir}
|
||||||
|
exec_prefix = ${prefix}
|
||||||
|
host = x86_64-apple-darwin17.5.0
|
||||||
|
host_alias =
|
||||||
|
host_cpu = x86_64
|
||||||
|
host_os = darwin17.5.0
|
||||||
|
host_vendor = apple
|
||||||
|
htmldir = ${docdir}
|
||||||
|
includedir = ${prefix}/include
|
||||||
|
infodir = ${datarootdir}/info
|
||||||
|
install_sh = ${SHELL} /Users/suter_a/Applications/musrfit-root6/admin/install-sh
|
||||||
|
libdir = ${exec_prefix}/lib
|
||||||
|
libexecdir = ${exec_prefix}/libexec
|
||||||
|
localedir = ${datarootdir}/locale
|
||||||
|
localstatedir = ${prefix}/var
|
||||||
|
mandir = ${datarootdir}/man
|
||||||
|
mkdir_p = $(MKDIR_P)
|
||||||
|
oldincludedir = /usr/include
|
||||||
|
pdfdir = ${docdir}
|
||||||
|
prefix = /Users/suter_a/Applications/root/root_exec
|
||||||
|
program_transform_name = s,x,x,
|
||||||
|
psdir = ${docdir}
|
||||||
|
sbindir = ${exec_prefix}/sbin
|
||||||
|
sharedstatedir = ${prefix}/com
|
||||||
|
srcdir = .
|
||||||
|
sysconfdir = ${prefix}/etc
|
||||||
|
target_alias =
|
||||||
|
top_build_prefix = ../../../../
|
||||||
|
top_builddir = ../../../..
|
||||||
|
top_srcdir = ../../../..
|
||||||
|
SUBDIRS = cuhre divonne suave vegas common
|
||||||
|
include_HEADERS = cuba.h
|
||||||
|
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
||||||
|
CLEANFILES = common/*~ cuhre/*~ divonne/*~ suave/*~ vegas/*~ *~ core
|
||||||
|
lib_LTLIBRARIES = libcuba.la
|
||||||
|
libcuba_la_SOURCES =
|
||||||
|
libcuba_la_LIBADD = common/libcommon.la cuhre/libcuhre.la divonne/libdivonne.la suave/libsuave.la vegas/libvegas.la -lm
|
||||||
|
libcuba_la_LDFLAGS = -version-info $(CUBA_LIBRARY_VERSION) -release $(CUBA_RELEASE) $(AM_LDFLAGS)
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA = cuba.pc
|
||||||
|
all: all-recursive
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||||
|
@for dep in $?; do \
|
||||||
|
case '$(am__configure_deps)' in \
|
||||||
|
*$$dep*) \
|
||||||
|
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||||
|
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/external/libCuba/src/Makefile'; \
|
||||||
|
$(am__cd) $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --gnu src/external/libCuba/src/Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
@case '$?' in \
|
||||||
|
*config.status*) \
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||||
|
*) \
|
||||||
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||||
|
esac;
|
||||||
|
|
||||||
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
|
||||||
|
$(top_srcdir)/configure: $(am__configure_deps)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
$(am__aclocal_m4_deps):
|
||||||
|
cuba.pc: $(top_builddir)/config.status $(srcdir)/cuba.pc.in
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||||
|
|
||||||
|
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
|
||||||
|
list2=; for p in $$list; do \
|
||||||
|
if test -f $$p; then \
|
||||||
|
list2="$$list2 $$p"; \
|
||||||
|
else :; fi; \
|
||||||
|
done; \
|
||||||
|
test -z "$$list2" || { \
|
||||||
|
echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
|
||||||
|
$(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
|
||||||
|
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
|
||||||
|
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
|
||||||
|
}
|
||||||
|
|
||||||
|
uninstall-libLTLIBRARIES:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
|
||||||
|
for p in $$list; do \
|
||||||
|
$(am__strip_dir) \
|
||||||
|
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
|
||||||
|
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
|
||||||
|
done
|
||||||
|
|
||||||
|
clean-libLTLIBRARIES:
|
||||||
|
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
||||||
|
@list='$(lib_LTLIBRARIES)'; \
|
||||||
|
locs=`for p in $$list; do echo $$p; done | \
|
||||||
|
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
|
||||||
|
sort -u`; \
|
||||||
|
test -z "$$locs" || { \
|
||||||
|
echo rm -f $${locs}; \
|
||||||
|
rm -f $${locs}; \
|
||||||
|
}
|
||||||
|
|
||||||
|
libcuba.la: $(libcuba_la_OBJECTS) $(libcuba_la_DEPENDENCIES) $(EXTRA_libcuba_la_DEPENDENCIES)
|
||||||
|
$(AM_V_CCLD)$(libcuba_la_LINK) -rpath $(libdir) $(libcuba_la_OBJECTS) $(libcuba_la_LIBADD) $(LIBS)
|
||||||
|
|
||||||
|
mostlyclean-compile:
|
||||||
|
-rm -f *.$(OBJEXT)
|
||||||
|
|
||||||
|
distclean-compile:
|
||||||
|
-rm -f *.tab.c
|
||||||
|
|
||||||
|
mostlyclean-libtool:
|
||||||
|
-rm -f *.lo
|
||||||
|
|
||||||
|
clean-libtool:
|
||||||
|
-rm -rf .libs _libs
|
||||||
|
install-pkgconfigDATA: $(pkgconfig_DATA)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
|
||||||
|
if test -n "$$list"; then \
|
||||||
|
echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
|
||||||
|
$(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
|
||||||
|
fi; \
|
||||||
|
for p in $$list; do \
|
||||||
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
echo "$$d$$p"; \
|
||||||
|
done | $(am__base_list) | \
|
||||||
|
while read files; do \
|
||||||
|
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
|
||||||
|
$(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
|
||||||
|
done
|
||||||
|
|
||||||
|
uninstall-pkgconfigDATA:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
|
||||||
|
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||||
|
dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
|
||||||
|
install-includeHEADERS: $(include_HEADERS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
|
||||||
|
if test -n "$$list"; then \
|
||||||
|
echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
|
||||||
|
$(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
|
||||||
|
fi; \
|
||||||
|
for p in $$list; do \
|
||||||
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
echo "$$d$$p"; \
|
||||||
|
done | $(am__base_list) | \
|
||||||
|
while read files; do \
|
||||||
|
echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
|
||||||
|
$(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
|
||||||
|
done
|
||||||
|
|
||||||
|
uninstall-includeHEADERS:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
|
||||||
|
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||||
|
dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
|
||||||
|
|
||||||
|
# This directory's subdirectories are mostly independent; you can cd
|
||||||
|
# into them and run 'make' without going through this Makefile.
|
||||||
|
# To change the values of 'make' variables: instead of editing Makefiles,
|
||||||
|
# (1) if the variable is set in 'config.status', edit 'config.status'
|
||||||
|
# (which will cause the Makefiles to be regenerated when you run 'make');
|
||||||
|
# (2) otherwise, pass the desired values on the 'make' command line.
|
||||||
|
$(am__recursive_targets):
|
||||||
|
@fail=; \
|
||||||
|
if $(am__make_keepgoing); then \
|
||||||
|
failcom='fail=yes'; \
|
||||||
|
else \
|
||||||
|
failcom='exit 1'; \
|
||||||
|
fi; \
|
||||||
|
dot_seen=no; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
case "$@" in \
|
||||||
|
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||||
|
*) list='$(SUBDIRS)' ;; \
|
||||||
|
esac; \
|
||||||
|
for subdir in $$list; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
dot_seen=yes; \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| eval $$failcom; \
|
||||||
|
done; \
|
||||||
|
if test "$$dot_seen" = "no"; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||||
|
fi; test -z "$$fail"
|
||||||
|
|
||||||
|
ID: $(am__tagged_files)
|
||||||
|
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||||
|
tags: tags-recursive
|
||||||
|
TAGS: tags
|
||||||
|
|
||||||
|
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||||
|
set x; \
|
||||||
|
here=`pwd`; \
|
||||||
|
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||||
|
include_option=--etags-include; \
|
||||||
|
empty_fix=.; \
|
||||||
|
else \
|
||||||
|
include_option=--include; \
|
||||||
|
empty_fix=; \
|
||||||
|
fi; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test ! -f $$subdir/TAGS || \
|
||||||
|
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
$(am__define_uniq_tagged_files); \
|
||||||
|
shift; \
|
||||||
|
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||||
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
|
if test $$# -gt 0; then \
|
||||||
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
|
"$$@" $$unique; \
|
||||||
|
else \
|
||||||
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
|
$$unique; \
|
||||||
|
fi; \
|
||||||
|
fi
|
||||||
|
ctags: ctags-recursive
|
||||||
|
|
||||||
|
CTAGS: ctags
|
||||||
|
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||||
|
$(am__define_uniq_tagged_files); \
|
||||||
|
test -z "$(CTAGS_ARGS)$$unique" \
|
||||||
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
|
$$unique
|
||||||
|
|
||||||
|
GTAGS:
|
||||||
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||||
|
&& $(am__cd) $(top_srcdir) \
|
||||||
|
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||||
|
cscopelist: cscopelist-recursive
|
||||||
|
|
||||||
|
cscopelist-am: $(am__tagged_files)
|
||||||
|
list='$(am__tagged_files)'; \
|
||||||
|
case "$(srcdir)" in \
|
||||||
|
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||||
|
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||||
|
esac; \
|
||||||
|
for i in $$list; do \
|
||||||
|
if test -f "$$i"; then \
|
||||||
|
echo "$(subdir)/$$i"; \
|
||||||
|
else \
|
||||||
|
echo "$$sdir/$$i"; \
|
||||||
|
fi; \
|
||||||
|
done >> $(top_builddir)/cscope.files
|
||||||
|
|
||||||
|
distclean-tags:
|
||||||
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
|
distdir: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
distdir-am: $(DISTFILES)
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
list='$(DISTFILES)'; \
|
||||||
|
dist_files=`for file in $$list; do echo $$file; done | \
|
||||||
|
sed -e "s|^$$srcdirstrip/||;t" \
|
||||||
|
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||||
|
case $$dist_files in \
|
||||||
|
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||||
|
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||||
|
sort -u` ;; \
|
||||||
|
esac; \
|
||||||
|
for file in $$dist_files; do \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test -d "$(distdir)/$$file"; then \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f "$(distdir)/$$file" \
|
||||||
|
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
$(am__make_dryrun) \
|
||||||
|
|| test -d "$(distdir)/$$subdir" \
|
||||||
|
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||||
|
|| exit 1; \
|
||||||
|
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||||
|
$(am__relativize); \
|
||||||
|
new_distdir=$$reldir; \
|
||||||
|
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||||
|
$(am__relativize); \
|
||||||
|
new_top_distdir=$$reldir; \
|
||||||
|
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||||
|
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||||
|
($(am__cd) $$subdir && \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
top_distdir="$$new_top_distdir" \
|
||||||
|
distdir="$$new_distdir" \
|
||||||
|
am__remove_distdir=: \
|
||||||
|
am__skip_length_check=: \
|
||||||
|
am__skip_mode_fix=: \
|
||||||
|
distdir) \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
check-am: all-am
|
||||||
|
check: check-recursive
|
||||||
|
all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
|
||||||
|
installdirs: installdirs-recursive
|
||||||
|
installdirs-am:
|
||||||
|
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"; do \
|
||||||
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||||
|
done
|
||||||
|
install: install-recursive
|
||||||
|
install-exec: install-exec-recursive
|
||||||
|
install-data: install-data-recursive
|
||||||
|
uninstall: uninstall-recursive
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-recursive
|
||||||
|
install-strip:
|
||||||
|
if test -z '$(STRIP)'; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
install; \
|
||||||
|
else \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||||
|
fi
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||||
|
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-recursive
|
||||||
|
|
||||||
|
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
|
||||||
|
mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-recursive
|
||||||
|
-rm -f Makefile
|
||||||
|
distclean-am: clean-am distclean-compile distclean-generic \
|
||||||
|
distclean-tags
|
||||||
|
|
||||||
|
dvi: dvi-recursive
|
||||||
|
|
||||||
|
dvi-am:
|
||||||
|
|
||||||
|
html: html-recursive
|
||||||
|
|
||||||
|
html-am:
|
||||||
|
|
||||||
|
info: info-recursive
|
||||||
|
|
||||||
|
info-am:
|
||||||
|
|
||||||
|
install-data-am: install-includeHEADERS install-pkgconfigDATA
|
||||||
|
|
||||||
|
install-dvi: install-dvi-recursive
|
||||||
|
|
||||||
|
install-dvi-am:
|
||||||
|
|
||||||
|
install-exec-am: install-libLTLIBRARIES
|
||||||
|
|
||||||
|
install-html: install-html-recursive
|
||||||
|
|
||||||
|
install-html-am:
|
||||||
|
|
||||||
|
install-info: install-info-recursive
|
||||||
|
|
||||||
|
install-info-am:
|
||||||
|
|
||||||
|
install-man:
|
||||||
|
|
||||||
|
install-pdf: install-pdf-recursive
|
||||||
|
|
||||||
|
install-pdf-am:
|
||||||
|
|
||||||
|
install-ps: install-ps-recursive
|
||||||
|
|
||||||
|
install-ps-am:
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-recursive
|
||||||
|
-rm -f Makefile
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-recursive
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||||
|
mostlyclean-libtool
|
||||||
|
|
||||||
|
pdf: pdf-recursive
|
||||||
|
|
||||||
|
pdf-am:
|
||||||
|
|
||||||
|
ps: ps-recursive
|
||||||
|
|
||||||
|
ps-am:
|
||||||
|
|
||||||
|
uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
|
||||||
|
uninstall-pkgconfigDATA
|
||||||
|
|
||||||
|
.MAKE: $(am__recursive_targets) install-am install-strip
|
||||||
|
|
||||||
|
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
|
||||||
|
check-am clean clean-generic clean-libLTLIBRARIES \
|
||||||
|
clean-libtool cscopelist-am ctags ctags-am distclean \
|
||||||
|
distclean-compile distclean-generic distclean-libtool \
|
||||||
|
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||||
|
install install-am install-data install-data-am install-dvi \
|
||||||
|
install-dvi-am install-exec install-exec-am install-html \
|
||||||
|
install-html-am install-includeHEADERS install-info \
|
||||||
|
install-info-am install-libLTLIBRARIES install-man install-pdf \
|
||||||
|
install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
|
||||||
|
install-strip installcheck installcheck-am installdirs \
|
||||||
|
installdirs-am maintainer-clean maintainer-clean-generic \
|
||||||
|
mostlyclean mostlyclean-compile mostlyclean-generic \
|
||||||
|
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
|
||||||
|
uninstall-am uninstall-includeHEADERS uninstall-libLTLIBRARIES \
|
||||||
|
uninstall-pkgconfigDATA
|
||||||
|
|
||||||
|
.PRECIOUS: Makefile
|
||||||
|
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
2
src/external/libCuba/src/Makefile.am
vendored
2
src/external/libCuba/src/Makefile.am
vendored
@ -11,7 +11,7 @@ lib_LTLIBRARIES = libcuba.la
|
|||||||
|
|
||||||
libcuba_la_SOURCES =
|
libcuba_la_SOURCES =
|
||||||
|
|
||||||
libcuba_la_LIBADD = cuhre/libcuhre.la divonne/libdivonne.la suave/libsuave.la vegas/libvegas.la -lm
|
libcuba_la_LIBADD = common/libcommon.la cuhre/libcuhre.la divonne/libdivonne.la suave/libsuave.la vegas/libvegas.la -lm
|
||||||
libcuba_la_LDFLAGS = -version-info $(CUBA_LIBRARY_VERSION) -release $(CUBA_RELEASE) $(AM_LDFLAGS)
|
libcuba_la_LDFLAGS = -version-info $(CUBA_LIBRARY_VERSION) -release $(CUBA_RELEASE) $(AM_LDFLAGS)
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
912
src/external/libCuba/src/Makefile.in
vendored
Normal file
912
src/external/libCuba/src/Makefile.in
vendored
Normal file
@ -0,0 +1,912 @@
|
|||||||
|
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||||
|
# @configure_input@
|
||||||
|
|
||||||
|
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
VPATH = @srcdir@
|
||||||
|
am__is_gnu_make = { \
|
||||||
|
if test -z '$(MAKELEVEL)'; then \
|
||||||
|
false; \
|
||||||
|
elif test -n '$(MAKE_HOST)'; then \
|
||||||
|
true; \
|
||||||
|
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||||
|
true; \
|
||||||
|
else \
|
||||||
|
false; \
|
||||||
|
fi; \
|
||||||
|
}
|
||||||
|
am__make_running_with_option = \
|
||||||
|
case $${target_option-} in \
|
||||||
|
?) ;; \
|
||||||
|
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||||
|
"target option '$${target_option-}' specified" >&2; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
has_opt=no; \
|
||||||
|
sane_makeflags=$$MAKEFLAGS; \
|
||||||
|
if $(am__is_gnu_make); then \
|
||||||
|
sane_makeflags=$$MFLAGS; \
|
||||||
|
else \
|
||||||
|
case $$MAKEFLAGS in \
|
||||||
|
*\\[\ \ ]*) \
|
||||||
|
bs=\\; \
|
||||||
|
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||||
|
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||||
|
esac; \
|
||||||
|
fi; \
|
||||||
|
skip_next=no; \
|
||||||
|
strip_trailopt () \
|
||||||
|
{ \
|
||||||
|
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||||
|
}; \
|
||||||
|
for flg in $$sane_makeflags; do \
|
||||||
|
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||||
|
case $$flg in \
|
||||||
|
*=*|--*) continue;; \
|
||||||
|
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||||
|
-*I?*) strip_trailopt 'I';; \
|
||||||
|
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||||
|
-*O?*) strip_trailopt 'O';; \
|
||||||
|
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||||
|
-*l?*) strip_trailopt 'l';; \
|
||||||
|
-[dEDm]) skip_next=yes;; \
|
||||||
|
-[JT]) skip_next=yes;; \
|
||||||
|
esac; \
|
||||||
|
case $$flg in \
|
||||||
|
*$$target_option*) has_opt=yes; break;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
test $$has_opt = yes
|
||||||
|
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||||
|
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
|
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
build_triplet = @build@
|
||||||
|
host_triplet = @host@
|
||||||
|
subdir = src/external/libCuba/src
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
||||||
|
$(top_srcdir)/configure.ac
|
||||||
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
|
$(ACLOCAL_M4)
|
||||||
|
DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \
|
||||||
|
$(am__DIST_COMMON)
|
||||||
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
|
CONFIG_CLEAN_FILES = cuba.pc
|
||||||
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
|
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||||
|
am__vpath_adj = case $$p in \
|
||||||
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||||
|
*) f=$$p;; \
|
||||||
|
esac;
|
||||||
|
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||||
|
am__install_max = 40
|
||||||
|
am__nobase_strip_setup = \
|
||||||
|
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||||
|
am__nobase_strip = \
|
||||||
|
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||||
|
am__nobase_list = $(am__nobase_strip_setup); \
|
||||||
|
for p in $$list; do echo "$$p $$p"; done | \
|
||||||
|
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||||
|
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||||
|
if (++n[$$2] == $(am__install_max)) \
|
||||||
|
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||||
|
END { for (dir in files) print dir, files[dir] }'
|
||||||
|
am__base_list = \
|
||||||
|
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||||
|
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||||
|
am__uninstall_files_from_dir = { \
|
||||||
|
test -z "$$files" \
|
||||||
|
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||||
|
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||||
|
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||||
|
}
|
||||||
|
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
|
||||||
|
"$(DESTDIR)$(includedir)"
|
||||||
|
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||||
|
libcuba_la_DEPENDENCIES = common/libcommon.la cuhre/libcuhre.la \
|
||||||
|
divonne/libdivonne.la suave/libsuave.la vegas/libvegas.la
|
||||||
|
am_libcuba_la_OBJECTS =
|
||||||
|
libcuba_la_OBJECTS = $(am_libcuba_la_OBJECTS)
|
||||||
|
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||||
|
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||||
|
am__v_lt_0 = --silent
|
||||||
|
am__v_lt_1 =
|
||||||
|
libcuba_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||||
|
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||||
|
$(libcuba_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
AM_V_P = $(am__v_P_@AM_V@)
|
||||||
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||||
|
am__v_P_0 = false
|
||||||
|
am__v_P_1 = :
|
||||||
|
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||||
|
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||||
|
am__v_GEN_0 = @echo " GEN " $@;
|
||||||
|
am__v_GEN_1 =
|
||||||
|
AM_V_at = $(am__v_at_@AM_V@)
|
||||||
|
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||||
|
am__v_at_0 = @
|
||||||
|
am__v_at_1 =
|
||||||
|
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||||
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||||
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
|
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||||
|
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
|
||||||
|
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||||
|
$(AM_CFLAGS) $(CFLAGS)
|
||||||
|
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||||
|
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
||||||
|
am__v_CC_0 = @echo " CC " $@;
|
||||||
|
am__v_CC_1 =
|
||||||
|
CCLD = $(CC)
|
||||||
|
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||||
|
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||||
|
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||||
|
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||||
|
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||||
|
am__v_CCLD_1 =
|
||||||
|
SOURCES = $(libcuba_la_SOURCES)
|
||||||
|
DIST_SOURCES = $(libcuba_la_SOURCES)
|
||||||
|
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
||||||
|
ctags-recursive dvi-recursive html-recursive info-recursive \
|
||||||
|
install-data-recursive install-dvi-recursive \
|
||||||
|
install-exec-recursive install-html-recursive \
|
||||||
|
install-info-recursive install-pdf-recursive \
|
||||||
|
install-ps-recursive install-recursive installcheck-recursive \
|
||||||
|
installdirs-recursive pdf-recursive ps-recursive \
|
||||||
|
tags-recursive uninstall-recursive
|
||||||
|
am__can_run_installinfo = \
|
||||||
|
case $$AM_UPDATE_INFO_DIR in \
|
||||||
|
n|no|NO) false;; \
|
||||||
|
*) (install-info --version) >/dev/null 2>&1;; \
|
||||||
|
esac
|
||||||
|
DATA = $(pkgconfig_DATA)
|
||||||
|
HEADERS = $(include_HEADERS)
|
||||||
|
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||||
|
distclean-recursive maintainer-clean-recursive
|
||||||
|
am__recursive_targets = \
|
||||||
|
$(RECURSIVE_TARGETS) \
|
||||||
|
$(RECURSIVE_CLEAN_TARGETS) \
|
||||||
|
$(am__extra_recursive_targets)
|
||||||
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||||
|
distdir distdir-am
|
||||||
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||||
|
# Read a list of newline-separated strings from the standard input,
|
||||||
|
# and print each of them once, without duplicates. Input order is
|
||||||
|
# *not* preserved.
|
||||||
|
am__uniquify_input = $(AWK) '\
|
||||||
|
BEGIN { nonempty = 0; } \
|
||||||
|
{ items[$$0] = 1; nonempty = 1; } \
|
||||||
|
END { if (nonempty) { for (i in items) print i; }; } \
|
||||||
|
'
|
||||||
|
# Make sure the list of sources is unique. This is necessary because,
|
||||||
|
# e.g., the same source file might be shared among _SOURCES variables
|
||||||
|
# for different programs/libraries.
|
||||||
|
am__define_uniq_tagged_files = \
|
||||||
|
list='$(am__tagged_files)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | $(am__uniquify_input)`
|
||||||
|
ETAGS = etags
|
||||||
|
CTAGS = ctags
|
||||||
|
DIST_SUBDIRS = $(SUBDIRS)
|
||||||
|
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/cuba.pc.in
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
am__relativize = \
|
||||||
|
dir0=`pwd`; \
|
||||||
|
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||||
|
sed_rest='s,^[^/]*/*,,'; \
|
||||||
|
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||||
|
sed_butlast='s,/*[^/]*$$,,'; \
|
||||||
|
while test -n "$$dir1"; do \
|
||||||
|
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||||
|
if test "$$first" != "."; then \
|
||||||
|
if test "$$first" = ".."; then \
|
||||||
|
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||||
|
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||||
|
else \
|
||||||
|
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||||
|
if test "$$first2" = "$$first"; then \
|
||||||
|
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||||
|
else \
|
||||||
|
dir2="../$$dir2"; \
|
||||||
|
fi; \
|
||||||
|
dir0="$$dir0"/"$$first"; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||||
|
done; \
|
||||||
|
reldir="$$dir2"
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
ALLOCA = @ALLOCA@
|
||||||
|
AMTAR = @AMTAR@
|
||||||
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
|
AR = @AR@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AWK = @AWK@
|
||||||
|
BMWTOOLS_CFLAGS = @BMWTOOLS_CFLAGS@
|
||||||
|
BMWTOOLS_LIBS = @BMWTOOLS_LIBS@
|
||||||
|
BNMRLIBS_CFLAGS = @BNMRLIBS_CFLAGS@
|
||||||
|
BNMRLIBS_LIBS = @BNMRLIBS_LIBS@
|
||||||
|
BOOST_CFLAGS = @BOOST_CFLAGS@
|
||||||
|
BOOST_INCLUDE = @BOOST_INCLUDE@
|
||||||
|
BOOST_LIBS = @BOOST_LIBS@
|
||||||
|
CC = @CC@
|
||||||
|
CCDEPMODE = @CCDEPMODE@
|
||||||
|
CFLAGS = @CFLAGS@
|
||||||
|
CPP = @CPP@
|
||||||
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CUBA_API_VERSION = @CUBA_API_VERSION@
|
||||||
|
CUBA_CFLAGS = @CUBA_CFLAGS@
|
||||||
|
CUBA_LIBRARY_NAME = @CUBA_LIBRARY_NAME@
|
||||||
|
CUBA_LIBRARY_VERSION = @CUBA_LIBRARY_VERSION@
|
||||||
|
CUBA_LIBS = @CUBA_LIBS@
|
||||||
|
CUBA_PREFIX = @CUBA_PREFIX@
|
||||||
|
CUBA_RELEASE = @CUBA_RELEASE@
|
||||||
|
CUBA_VERSION = @CUBA_VERSION@
|
||||||
|
CXX = @CXX@
|
||||||
|
CXXCPP = @CXXCPP@
|
||||||
|
CXXDEPMODE = @CXXDEPMODE@
|
||||||
|
CXXFLAGS = @CXXFLAGS@
|
||||||
|
CYGPATH_W = @CYGPATH_W@
|
||||||
|
DEFS = @DEFS@
|
||||||
|
DEPDIR = @DEPDIR@
|
||||||
|
DLLTOOL = @DLLTOOL@
|
||||||
|
DOCDIR = @DOCDIR@
|
||||||
|
DSYMUTIL = @DSYMUTIL@
|
||||||
|
DUMPBIN = @DUMPBIN@
|
||||||
|
ECHO_C = @ECHO_C@
|
||||||
|
ECHO_N = @ECHO_N@
|
||||||
|
ECHO_T = @ECHO_T@
|
||||||
|
EGREP = @EGREP@
|
||||||
|
EXEEXT = @EXEEXT@
|
||||||
|
FFTW3_CFLAGS = @FFTW3_CFLAGS@
|
||||||
|
FFTW3_LIBS = @FFTW3_LIBS@
|
||||||
|
FFTW3_PREFIX = @FFTW3_PREFIX@
|
||||||
|
FGREP = @FGREP@
|
||||||
|
FITPOFB_CFLAGS = @FITPOFB_CFLAGS@
|
||||||
|
FITPOFB_LIBS = @FITPOFB_LIBS@
|
||||||
|
GREP = @GREP@
|
||||||
|
GSL_CFLAGS = @GSL_CFLAGS@
|
||||||
|
GSL_LIBS = @GSL_LIBS@
|
||||||
|
GSL_PREFIX = @GSL_PREFIX@
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LD = @LD@
|
||||||
|
LDFLAGS = @LDFLAGS@
|
||||||
|
LEM_API_VERSION = @LEM_API_VERSION@
|
||||||
|
LEM_CFLAGS = @LEM_CFLAGS@
|
||||||
|
LEM_LIBRARY_NAME = @LEM_LIBRARY_NAME@
|
||||||
|
LEM_LIBRARY_VERSION = @LEM_LIBRARY_VERSION@
|
||||||
|
LEM_LIBS = @LEM_LIBS@
|
||||||
|
LEM_RELEASE = @LEM_RELEASE@
|
||||||
|
LEM_VERSION = @LEM_VERSION@
|
||||||
|
LIBOBJS = @LIBOBJS@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
LIBTOOL = @LIBTOOL@
|
||||||
|
LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
|
||||||
|
LIBXML2_LIBS = @LIBXML2_LIBS@
|
||||||
|
LIBXML2_PREFIX = @LIBXML2_PREFIX@
|
||||||
|
LIPO = @LIPO@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
LOCAL_BIN_CXXFLAGS = @LOCAL_BIN_CXXFLAGS@
|
||||||
|
LOCAL_BIN_LDFLAGS = @LOCAL_BIN_LDFLAGS@
|
||||||
|
LOCAL_CUBA_LIB_CFLAGS = @LOCAL_CUBA_LIB_CFLAGS@
|
||||||
|
LOCAL_LIB_CXXFLAGS = @LOCAL_LIB_CXXFLAGS@
|
||||||
|
LOCAL_LIB_LDFLAGS = @LOCAL_LIB_LDFLAGS@
|
||||||
|
LOCAL_MUD_LIB_CFLAGS = @LOCAL_MUD_LIB_CFLAGS@
|
||||||
|
LOCAL_PNEXUS_LIB_CXXFLAGS = @LOCAL_PNEXUS_LIB_CXXFLAGS@
|
||||||
|
LOCAL_PSIBIN_LIB_CXXFLAGS = @LOCAL_PSIBIN_LIB_CXXFLAGS@
|
||||||
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
|
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||||
|
MKDIR_P = @MKDIR_P@
|
||||||
|
MUD_API_VERSION = @MUD_API_VERSION@
|
||||||
|
MUD_CFLAGS = @MUD_CFLAGS@
|
||||||
|
MUD_LIBRARY_NAME = @MUD_LIBRARY_NAME@
|
||||||
|
MUD_LIBRARY_VERSION = @MUD_LIBRARY_VERSION@
|
||||||
|
MUD_LIBS = @MUD_LIBS@
|
||||||
|
MUD_RELEASE = @MUD_RELEASE@
|
||||||
|
MUD_VERSION = @MUD_VERSION@
|
||||||
|
MUSR_API_VERSION = @MUSR_API_VERSION@
|
||||||
|
MUSR_LIBRARY_NAME = @MUSR_LIBRARY_NAME@
|
||||||
|
MUSR_LIBRARY_VERSION = @MUSR_LIBRARY_VERSION@
|
||||||
|
MUSR_RELEASE = @MUSR_RELEASE@
|
||||||
|
MUSR_ROOT_API_VERSION = @MUSR_ROOT_API_VERSION@
|
||||||
|
MUSR_ROOT_CFLAGS = @MUSR_ROOT_CFLAGS@
|
||||||
|
MUSR_ROOT_LIBRARY_NAME = @MUSR_ROOT_LIBRARY_NAME@
|
||||||
|
MUSR_ROOT_LIBRARY_VERSION = @MUSR_ROOT_LIBRARY_VERSION@
|
||||||
|
MUSR_ROOT_LIBS = @MUSR_ROOT_LIBS@
|
||||||
|
MUSR_ROOT_RELEASE = @MUSR_ROOT_RELEASE@
|
||||||
|
MUSR_ROOT_VERSION = @MUSR_ROOT_VERSION@
|
||||||
|
MUSR_VERSION = @MUSR_VERSION@
|
||||||
|
NEXUS_CFLAGS = @NEXUS_CFLAGS@
|
||||||
|
NEXUS_LIBS = @NEXUS_LIBS@
|
||||||
|
NEXUS_PREFIX = @NEXUS_PREFIX@
|
||||||
|
NM = @NM@
|
||||||
|
NMEDIT = @NMEDIT@
|
||||||
|
OBJDUMP = @OBJDUMP@
|
||||||
|
OBJEXT = @OBJEXT@
|
||||||
|
OTOOL = @OTOOL@
|
||||||
|
OTOOL64 = @OTOOL64@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
|
PACKAGE_URL = @PACKAGE_URL@
|
||||||
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
|
PKG_CONFIG = @PKG_CONFIG@
|
||||||
|
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||||
|
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||||
|
PLUGIN_API_VERSION = @PLUGIN_API_VERSION@
|
||||||
|
PLUGIN_LIBRARY_VERSION = @PLUGIN_LIBRARY_VERSION@
|
||||||
|
PLUGIN_MAJOR_VERSION = @PLUGIN_MAJOR_VERSION@
|
||||||
|
PLUGIN_MINOR_VERSION = @PLUGIN_MINOR_VERSION@
|
||||||
|
PLUGIN_RELEASE = @PLUGIN_RELEASE@
|
||||||
|
PLUGIN_VERSION = @PLUGIN_VERSION@
|
||||||
|
PMUSR_CFLAGS = @PMUSR_CFLAGS@
|
||||||
|
PMUSR_LIBS = @PMUSR_LIBS@
|
||||||
|
PNEXUS_API_VERSION = @PNEXUS_API_VERSION@
|
||||||
|
PNEXUS_CXXFLAGS = @PNEXUS_CXXFLAGS@
|
||||||
|
PNEXUS_LIBRARY_NAME = @PNEXUS_LIBRARY_NAME@
|
||||||
|
PNEXUS_LIBRARY_VERSION = @PNEXUS_LIBRARY_VERSION@
|
||||||
|
PNEXUS_LIBS = @PNEXUS_LIBS@
|
||||||
|
PNEXUS_RELEASE = @PNEXUS_RELEASE@
|
||||||
|
PNEXUS_VERSION = @PNEXUS_VERSION@
|
||||||
|
PSIBIN_API_VERSION = @PSIBIN_API_VERSION@
|
||||||
|
PSIBIN_CFLAGS = @PSIBIN_CFLAGS@
|
||||||
|
PSIBIN_LIBRARY_NAME = @PSIBIN_LIBRARY_NAME@
|
||||||
|
PSIBIN_LIBRARY_VERSION = @PSIBIN_LIBRARY_VERSION@
|
||||||
|
PSIBIN_LIBS = @PSIBIN_LIBS@
|
||||||
|
PSIBIN_RELEASE = @PSIBIN_RELEASE@
|
||||||
|
PSIBIN_VERSION = @PSIBIN_VERSION@
|
||||||
|
QT3MT_CFLAGS = @QT3MT_CFLAGS@
|
||||||
|
QT3MT_LIBS = @QT3MT_LIBS@
|
||||||
|
QT3_CFLAGS = @QT3_CFLAGS@
|
||||||
|
QT3_LIBS = @QT3_LIBS@
|
||||||
|
QT4_CFLAGS = @QT4_CFLAGS@
|
||||||
|
QT4_LIBS = @QT4_LIBS@
|
||||||
|
QT5_CFLAGS = @QT5_CFLAGS@
|
||||||
|
QT5_LIBS = @QT5_LIBS@
|
||||||
|
RANLIB = @RANLIB@
|
||||||
|
ROOTAUXCFLAGS = @ROOTAUXCFLAGS@
|
||||||
|
ROOTAUXLIBS = @ROOTAUXLIBS@
|
||||||
|
ROOTCFLAGS = @ROOTCFLAGS@
|
||||||
|
ROOTCLING = @ROOTCLING@
|
||||||
|
ROOTCONF = @ROOTCONF@
|
||||||
|
ROOTETCDIR = @ROOTETCDIR@
|
||||||
|
ROOTEXEC = @ROOTEXEC@
|
||||||
|
ROOTGLIBS = @ROOTGLIBS@
|
||||||
|
ROOTINCDIR = @ROOTINCDIR@
|
||||||
|
ROOTLIBDIR = @ROOTLIBDIR@
|
||||||
|
ROOTLIBS = @ROOTLIBS@
|
||||||
|
ROOTRPATH = @ROOTRPATH@
|
||||||
|
ROOTSOVERSION = @ROOTSOVERSION@
|
||||||
|
ROOTVERSION = @ROOTVERSION@
|
||||||
|
ROOT_CFLAGS = @ROOT_CFLAGS@
|
||||||
|
ROOT_LIBS = @ROOT_LIBS@
|
||||||
|
SED = @SED@
|
||||||
|
SET_MAKE = @SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
USERFCN_LIBRARY_NAME = @USERFCN_LIBRARY_NAME@
|
||||||
|
USERFCN_LIBS = @USERFCN_LIBS@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
abs_builddir = @abs_builddir@
|
||||||
|
abs_srcdir = @abs_srcdir@
|
||||||
|
abs_top_builddir = @abs_top_builddir@
|
||||||
|
abs_top_srcdir = @abs_top_srcdir@
|
||||||
|
ac_ct_AR = @ac_ct_AR@
|
||||||
|
ac_ct_CC = @ac_ct_CC@
|
||||||
|
ac_ct_CXX = @ac_ct_CXX@
|
||||||
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||||
|
am__include = @am__include@
|
||||||
|
am__leading_dot = @am__leading_dot@
|
||||||
|
am__quote = @am__quote@
|
||||||
|
am__tar = @am__tar@
|
||||||
|
am__untar = @am__untar@
|
||||||
|
bindir = @bindir@
|
||||||
|
build = @build@
|
||||||
|
build_alias = @build_alias@
|
||||||
|
build_cpu = @build_cpu@
|
||||||
|
build_os = @build_os@
|
||||||
|
build_vendor = @build_vendor@
|
||||||
|
builddir = @builddir@
|
||||||
|
datadir = @datadir@
|
||||||
|
datarootdir = @datarootdir@
|
||||||
|
docdir = @docdir@
|
||||||
|
dvidir = @dvidir@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
host = @host@
|
||||||
|
host_alias = @host_alias@
|
||||||
|
host_cpu = @host_cpu@
|
||||||
|
host_os = @host_os@
|
||||||
|
host_vendor = @host_vendor@
|
||||||
|
htmldir = @htmldir@
|
||||||
|
includedir = @includedir@
|
||||||
|
infodir = @infodir@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
libdir = @libdir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
localedir = @localedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
mandir = @mandir@
|
||||||
|
mkdir_p = @mkdir_p@
|
||||||
|
oldincludedir = @oldincludedir@
|
||||||
|
pdfdir = @pdfdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
program_transform_name = @program_transform_name@
|
||||||
|
psdir = @psdir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
srcdir = @srcdir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
target_alias = @target_alias@
|
||||||
|
top_build_prefix = @top_build_prefix@
|
||||||
|
top_builddir = @top_builddir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
SUBDIRS = cuhre divonne suave vegas common
|
||||||
|
include_HEADERS = cuba.h
|
||||||
|
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
||||||
|
CLEANFILES = common/*~ cuhre/*~ divonne/*~ suave/*~ vegas/*~ *~ core
|
||||||
|
lib_LTLIBRARIES = libcuba.la
|
||||||
|
libcuba_la_SOURCES =
|
||||||
|
libcuba_la_LIBADD = common/libcommon.la cuhre/libcuhre.la divonne/libdivonne.la suave/libsuave.la vegas/libvegas.la -lm
|
||||||
|
libcuba_la_LDFLAGS = -version-info $(CUBA_LIBRARY_VERSION) -release $(CUBA_RELEASE) $(AM_LDFLAGS)
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA = cuba.pc
|
||||||
|
all: all-recursive
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||||
|
@for dep in $?; do \
|
||||||
|
case '$(am__configure_deps)' in \
|
||||||
|
*$$dep*) \
|
||||||
|
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||||
|
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/external/libCuba/src/Makefile'; \
|
||||||
|
$(am__cd) $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --gnu src/external/libCuba/src/Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
@case '$?' in \
|
||||||
|
*config.status*) \
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||||
|
*) \
|
||||||
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||||
|
esac;
|
||||||
|
|
||||||
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
|
||||||
|
$(top_srcdir)/configure: $(am__configure_deps)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
$(am__aclocal_m4_deps):
|
||||||
|
cuba.pc: $(top_builddir)/config.status $(srcdir)/cuba.pc.in
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||||
|
|
||||||
|
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
|
||||||
|
list2=; for p in $$list; do \
|
||||||
|
if test -f $$p; then \
|
||||||
|
list2="$$list2 $$p"; \
|
||||||
|
else :; fi; \
|
||||||
|
done; \
|
||||||
|
test -z "$$list2" || { \
|
||||||
|
echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
|
||||||
|
$(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
|
||||||
|
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
|
||||||
|
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
|
||||||
|
}
|
||||||
|
|
||||||
|
uninstall-libLTLIBRARIES:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
|
||||||
|
for p in $$list; do \
|
||||||
|
$(am__strip_dir) \
|
||||||
|
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
|
||||||
|
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
|
||||||
|
done
|
||||||
|
|
||||||
|
clean-libLTLIBRARIES:
|
||||||
|
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
||||||
|
@list='$(lib_LTLIBRARIES)'; \
|
||||||
|
locs=`for p in $$list; do echo $$p; done | \
|
||||||
|
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
|
||||||
|
sort -u`; \
|
||||||
|
test -z "$$locs" || { \
|
||||||
|
echo rm -f $${locs}; \
|
||||||
|
rm -f $${locs}; \
|
||||||
|
}
|
||||||
|
|
||||||
|
libcuba.la: $(libcuba_la_OBJECTS) $(libcuba_la_DEPENDENCIES) $(EXTRA_libcuba_la_DEPENDENCIES)
|
||||||
|
$(AM_V_CCLD)$(libcuba_la_LINK) -rpath $(libdir) $(libcuba_la_OBJECTS) $(libcuba_la_LIBADD) $(LIBS)
|
||||||
|
|
||||||
|
mostlyclean-compile:
|
||||||
|
-rm -f *.$(OBJEXT)
|
||||||
|
|
||||||
|
distclean-compile:
|
||||||
|
-rm -f *.tab.c
|
||||||
|
|
||||||
|
mostlyclean-libtool:
|
||||||
|
-rm -f *.lo
|
||||||
|
|
||||||
|
clean-libtool:
|
||||||
|
-rm -rf .libs _libs
|
||||||
|
install-pkgconfigDATA: $(pkgconfig_DATA)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
|
||||||
|
if test -n "$$list"; then \
|
||||||
|
echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
|
||||||
|
$(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
|
||||||
|
fi; \
|
||||||
|
for p in $$list; do \
|
||||||
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
echo "$$d$$p"; \
|
||||||
|
done | $(am__base_list) | \
|
||||||
|
while read files; do \
|
||||||
|
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
|
||||||
|
$(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
|
||||||
|
done
|
||||||
|
|
||||||
|
uninstall-pkgconfigDATA:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
|
||||||
|
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||||
|
dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
|
||||||
|
install-includeHEADERS: $(include_HEADERS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
|
||||||
|
if test -n "$$list"; then \
|
||||||
|
echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
|
||||||
|
$(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
|
||||||
|
fi; \
|
||||||
|
for p in $$list; do \
|
||||||
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
echo "$$d$$p"; \
|
||||||
|
done | $(am__base_list) | \
|
||||||
|
while read files; do \
|
||||||
|
echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
|
||||||
|
$(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
|
||||||
|
done
|
||||||
|
|
||||||
|
uninstall-includeHEADERS:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
|
||||||
|
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||||
|
dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
|
||||||
|
|
||||||
|
# This directory's subdirectories are mostly independent; you can cd
|
||||||
|
# into them and run 'make' without going through this Makefile.
|
||||||
|
# To change the values of 'make' variables: instead of editing Makefiles,
|
||||||
|
# (1) if the variable is set in 'config.status', edit 'config.status'
|
||||||
|
# (which will cause the Makefiles to be regenerated when you run 'make');
|
||||||
|
# (2) otherwise, pass the desired values on the 'make' command line.
|
||||||
|
$(am__recursive_targets):
|
||||||
|
@fail=; \
|
||||||
|
if $(am__make_keepgoing); then \
|
||||||
|
failcom='fail=yes'; \
|
||||||
|
else \
|
||||||
|
failcom='exit 1'; \
|
||||||
|
fi; \
|
||||||
|
dot_seen=no; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
case "$@" in \
|
||||||
|
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||||
|
*) list='$(SUBDIRS)' ;; \
|
||||||
|
esac; \
|
||||||
|
for subdir in $$list; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
dot_seen=yes; \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| eval $$failcom; \
|
||||||
|
done; \
|
||||||
|
if test "$$dot_seen" = "no"; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||||
|
fi; test -z "$$fail"
|
||||||
|
|
||||||
|
ID: $(am__tagged_files)
|
||||||
|
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||||
|
tags: tags-recursive
|
||||||
|
TAGS: tags
|
||||||
|
|
||||||
|
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||||
|
set x; \
|
||||||
|
here=`pwd`; \
|
||||||
|
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||||
|
include_option=--etags-include; \
|
||||||
|
empty_fix=.; \
|
||||||
|
else \
|
||||||
|
include_option=--include; \
|
||||||
|
empty_fix=; \
|
||||||
|
fi; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test ! -f $$subdir/TAGS || \
|
||||||
|
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
$(am__define_uniq_tagged_files); \
|
||||||
|
shift; \
|
||||||
|
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||||
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
|
if test $$# -gt 0; then \
|
||||||
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
|
"$$@" $$unique; \
|
||||||
|
else \
|
||||||
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
|
$$unique; \
|
||||||
|
fi; \
|
||||||
|
fi
|
||||||
|
ctags: ctags-recursive
|
||||||
|
|
||||||
|
CTAGS: ctags
|
||||||
|
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||||
|
$(am__define_uniq_tagged_files); \
|
||||||
|
test -z "$(CTAGS_ARGS)$$unique" \
|
||||||
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
|
$$unique
|
||||||
|
|
||||||
|
GTAGS:
|
||||||
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||||
|
&& $(am__cd) $(top_srcdir) \
|
||||||
|
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||||
|
cscopelist: cscopelist-recursive
|
||||||
|
|
||||||
|
cscopelist-am: $(am__tagged_files)
|
||||||
|
list='$(am__tagged_files)'; \
|
||||||
|
case "$(srcdir)" in \
|
||||||
|
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||||
|
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||||
|
esac; \
|
||||||
|
for i in $$list; do \
|
||||||
|
if test -f "$$i"; then \
|
||||||
|
echo "$(subdir)/$$i"; \
|
||||||
|
else \
|
||||||
|
echo "$$sdir/$$i"; \
|
||||||
|
fi; \
|
||||||
|
done >> $(top_builddir)/cscope.files
|
||||||
|
|
||||||
|
distclean-tags:
|
||||||
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
|
distdir: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
distdir-am: $(DISTFILES)
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
list='$(DISTFILES)'; \
|
||||||
|
dist_files=`for file in $$list; do echo $$file; done | \
|
||||||
|
sed -e "s|^$$srcdirstrip/||;t" \
|
||||||
|
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||||
|
case $$dist_files in \
|
||||||
|
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||||
|
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||||
|
sort -u` ;; \
|
||||||
|
esac; \
|
||||||
|
for file in $$dist_files; do \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test -d "$(distdir)/$$file"; then \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f "$(distdir)/$$file" \
|
||||||
|
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
$(am__make_dryrun) \
|
||||||
|
|| test -d "$(distdir)/$$subdir" \
|
||||||
|
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||||
|
|| exit 1; \
|
||||||
|
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||||
|
$(am__relativize); \
|
||||||
|
new_distdir=$$reldir; \
|
||||||
|
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||||
|
$(am__relativize); \
|
||||||
|
new_top_distdir=$$reldir; \
|
||||||
|
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||||
|
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||||
|
($(am__cd) $$subdir && \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
top_distdir="$$new_top_distdir" \
|
||||||
|
distdir="$$new_distdir" \
|
||||||
|
am__remove_distdir=: \
|
||||||
|
am__skip_length_check=: \
|
||||||
|
am__skip_mode_fix=: \
|
||||||
|
distdir) \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
check-am: all-am
|
||||||
|
check: check-recursive
|
||||||
|
all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
|
||||||
|
installdirs: installdirs-recursive
|
||||||
|
installdirs-am:
|
||||||
|
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"; do \
|
||||||
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||||
|
done
|
||||||
|
install: install-recursive
|
||||||
|
install-exec: install-exec-recursive
|
||||||
|
install-data: install-data-recursive
|
||||||
|
uninstall: uninstall-recursive
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-recursive
|
||||||
|
install-strip:
|
||||||
|
if test -z '$(STRIP)'; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
install; \
|
||||||
|
else \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||||
|
fi
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||||
|
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-recursive
|
||||||
|
|
||||||
|
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
|
||||||
|
mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-recursive
|
||||||
|
-rm -f Makefile
|
||||||
|
distclean-am: clean-am distclean-compile distclean-generic \
|
||||||
|
distclean-tags
|
||||||
|
|
||||||
|
dvi: dvi-recursive
|
||||||
|
|
||||||
|
dvi-am:
|
||||||
|
|
||||||
|
html: html-recursive
|
||||||
|
|
||||||
|
html-am:
|
||||||
|
|
||||||
|
info: info-recursive
|
||||||
|
|
||||||
|
info-am:
|
||||||
|
|
||||||
|
install-data-am: install-includeHEADERS install-pkgconfigDATA
|
||||||
|
|
||||||
|
install-dvi: install-dvi-recursive
|
||||||
|
|
||||||
|
install-dvi-am:
|
||||||
|
|
||||||
|
install-exec-am: install-libLTLIBRARIES
|
||||||
|
|
||||||
|
install-html: install-html-recursive
|
||||||
|
|
||||||
|
install-html-am:
|
||||||
|
|
||||||
|
install-info: install-info-recursive
|
||||||
|
|
||||||
|
install-info-am:
|
||||||
|
|
||||||
|
install-man:
|
||||||
|
|
||||||
|
install-pdf: install-pdf-recursive
|
||||||
|
|
||||||
|
install-pdf-am:
|
||||||
|
|
||||||
|
install-ps: install-ps-recursive
|
||||||
|
|
||||||
|
install-ps-am:
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-recursive
|
||||||
|
-rm -f Makefile
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-recursive
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||||
|
mostlyclean-libtool
|
||||||
|
|
||||||
|
pdf: pdf-recursive
|
||||||
|
|
||||||
|
pdf-am:
|
||||||
|
|
||||||
|
ps: ps-recursive
|
||||||
|
|
||||||
|
ps-am:
|
||||||
|
|
||||||
|
uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
|
||||||
|
uninstall-pkgconfigDATA
|
||||||
|
|
||||||
|
.MAKE: $(am__recursive_targets) install-am install-strip
|
||||||
|
|
||||||
|
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
|
||||||
|
check-am clean clean-generic clean-libLTLIBRARIES \
|
||||||
|
clean-libtool cscopelist-am ctags ctags-am distclean \
|
||||||
|
distclean-compile distclean-generic distclean-libtool \
|
||||||
|
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||||
|
install install-am install-data install-data-am install-dvi \
|
||||||
|
install-dvi-am install-exec install-exec-am install-html \
|
||||||
|
install-html-am install-includeHEADERS install-info \
|
||||||
|
install-info-am install-libLTLIBRARIES install-man install-pdf \
|
||||||
|
install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
|
||||||
|
install-strip installcheck installcheck-am installdirs \
|
||||||
|
installdirs-am maintainer-clean maintainer-clean-generic \
|
||||||
|
mostlyclean mostlyclean-compile mostlyclean-generic \
|
||||||
|
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
|
||||||
|
uninstall-am uninstall-includeHEADERS uninstall-libLTLIBRARIES \
|
||||||
|
uninstall-pkgconfigDATA
|
||||||
|
|
||||||
|
.PRECIOUS: Makefile
|
||||||
|
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
34
src/external/libCuba/src/common/CMakeLists.txt
vendored
Normal file
34
src/external/libCuba/src/common/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#--- common -------------------------------------------------------------------
|
||||||
|
|
||||||
|
set(common_src Global.c)
|
||||||
|
set(common_src ${common_src} Data.c)
|
||||||
|
if (HAVE_FORK)
|
||||||
|
set(common_src ${common_src} Fork.c)
|
||||||
|
endif (HAVE_FORK)
|
||||||
|
|
||||||
|
#--- obj lib creation ---------------------------------------------------------
|
||||||
|
add_library(common OBJECT ${common_src})
|
||||||
|
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
common BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- check for pre compile flags ----------------------------------------------
|
||||||
|
set(COMP_DEF "-DHAVE_CONFIG_H")
|
||||||
|
set(COMP_DEF ${COMP_DEF} "-DNOUNDERSCORE")
|
||||||
|
|
||||||
|
target_compile_definitions(
|
||||||
|
common PRIVATE ${COMP_DEF}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(COMP_OPT "-O3")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-fomit-frame-pointer")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-ffast-math")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-fPIC")
|
||||||
|
target_compile_options(
|
||||||
|
common PRIVATE ${COMP_OPT}
|
||||||
|
)
|
39
src/external/libCuba/src/common/CSample.c
vendored
39
src/external/libCuba/src/common/CSample.c
vendored
@ -3,19 +3,27 @@
|
|||||||
the serial sampling routine
|
the serial sampling routine
|
||||||
for the C versions of the Cuba routines
|
for the C versions of the Cuba routines
|
||||||
by Thomas Hahn
|
by Thomas Hahn
|
||||||
last modified 19 Dec 11 th
|
last modified 9 Oct 14 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
static inline number SampleRaw(cThis *t, number n, creal *x, real *f
|
coreinit cubafun_;
|
||||||
VES_ONLY(, creal *w, ccount iter))
|
extern int cubaverb_;
|
||||||
|
extern corespec cubaworkers_;
|
||||||
|
|
||||||
|
|
||||||
|
static inline number SampleRaw(This *t, number n, creal *x, real *f,
|
||||||
|
cint core VES_ONLY(, creal *w, ccount iter))
|
||||||
{
|
{
|
||||||
for( ; n; --n ) {
|
number nvec;
|
||||||
if( t->integrand(&t->ndim, x, &t->ncomp, f, t->userdata
|
for( nvec = t->nvec; n > 0; n -= nvec ) {
|
||||||
VES_ONLY(, w++, &iter)
|
nvec = IMin(n, nvec);
|
||||||
|
if( t->integrand(&t->ndim, x, &t->ncomp, f, t->userdata, &nvec, &core
|
||||||
|
VES_ONLY(, w, &iter)
|
||||||
DIV_ONLY(, &t->phase)) == ABORT ) return -1;
|
DIV_ONLY(, &t->phase)) == ABORT ) return -1;
|
||||||
x += t->ndim;
|
VES_ONLY(w += nvec;)
|
||||||
f += t->ncomp;
|
x += nvec*t->ndim;
|
||||||
|
f += nvec*t->ncomp;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -25,8 +33,9 @@ static inline number SampleRaw(cThis *t, number n, creal *x, real *f
|
|||||||
static inline void DoSampleSerial(This *t, cnumber n, creal *x, real *f
|
static inline void DoSampleSerial(This *t, cnumber n, creal *x, real *f
|
||||||
VES_ONLY(, creal *w, ccount iter))
|
VES_ONLY(, creal *w, ccount iter))
|
||||||
{
|
{
|
||||||
|
MasterInit();
|
||||||
t->neval += n;
|
t->neval += n;
|
||||||
if( SampleRaw(t, n, x, f VES_ONLY(, w, iter)) )
|
if( SampleRaw(t, n, x, f, -1 VES_ONLY(, w, iter)) )
|
||||||
longjmp(t->abort, -99);
|
longjmp(t->abort, -99);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,7 +52,13 @@ DIV_ONLY(static int Explore(This *t, cint iregion);)
|
|||||||
#define DoSample DoSampleSerial
|
#define DoSample DoSampleSerial
|
||||||
#define Explore ExploreSerial
|
#define Explore ExploreSerial
|
||||||
#define ForkCores(t)
|
#define ForkCores(t)
|
||||||
#define WaitCores(t)
|
|
||||||
|
static inline void WaitCores(This *t, Spin **pspin)
|
||||||
|
{
|
||||||
|
if( Invalid(pspin) ) MasterExit();
|
||||||
|
}
|
||||||
|
|
||||||
|
#define WaitCores(t, pspin)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -51,7 +66,7 @@ DIV_ONLY(static int Explore(This *t, cint iregion);)
|
|||||||
static inline count SampleExtra(This *t, cBounds *b)
|
static inline count SampleExtra(This *t, cBounds *b)
|
||||||
{
|
{
|
||||||
number n = t->nextra;
|
number n = t->nextra;
|
||||||
t->peakfinder(&t->ndim, b, &n, t->xextra);
|
t->peakfinder(&t->ndim, b, &n, t->xextra, t->userdata);
|
||||||
DoSample(t, n, t->xextra, t->fextra);
|
DoSample(t, n, t->xextra, t->fextra);
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
@ -60,7 +75,7 @@ static inline count SampleExtra(This *t, cBounds *b)
|
|||||||
#include "common.c"
|
#include "common.c"
|
||||||
|
|
||||||
#ifdef HAVE_FORK
|
#ifdef HAVE_FORK
|
||||||
#include "Fork.c"
|
#include "Parallel.c"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "Integrate.c"
|
#include "Integrate.c"
|
||||||
|
10
src/external/libCuba/src/common/ChiSquare.c
vendored
10
src/external/libCuba/src/common/ChiSquare.c
vendored
@ -3,7 +3,7 @@
|
|||||||
the chi-square cdf
|
the chi-square cdf
|
||||||
after W.J. Kennedy and J.E. Gentle,
|
after W.J. Kennedy and J.E. Gentle,
|
||||||
Statistical computing, p. 116
|
Statistical computing, p. 116
|
||||||
last modified 9 Feb 05 th
|
last modified 12 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_ERF
|
#ifdef HAVE_ERF
|
||||||
@ -31,7 +31,7 @@ static real ChiSquare(creal x, cint df)
|
|||||||
if( df > 1000 ) {
|
if( df > 1000 ) {
|
||||||
if( x < 2 ) return 0;
|
if( x < 2 ) return 0;
|
||||||
y = 2./(9*df);
|
y = 2./(9*df);
|
||||||
y = (pow(x/df, 1/3.) - (1 - y))/sqrt(y);
|
y = (powx(x/df, 1/3.) - (1 - y))/sqrtx(y);
|
||||||
if( y > 5 ) return 1;
|
if( y > 5 ) return 1;
|
||||||
if( y < -18.8055 ) return 0;
|
if( y < -18.8055 ) return 0;
|
||||||
return Normal(y);
|
return Normal(y);
|
||||||
@ -40,13 +40,13 @@ static real ChiSquare(creal x, cint df)
|
|||||||
y = .5*x;
|
y = .5*x;
|
||||||
|
|
||||||
if( df & 1 ) {
|
if( df & 1 ) {
|
||||||
creal sqrty = sqrt(y);
|
creal sqrty = sqrtx(y);
|
||||||
real h = Erf(sqrty);
|
real h = Erf(sqrty);
|
||||||
count i;
|
count i;
|
||||||
|
|
||||||
if( df == 1 ) return h;
|
if( df == 1 ) return h;
|
||||||
|
|
||||||
y = sqrty*exp(-y)/.8862269254527579825931;
|
y = sqrty*expx(-y)/.8862269254527579825931;
|
||||||
for( i = 3; i < df; i += 2 ) {
|
for( i = 3; i < df; i += 2 ) {
|
||||||
h -= y;
|
h -= y;
|
||||||
y *= x/i;
|
y *= x/i;
|
||||||
@ -54,7 +54,7 @@ static real ChiSquare(creal x, cint df)
|
|||||||
y = h - y;
|
y = h - y;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
real term = exp(-y), sum = term;
|
real term = expx(-y), sum = term;
|
||||||
count i;
|
count i;
|
||||||
|
|
||||||
for( i = 1; i < df/2; ++i )
|
for( i = 1; i < df/2; ++i )
|
||||||
|
18
src/external/libCuba/src/common/Data.c
vendored
Normal file
18
src/external/libCuba/src/common/Data.c
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
Data.c
|
||||||
|
initialized data for Cuba
|
||||||
|
by Thomas Hahn
|
||||||
|
last modified 21 Jul 14 th
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "stddecl.h"
|
||||||
|
|
||||||
|
int cubaverb_ = uninitialized;
|
||||||
|
|
||||||
|
#ifdef HAVE_FORK
|
||||||
|
corespec cubaworkers_ = {
|
||||||
|
uninitialized, uninitialized,
|
||||||
|
uninitialized, uninitialized };
|
||||||
|
#endif
|
||||||
|
|
8
src/external/libCuba/src/common/Erf.c
vendored
8
src/external/libCuba/src/common/Erf.c
vendored
@ -4,7 +4,7 @@
|
|||||||
= 2/Sqrt[Pi] Integrate[Exp[-t^2], {t, 0, x}]
|
= 2/Sqrt[Pi] Integrate[Exp[-t^2], {t, 0, x}]
|
||||||
Code from Takuya Ooura's gamerf2a.f
|
Code from Takuya Ooura's gamerf2a.f
|
||||||
http://www.kurims.kyoto-u.ac.jp/~ooura/gamerf.html
|
http://www.kurims.kyoto-u.ac.jp/~ooura/gamerf.html
|
||||||
last modified 8 Feb 05 th
|
last modified 12 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -21,12 +21,12 @@ static real Erfc(creal x)
|
|||||||
1.66642447174307753e-07, 1.48455557345597957e+01,
|
1.66642447174307753e-07, 1.48455557345597957e+01,
|
||||||
6.10399733098688199e+00, 1.26974899965115684e+01 };
|
6.10399733098688199e+00, 1.26974899965115684e+01 };
|
||||||
real y = x*x;
|
real y = x*x;
|
||||||
y = exp(-y)*x*(
|
y = expx(-y)*x*(
|
||||||
c[0]/(y + c[1]) + c[2]/(y + c[3]) +
|
c[0]/(y + c[1]) + c[2]/(y + c[3]) +
|
||||||
c[4]/(y + c[5]) + c[6]/(y + c[7]) +
|
c[4]/(y + c[5]) + c[6]/(y + c[7]) +
|
||||||
c[8]/(y + c[9]) + c[10]/(y + c[11]) +
|
c[8]/(y + c[9]) + c[10]/(y + c[11]) +
|
||||||
c[12]/(y + c[13]) + c[14]/(y + c[15]) );
|
c[12]/(y + c[13]) + c[14]/(y + c[15]) );
|
||||||
if( x < c[16] ) y += 2/(exp(c[17]*x) + 1);
|
if( x < c[16] ) y += 2/(expx(c[17]*x) + 1);
|
||||||
return y;
|
return y;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ static real Erf(creal x)
|
|||||||
-2.68661698447642378e-02,
|
-2.68661698447642378e-02,
|
||||||
5.22387877685618101e-03,
|
5.22387877685618101e-03,
|
||||||
-8.49202435186918470e-04 };
|
-8.49202435186918470e-04 };
|
||||||
real y = fabs(x);
|
real y = fabsx(x);
|
||||||
if( y > .125 ) {
|
if( y > .125 ) {
|
||||||
y = 1 - Erfc(y);
|
y = 1 - Erfc(y);
|
||||||
return (x > 0) ? y : -y;
|
return (x > 0) ? y : -y;
|
||||||
|
494
src/external/libCuba/src/common/Fork.c
vendored
494
src/external/libCuba/src/common/Fork.c
vendored
@ -1,389 +1,98 @@
|
|||||||
/*
|
/*
|
||||||
Fork.c
|
Fork.c
|
||||||
the parallel sampling routine
|
fork the cores for parallel sampling
|
||||||
for the C versions of the Cuba routines
|
(C version only)
|
||||||
by Thomas Hahn
|
by Thomas Hahn
|
||||||
last modified 25 Sep 13 th
|
last modified 23 Apr 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define MINSLICE 10
|
|
||||||
|
#define ROUTINE "cubafork"
|
||||||
|
#include "stddecl.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_FORK
|
||||||
|
|
||||||
|
#include "sock.h"
|
||||||
|
|
||||||
#define MINCORES 1
|
#define MINCORES 1
|
||||||
/*#define MINCORES 2*/
|
|
||||||
|
|
||||||
typedef struct {
|
extern coreinit cubafun_;
|
||||||
number n, m, i;
|
extern int cubaverb_;
|
||||||
VES_ONLY(count iter;)
|
extern corespec cubaworkers_;
|
||||||
DIV_ONLY(int phase SHM_ONLY(, shmid);)
|
|
||||||
} Slice;
|
|
||||||
|
|
||||||
workerini cubaini;
|
/*********************************************************************/
|
||||||
|
|
||||||
#if defined HAVE_SHMGET && (defined SUAVE || defined DIVONNE)
|
static inline void Child(cint fd, cint core)
|
||||||
#define FRAMECOPY
|
{
|
||||||
#endif
|
dispatch d;
|
||||||
|
|
||||||
#ifdef DEBUG
|
while( readsock(fd, &d, sizeof d) == sizeof d ) {
|
||||||
#define TERM_RED "\e[31m"
|
if( d.thissize ) {
|
||||||
#define TERM_BLUE "\e[34m"
|
MemAlloc(d.thisptr, d.thissize);
|
||||||
#define TERM_RESET "\e[0m\n"
|
WORKER("reading This (%lu)", d.thissize);
|
||||||
#define MASTER(s, ...) \
|
readsock(fd, d.thisptr, d.thissize);
|
||||||
fprintf(stderr, TERM_RED ROUTINE " master %d(%d): " s TERM_RESET, core, getpid(), ##__VA_ARGS__)
|
}
|
||||||
#define WORKER(s, ...) \
|
WORKER("running %p on fd %d", d.thisptr, fd);
|
||||||
fprintf(stderr, TERM_BLUE ROUTINE " worker %d(%d): " s TERM_RESET, core, getpid(), ##__VA_ARGS__)
|
d.worker(d.thisptr, d.thissize, core, fd);
|
||||||
|
if( d.thissize ) free(d.thisptr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
Extern void SUFFIX(cubafork)(Spin **pspin)
|
||||||
|
{
|
||||||
|
char out[128];
|
||||||
|
int cores, core;
|
||||||
|
fdpid *pfp;
|
||||||
|
Spin *spin;
|
||||||
|
|
||||||
|
VerboseInit();
|
||||||
|
|
||||||
|
EnvInit(cubaworkers_.paccel, "CUBAACCELMAX", 1000);
|
||||||
|
EnvInit(cubaworkers_.pcores, "CUBACORESMAX", 10000);
|
||||||
|
EnvInit(cubaworkers_.naccel, "CUBAACCEL", 0);
|
||||||
|
EnvInit(cubaworkers_.ncores, "CUBACORES", -sysconf(_SC_NPROCESSORS_ONLN));
|
||||||
|
|
||||||
|
#ifdef HAVE_GETLOADAVG
|
||||||
|
if( cubaworkers_.ncores < 0 ) {
|
||||||
|
static int load = uninitialized;
|
||||||
|
if( load == uninitialized ) {
|
||||||
|
double loadavg;
|
||||||
|
getloadavg(&loadavg, 1);
|
||||||
|
load = floor(loadavg);
|
||||||
|
}
|
||||||
|
cubaworkers_.ncores = IMax(-cubaworkers_.ncores - load, 0);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
#define MASTER(s, ...)
|
cubaworkers_.ncores = abs(cubaworkers_.ncores);
|
||||||
#define WORKER(s, ...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*********************************************************************/
|
cores = cubaworkers_.naccel + cubaworkers_.ncores;
|
||||||
|
if( cores < MINCORES ) {
|
||||||
#ifndef MSG_WAITALL
|
*pspin = NULL;
|
||||||
/* Windows */
|
return;
|
||||||
#define MSG_WAITALL 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static inline int readsock(int fd, void *data, size_t n)
|
|
||||||
{
|
|
||||||
ssize_t got;
|
|
||||||
size_t remain = n;
|
|
||||||
do got = recv(fd, data, remain, MSG_WAITALL);
|
|
||||||
while( got > 0 && (data += got, remain -= got) > 0 );
|
|
||||||
return got;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int writesock(int fd, const void *data, size_t n)
|
|
||||||
{
|
|
||||||
ssize_t got;
|
|
||||||
size_t remain = n;
|
|
||||||
do got = send(fd, data, remain, MSG_WAITALL);
|
|
||||||
while( got > 0 && (data += got, remain -= got) > 0 );
|
|
||||||
return got;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
static void DoSample(This *t, number n, creal *x, real *f
|
|
||||||
VES_ONLY(, creal *w, ccount iter))
|
|
||||||
{
|
|
||||||
cint ncores = IMin(t->ncores, n/MINSLICE);
|
|
||||||
|
|
||||||
if( ncores < MINCORES ) DoSampleSerial(t, n, x, f VES_ONLY(, w, iter));
|
|
||||||
else {
|
|
||||||
Slice slice;
|
|
||||||
int core, abort;
|
|
||||||
number nx;
|
|
||||||
char s[128];
|
|
||||||
|
|
||||||
t->neval += n;
|
|
||||||
|
|
||||||
nx = n % ncores;
|
|
||||||
slice.m = slice.n = n/ncores + 1;
|
|
||||||
if( VERBOSE > 2 ) {
|
|
||||||
sprintf(s, "sampling " NUMBER " points each on %d cores",
|
|
||||||
slice.n, ncores);
|
|
||||||
Print(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
slice.i = 0;
|
|
||||||
VES_ONLY(slice.iter = iter;)
|
|
||||||
DIV_ONLY(slice.phase = t->phase;)
|
|
||||||
|
|
||||||
#ifdef DIVONNE
|
|
||||||
if( n > t->nframe ) {
|
|
||||||
FrameFree(t, ShmRm(t));
|
|
||||||
t->nframe = n;
|
|
||||||
FrameAlloc(t);
|
|
||||||
}
|
|
||||||
SHM_ONLY(slice.shmid = t->shmid;)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
SHM_ONLY(if( t->shmid != -1 ) {
|
|
||||||
slice.m = n;
|
|
||||||
#ifdef FRAMECOPY
|
|
||||||
VES_ONLY(Copy(t->frame, w, n);)
|
|
||||||
Copy(t->frame + n*NW, x, n*t->ndim);
|
|
||||||
#endif
|
|
||||||
})
|
|
||||||
|
|
||||||
for( core = 0; core < ncores; ++core ) {
|
|
||||||
cint fd = t->child[core];
|
|
||||||
slice.n -= (core == nx);
|
|
||||||
MASTER("sending samples (sli:%lu[+" VES_ONLY(NUMBER "w:%lu+")
|
|
||||||
NUMBER "x:%lu]) to fd %d",
|
|
||||||
sizeof slice, VES_ONLY(slice.n, sizeof *w,)
|
|
||||||
slice.n, t->ndim*sizeof *x, fd);
|
|
||||||
writesock(fd, &slice, sizeof slice);
|
|
||||||
SHM_ONLY(if( t->shmid == -1 )) {
|
|
||||||
VES_ONLY(writesock(fd, w, slice.n*sizeof *w);
|
|
||||||
w += slice.n;)
|
|
||||||
writesock(fd, x, slice.n*t->ndim*sizeof *x);
|
|
||||||
x += slice.n*t->ndim;
|
|
||||||
}
|
|
||||||
slice.i += slice.n;
|
|
||||||
}
|
|
||||||
|
|
||||||
abort = 0;
|
|
||||||
for( core = 0; core < ncores; ++core ) {
|
|
||||||
cint fd = t->child[core];
|
|
||||||
readsock(fd, &slice, sizeof slice);
|
|
||||||
MASTER("reading samples (sli:%lu[+" NUMBER "f:%lu]) from fd %d",
|
|
||||||
sizeof slice, slice.n, t->ncomp*sizeof *f, fd);
|
|
||||||
if( slice.n == -1 ) abort = 1;
|
|
||||||
else SHM_ONLY(if( t->shmid == -1 )) readsock(fd,
|
|
||||||
f + slice.i*t->ncomp, slice.n*t->ncomp*sizeof *f);
|
|
||||||
}
|
|
||||||
if( abort ) longjmp(t->abort, -99);
|
|
||||||
|
|
||||||
#ifdef FRAMECOPY
|
|
||||||
if( t->shmid != -1 )
|
|
||||||
Copy(f, t->frame + slice.m*(NW + t->ndim), slice.m*t->ncomp);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
#ifdef DIVONNE
|
|
||||||
|
|
||||||
static inline int ReadyCore(cThis *t)
|
|
||||||
{
|
|
||||||
fd_set ready;
|
|
||||||
int core, n = 0;
|
|
||||||
|
|
||||||
FD_ZERO(&ready);
|
|
||||||
for( core = 0; core < t->ncores; ++core ) {
|
|
||||||
FD_SET(t->child[core], &ready);
|
|
||||||
n = IMax(n, t->child[core]);
|
|
||||||
}
|
|
||||||
select(n + 1, &ready, NULL, NULL, NULL);
|
|
||||||
|
|
||||||
for( core = 0; core < t->ncores; ++core )
|
|
||||||
if( FD_ISSET(t->child[core], &ready) ) break;
|
|
||||||
|
|
||||||
return core;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
number neval, neval_opt, neval_cut;
|
|
||||||
count nregions, iregion, retval;
|
|
||||||
} ExploreResult;
|
|
||||||
|
|
||||||
static int Explore(This *t, cint iregion)
|
|
||||||
{
|
|
||||||
csize_t regionsize = RegionSize;
|
|
||||||
Region *region;
|
|
||||||
int ireg = iregion, core = t->running;
|
|
||||||
Vector(Totals, totals, NCOMP);
|
|
||||||
|
|
||||||
if( t->ncores < MINCORES ) return ExploreSerial(t, iregion);
|
|
||||||
|
|
||||||
if( t->running >= ((iregion < 0) ? 1 : t->ncores) ) {
|
|
||||||
cint fd = t->child[core = ReadyCore(t)];
|
|
||||||
ExploreResult res;
|
|
||||||
count comp, succ;
|
|
||||||
|
|
||||||
--t->running;
|
|
||||||
MASTER("reading res + region (res:%lu+reg:%lu) from fd %d",
|
|
||||||
sizeof res, regionsize, fd);
|
|
||||||
readsock(fd, &res, sizeof res);
|
|
||||||
ireg = res.iregion;
|
|
||||||
region = RegionPtr(ireg);
|
|
||||||
succ = ireg + region->next;
|
|
||||||
readsock(fd, region, regionsize);
|
|
||||||
if( --res.nregions > 0 ) {
|
|
||||||
region->next = t->nregions - ireg;
|
|
||||||
EnlargeRegions(t, res.nregions);
|
|
||||||
MASTER("reading regions (%dreg:%lu) from fd %d",
|
|
||||||
res.nregions, regionsize, fd);
|
|
||||||
readsock(fd, RegionPtr(t->nregions), res.nregions*regionsize);
|
|
||||||
t->nregions += res.nregions;
|
|
||||||
|
|
||||||
RegionPtr(t->nregions-1)->next = succ - t->nregions + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
MASTER("reading totals (tot:%lu) from fd %d",
|
|
||||||
t->ncomp*sizeof(Totals), fd);
|
|
||||||
readsock(fd, totals, t->ncomp*sizeof(Totals));
|
|
||||||
for( comp = 0; comp < t->ncomp; ++comp )
|
|
||||||
t->totals[comp].secondspread =
|
|
||||||
Max(t->totals[comp].secondspread, totals[comp].secondspread);
|
|
||||||
|
|
||||||
t->neval += res.neval;
|
|
||||||
t->neval_opt += res.neval_opt;
|
|
||||||
t->neval_cut += res.neval_cut;
|
|
||||||
|
|
||||||
if( res.retval == -1 ) return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( iregion >= 0 ) {
|
if( cubaverb_ ) {
|
||||||
Slice slice;
|
sprintf(out, "using %d cores %d accelerators via "
|
||||||
cint fd = t->child[core];
|
|
||||||
slice.n = 0;
|
|
||||||
slice.i = iregion;
|
|
||||||
slice.phase = t->phase;
|
|
||||||
region = RegionPtr(iregion);
|
|
||||||
MASTER("writing region (sli:%lu+sam:%lu+reg:%lu+tot:%lu) to fd %d",
|
|
||||||
sizeof slice, sizeof(Samples), regionsize,
|
|
||||||
t->ncomp*sizeof(Totals), fd);
|
|
||||||
writesock(fd, &slice, sizeof slice);
|
|
||||||
writesock(fd, &t->samples[region->isamples], sizeof(Samples));
|
|
||||||
writesock(fd, region, regionsize);
|
|
||||||
writesock(fd, t->totals, t->ncomp*sizeof(Totals));
|
|
||||||
region->depth = 0;
|
|
||||||
++t->running;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ireg;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
static void DoChild(This *t, cint core, cint fd)
|
|
||||||
{
|
|
||||||
Slice slice;
|
|
||||||
|
|
||||||
#ifdef DIVONNE
|
|
||||||
csize_t regionsize = RegionSize;
|
|
||||||
Vector(Totals, totals, NCOMP);
|
|
||||||
ExploreResult res;
|
|
||||||
|
|
||||||
t->totals = totals;
|
|
||||||
t->ncores = 0; /* no recursive forks */
|
|
||||||
t->size = 2*t->ndim + 2;
|
|
||||||
AllocRegions(t);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef SUAVE
|
|
||||||
SHM_ONLY(if( t->shmid == -1 ))
|
|
||||||
MemAlloc(t->frame, t->nframe*SAMPLESIZE);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if( cubaini.initfun ) cubaini.initfun(cubaini.initarg);
|
|
||||||
|
|
||||||
while( readsock(fd, &slice, sizeof slice) ) {
|
|
||||||
number n = slice.n;
|
|
||||||
DIV_ONLY(t->phase = slice.phase;)
|
|
||||||
if( n > 0 ) {
|
|
||||||
real VES_ONLY(*w,) *x, *f;
|
|
||||||
WORKER("reading samples (sli:%lu[+" VES_ONLY(NUMBER "w:%lu+")
|
|
||||||
NUMBER "x:%lu]) from fd %d",
|
|
||||||
sizeof slice, VES_ONLY(n, sizeof *w,) n, t->ndim*sizeof *x, fd);
|
|
||||||
|
|
||||||
#ifdef DIVONNE
|
|
||||||
if( slice.m > t->nframe ) {
|
|
||||||
FrameFree(t);
|
|
||||||
t->nframe = slice.m;
|
|
||||||
SHM_ONLY(t->shmid = slice.shmid; ShmMap(t) else)
|
|
||||||
MemAlloc(t->frame, t->nframe*SAMPLESIZE);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
VES_ONLY(w = t->frame;)
|
|
||||||
x = t->frame + slice.m*NW;
|
|
||||||
f = x + slice.m*t->ndim;
|
|
||||||
|
|
||||||
SHM_ONLY(if( t->shmid != -1 ) {
|
|
||||||
VES_ONLY(w += slice.i;)
|
|
||||||
x += slice.i*t->ndim;
|
|
||||||
f += slice.i*t->ncomp;
|
|
||||||
}
|
|
||||||
else) {
|
|
||||||
VES_ONLY(readsock(fd, w, n*sizeof *w);)
|
|
||||||
readsock(fd, x, n*t->ndim*sizeof *x);
|
|
||||||
}
|
|
||||||
|
|
||||||
slice.n |= SampleRaw(t, n, x, f VES_ONLY(, w, slice.iter));
|
|
||||||
WORKER("writing samples (sli:%lu[+" NUMBER "f:%lu]) to fd %d",
|
|
||||||
sizeof slice, slice.n, t->ncomp*sizeof *f, fd);
|
|
||||||
writesock(fd, &slice, sizeof slice);
|
|
||||||
if( SHM_ONLY(t->shmid == -1 &&) slice.n != -1 )
|
|
||||||
writesock(fd, f, slice.n*t->ncomp*sizeof *f);
|
|
||||||
}
|
|
||||||
#ifdef DIVONNE
|
|
||||||
else {
|
|
||||||
Samples *samples, psamples;
|
|
||||||
|
|
||||||
WORKER("reading region (sli:%lu+sam:%lu+reg:%lu+tot:%lu) from fd %d",
|
|
||||||
sizeof slice, sizeof(Samples), regionsize,
|
|
||||||
t->ncomp*sizeof(Totals), fd);
|
|
||||||
readsock(fd, &psamples, sizeof(Samples));
|
|
||||||
readsock(fd, t->region, regionsize);
|
|
||||||
readsock(fd, totals, t->ncomp*sizeof(Totals));
|
|
||||||
t->nregions = 1;
|
|
||||||
t->neval = t->neval_opt = t->neval_cut = 0;
|
|
||||||
|
|
||||||
samples = &t->samples[RegionPtr(0)->isamples];
|
|
||||||
if( psamples.n != samples->n ) {
|
|
||||||
SamplesFree(samples);
|
|
||||||
*samples = psamples;
|
|
||||||
SamplesAlloc(t, samples);
|
|
||||||
}
|
|
||||||
|
|
||||||
res.retval = ExploreSerial(t, 0);
|
|
||||||
res.neval = t->neval;
|
|
||||||
res.neval_opt = t->neval_opt;
|
|
||||||
res.neval_cut = t->neval_cut;
|
|
||||||
res.nregions = t->nregions;
|
|
||||||
res.iregion = slice.i;
|
|
||||||
WORKER("writing regions (res:%lu+%dreg:%lu+tot:%lu) to fd %d",
|
|
||||||
sizeof res, t->nregions, regionsize,
|
|
||||||
t->ncomp*sizeof(Totals), fd);
|
|
||||||
writesock(fd, &res, sizeof res);
|
|
||||||
writesock(fd, t->region, t->nregions*regionsize);
|
|
||||||
writesock(fd, totals, t->ncomp*sizeof(Totals));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
WORKER("wrapping up");
|
|
||||||
if( cubaini.exitfun ) cubaini.exitfun(cubaini.exitarg);
|
|
||||||
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
#ifdef HAVE_GETLOADAVG
|
|
||||||
double cubaloadavg_;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static inline void ForkCores(This *t)
|
|
||||||
{
|
|
||||||
int core;
|
|
||||||
char s[128];
|
|
||||||
cchar *env = getenv("CUBACORES");
|
|
||||||
|
|
||||||
t->ncores = env ? atoi(env) : sysconf(_SC_NPROCESSORS_ONLN);
|
|
||||||
#ifdef HAVE_GETLOADAVG
|
|
||||||
if( env == NULL || t->ncores < 0 ) {
|
|
||||||
if( cubaloadavg_ < 0 ) getloadavg(&cubaloadavg_, 1);
|
|
||||||
t->ncores = abs(t->ncores) - floor(cubaloadavg_);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
DIV_ONLY(t->running = 0;)
|
|
||||||
|
|
||||||
if( t->ncores < MINCORES ) return;
|
|
||||||
if( VERBOSE ) {
|
|
||||||
sprintf(s, "using %d cores via "
|
|
||||||
#ifdef HAVE_SHMGET
|
#ifdef HAVE_SHMGET
|
||||||
"shared memory",
|
"shared memory",
|
||||||
#else
|
#else
|
||||||
"pipes",
|
"pipes",
|
||||||
#endif
|
#endif
|
||||||
t->ncores);
|
cubaworkers_.ncores, cubaworkers_.naccel);
|
||||||
Print(s);
|
Print(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
fflush(NULL); /* make sure all buffers are flushed,
|
fflush(NULL); /* make sure all buffers are flushed,
|
||||||
or else buffered content will be written
|
or else buffered content will be written
|
||||||
out multiply, at each child's exit(0) */
|
out multiply, at each child's exit(0) */
|
||||||
|
|
||||||
Alloc(t->child, t->ncores);
|
MemAlloc(spin, sizeof *spin + cores*sizeof *spin->fp);
|
||||||
for( core = 0; core < t->ncores; ++core ) {
|
spin->spec = cubaworkers_;
|
||||||
|
pfp = spin->fp;
|
||||||
|
for( core = -spin->spec.naccel; core < spin->spec.ncores; ++core ) {
|
||||||
int fd[2];
|
int fd[2];
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
assert(
|
assert(
|
||||||
@ -391,32 +100,65 @@ static inline void ForkCores(This *t)
|
|||||||
(pid = fork()) != -1 );
|
(pid = fork()) != -1 );
|
||||||
if( pid == 0 ) {
|
if( pid == 0 ) {
|
||||||
close(fd[0]);
|
close(fd[0]);
|
||||||
DoChild(t, core, fd[1]);
|
free(spin);
|
||||||
|
Child(fd[1], core);
|
||||||
|
exit(0);
|
||||||
}
|
}
|
||||||
MASTER("forked pid %d pipe %d(master) -> %d(worker)",
|
MASTER("forked pid %d pipe %d(master) -> %d(worker)",
|
||||||
pid, fd[0], fd[1]);
|
pid, fd[0], fd[1]);
|
||||||
close(fd[1]);
|
close(fd[1]);
|
||||||
t->child[core] = fd[0];
|
pfp->fd = fd[0];
|
||||||
|
pfp->pid = pid;
|
||||||
|
++pfp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*pspin = spin;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
static inline void WaitCores(cThis *t)
|
Extern void SUFFIX(cubawait)(Spin **pspin)
|
||||||
{
|
{
|
||||||
if( t->ncores >= MINCORES ) {
|
int cores, core, status;
|
||||||
int core;
|
Spin *spin;
|
||||||
pid_t pid;
|
|
||||||
for( core = 0; core < t->ncores; ++core ) {
|
MasterExit();
|
||||||
MASTER("closing fd %d", t->child[core]);
|
|
||||||
close(t->child[core]);
|
if( Invalid(pspin) || (spin = *pspin) == NULL ) return;
|
||||||
}
|
|
||||||
free(t->child);
|
cores = spin->spec.naccel + spin->spec.ncores;
|
||||||
for( core = 0; core < t->ncores; ++core ) {
|
|
||||||
MASTER("waiting for child");
|
for( core = 0; core < cores; ++core ) {
|
||||||
wait(&pid);
|
MASTER("closing fd %d", spin->fp[core].fd);
|
||||||
MASTER("pid %d terminated", pid);
|
close(spin->fp[core].fd);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef KILL_WORKERS
|
||||||
|
for( core = 0; core < cores; ++core ) {
|
||||||
|
MASTER("killing pid %d", spin->fp[core].pid);
|
||||||
|
kill(spin->fp[core].pid, SIGKILL);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
for( core = 0; core < cores; ++core ) {
|
||||||
|
DEB_ONLY(pid_t pid;)
|
||||||
|
MASTER("waiting for child");
|
||||||
|
DEB_ONLY(pid =) wait(&status);
|
||||||
|
MASTER("pid %d terminated with exit code %d", pid, status);
|
||||||
|
}
|
||||||
|
|
||||||
|
free(spin);
|
||||||
|
*pspin = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
Extern void SUFFIX(cubafork)(Spin **pspin) {}
|
||||||
|
|
||||||
|
Extern void SUFFIX(cubawait)(Spin **pspin)
|
||||||
|
{
|
||||||
|
MasterExit();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
58
src/external/libCuba/src/common/Global.c
vendored
Normal file
58
src/external/libCuba/src/common/Global.c
vendored
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
Global.c
|
||||||
|
set global vars
|
||||||
|
by Thomas Hahn
|
||||||
|
last modified 21 Jul 14 th
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "stddecl.h"
|
||||||
|
|
||||||
|
|
||||||
|
coreinit cubafun_;
|
||||||
|
extern int cubaverb_;
|
||||||
|
|
||||||
|
#ifdef HAVE_FORK
|
||||||
|
extern corespec cubaworkers_;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
Extern void SUFFIX(cubaverbose)(cint verb)
|
||||||
|
{
|
||||||
|
cubaverb_ = verb;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
Extern void SUFFIX(cubacores)(cint n, cint p)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_FORK
|
||||||
|
cubaworkers_.ncores = n;
|
||||||
|
cubaworkers_.pcores = p;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
Extern void SUFFIX(cubaaccel)(cint n, cint p)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_FORK
|
||||||
|
cubaworkers_.naccel = n;
|
||||||
|
cubaworkers_.paccel = p;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
Extern void SUFFIX(cubainit)(subroutine f, void *arg)
|
||||||
|
{
|
||||||
|
cubafun_.initfun = f;
|
||||||
|
cubafun_.initarg = arg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
Extern void SUFFIX(cubaexit)(subroutine f, void *arg)
|
||||||
|
{
|
||||||
|
cubafun_.exitfun = f;
|
||||||
|
cubafun_.exitarg = arg;
|
||||||
|
}
|
||||||
|
|
22
src/external/libCuba/src/common/MSample.c
vendored
22
src/external/libCuba/src/common/MSample.c
vendored
@ -3,7 +3,7 @@
|
|||||||
the sampling routine for the
|
the sampling routine for the
|
||||||
Mathematica versions of the Cuba routines
|
Mathematica versions of the Cuba routines
|
||||||
by Thomas Hahn
|
by Thomas Hahn
|
||||||
last modified 19 Mar 12 th
|
last modified 13 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -11,20 +11,20 @@ static void DoSample(This *t, cnumber n, real *x, real *f
|
|||||||
VES_ONLY(, real *w, ccount iter))
|
VES_ONLY(, real *w, ccount iter))
|
||||||
{
|
{
|
||||||
real *mma_f;
|
real *mma_f;
|
||||||
long mma_n;
|
int mma_n;
|
||||||
|
|
||||||
if( MLAbort ) longjmp(t->abort, -99);
|
if( MLAbort ) longjmp(t->abort, -99);
|
||||||
|
|
||||||
MLPutFunction(stdlink, "EvaluatePacket", 1);
|
MLPutFunction(stdlink, "EvaluatePacket", 1);
|
||||||
MLPutFunction(stdlink, "Cuba`" ROUTINE "`sample", 1 VES_ONLY(+2) DIV_ONLY(+1));
|
MLPutFunction(stdlink, "Cuba`" ROUTINE "`sample", 1 VES_ONLY(+2) DIV_ONLY(+1));
|
||||||
MLPutRealList(stdlink, x, n*t->ndim);
|
MLPutRealxList(stdlink, x, n*t->ndim);
|
||||||
VES_ONLY(MLPutRealList(stdlink, w, n);
|
VES_ONLY(MLPutRealxList(stdlink, w, n);
|
||||||
MLPutInteger(stdlink, iter);)
|
MLPutInteger(stdlink, iter);)
|
||||||
DIV_ONLY(MLPutInteger(stdlink, t->phase);)
|
DIV_ONLY(MLPutInteger(stdlink, t->phase);)
|
||||||
MLEndPacket(stdlink);
|
MLEndPacket(stdlink);
|
||||||
|
|
||||||
MLNextPacket(stdlink);
|
MLNextPacket(stdlink);
|
||||||
if( !MLGetRealList(stdlink, &mma_f, &mma_n) ) {
|
if( !MLGetRealxList(stdlink, &mma_f, &mma_n) ) {
|
||||||
MLClearError(stdlink);
|
MLClearError(stdlink);
|
||||||
MLNewPacket(stdlink);
|
MLNewPacket(stdlink);
|
||||||
longjmp(t->abort, -99);
|
longjmp(t->abort, -99);
|
||||||
@ -33,12 +33,12 @@ static void DoSample(This *t, cnumber n, real *x, real *f
|
|||||||
t->neval += mma_n;
|
t->neval += mma_n;
|
||||||
|
|
||||||
if( mma_n != n*t->ncomp ) {
|
if( mma_n != n*t->ncomp ) {
|
||||||
MLDisownRealList(stdlink, mma_f, mma_n);
|
MLReleaseRealxList(stdlink, mma_f, mma_n);
|
||||||
longjmp(t->abort, -3);
|
longjmp(t->abort, -3);
|
||||||
}
|
}
|
||||||
|
|
||||||
Copy(f, mma_f, n*t->ncomp);
|
Copy(f, mma_f, n*t->ncomp);
|
||||||
MLDisownRealList(stdlink, mma_f, mma_n);
|
MLReleaseRealxList(stdlink, mma_f, mma_n);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
@ -50,16 +50,16 @@ static count SampleExtra(This *t, cBounds *b)
|
|||||||
{
|
{
|
||||||
count n, nget;
|
count n, nget;
|
||||||
real *mma_f;
|
real *mma_f;
|
||||||
long mma_n;
|
int mma_n;
|
||||||
|
|
||||||
MLPutFunction(stdlink, "EvaluatePacket", 1);
|
MLPutFunction(stdlink, "EvaluatePacket", 1);
|
||||||
MLPutFunction(stdlink, "Cuba`Divonne`findpeak", 2);
|
MLPutFunction(stdlink, "Cuba`Divonne`findpeak", 2);
|
||||||
MLPutRealList(stdlink, (real *)b, 2*t->ndim);
|
MLPutRealxList(stdlink, (real *)b, 2*t->ndim);
|
||||||
MLPutInteger(stdlink, t->phase);
|
MLPutInteger(stdlink, t->phase);
|
||||||
MLEndPacket(stdlink);
|
MLEndPacket(stdlink);
|
||||||
|
|
||||||
MLNextPacket(stdlink);
|
MLNextPacket(stdlink);
|
||||||
if( !MLGetRealList(stdlink, &mma_f, &mma_n) ) {
|
if( !MLGetRealxList(stdlink, &mma_f, &mma_n) ) {
|
||||||
MLClearError(stdlink);
|
MLClearError(stdlink);
|
||||||
MLNewPacket(stdlink);
|
MLNewPacket(stdlink);
|
||||||
longjmp(t->abort, -99);
|
longjmp(t->abort, -99);
|
||||||
@ -73,7 +73,7 @@ static count SampleExtra(This *t, cBounds *b)
|
|||||||
Copy(t->fextra, mma_f + nget*t->ndim, n*t->ncomp);
|
Copy(t->fextra, mma_f + nget*t->ndim, n*t->ncomp);
|
||||||
}
|
}
|
||||||
|
|
||||||
MLDisownRealList(stdlink, mma_f, mma_n);
|
MLReleaseRealxList(stdlink, mma_f, mma_n);
|
||||||
|
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
10
src/external/libCuba/src/common/Makefile.am
vendored
10
src/external/libCuba/src/common/Makefile.am
vendored
@ -1,12 +1,14 @@
|
|||||||
## Process this file with automake to create Makefile.in
|
## Process this file with automake to create Makefile.in
|
||||||
|
|
||||||
c_sources = WorkerIni.c
|
c_sources = \
|
||||||
|
Global.c \
|
||||||
|
Data.c
|
||||||
|
|
||||||
AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE
|
AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE
|
||||||
AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS)
|
AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS)
|
||||||
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libworkerini.la
|
noinst_LTLIBRARIES = libcommon.la
|
||||||
|
|
||||||
libworkerini_la_SOURCES = $(c_sources)
|
libcommon_la_SOURCES = $(c_sources)
|
||||||
libworkerini_la_LDFLAGS = $(AM_LDFLAGS)
|
libcommon_la_LDFLAGS = $(AM_LDFLAGS)
|
||||||
|
441
src/external/libCuba/src/common/Parallel.c
vendored
Normal file
441
src/external/libCuba/src/common/Parallel.c
vendored
Normal file
@ -0,0 +1,441 @@
|
|||||||
|
/*
|
||||||
|
Parallel.c
|
||||||
|
the parallel sampling routine
|
||||||
|
for the C versions of the Cuba routines
|
||||||
|
by Thomas Hahn
|
||||||
|
last modified 23 Apr 15 th
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sock.h"
|
||||||
|
|
||||||
|
#define MINSLICE 10
|
||||||
|
#define MINCORES 1
|
||||||
|
/*#define MINCORES 2*/
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
number n, m, i;
|
||||||
|
VES_ONLY(count iter;)
|
||||||
|
DIV_ONLY(int phase SHM_ONLY(, shmid);)
|
||||||
|
} Slice;
|
||||||
|
|
||||||
|
#if defined HAVE_SHMGET && (defined SUAVE || defined DIVONNE)
|
||||||
|
#define FRAMECOPY
|
||||||
|
#endif
|
||||||
|
|
||||||
|
Extern void SUFFIX(cubafork)(Spin **);
|
||||||
|
Extern void SUFFIX(cubawait)(Spin **);
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
static inline void DoSampleParallel(This *t, number n, creal *x, real *f
|
||||||
|
VES_ONLY(, creal *w, ccount iter))
|
||||||
|
{
|
||||||
|
char out[128];
|
||||||
|
Slice slice, rslice;
|
||||||
|
fd_set ready;
|
||||||
|
int core, abort, running = 0;
|
||||||
|
const fdpid *pfp;
|
||||||
|
Spin *spin = t->spin;
|
||||||
|
cint paccel = spin->spec.paccel;
|
||||||
|
cint naccel = IMin(spin->spec.naccel, (n + paccel - 1)/IMax(paccel, 1));
|
||||||
|
cnumber nrest = IDim(n - naccel*paccel);
|
||||||
|
cint ncores = IMin(spin->spec.ncores, nrest/MINSLICE);
|
||||||
|
number pcores = IMin(spin->spec.pcores, nrest/IMax(ncores, 1));
|
||||||
|
number nx = nrest - ncores*pcores;
|
||||||
|
if( nx >= ncores ) nx = 0;
|
||||||
|
|
||||||
|
t->neval += n;
|
||||||
|
|
||||||
|
if( VERBOSE > 2 ) {
|
||||||
|
sprintf(out, "sampling " NUMBER " points each on %d cores",
|
||||||
|
pcores, ncores);
|
||||||
|
Print(out);
|
||||||
|
}
|
||||||
|
|
||||||
|
slice.n = paccel;
|
||||||
|
slice.m = IMax(slice.n, pcores);
|
||||||
|
slice.i = 0;
|
||||||
|
VES_ONLY(slice.iter = iter;)
|
||||||
|
DIV_ONLY(slice.phase = t->phase;)
|
||||||
|
|
||||||
|
#ifdef DIVONNE
|
||||||
|
if( n > t->nframe ) {
|
||||||
|
FrameFree(t, Master);
|
||||||
|
t->nframe = n;
|
||||||
|
FrameAlloc(t, Master);
|
||||||
|
}
|
||||||
|
SHM_ONLY(slice.shmid = t->shmid;)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
SHM_ONLY(if( t->shmid != -1 ) {
|
||||||
|
slice.m = n;
|
||||||
|
#ifdef FRAMECOPY
|
||||||
|
VES_ONLY(Copy(t->frame, w, n);)
|
||||||
|
Copy(t->frame + n*NW, x, n*t->ndim);
|
||||||
|
#endif
|
||||||
|
})
|
||||||
|
|
||||||
|
#define PutSamples(fd) do { \
|
||||||
|
slice.n = IMin(slice.n, n); \
|
||||||
|
MASTER("sending samples (sli:%lu[+" VES_ONLY(NUMBER "w:%lu+") \
|
||||||
|
NUMBER "x:%lu]) to fd %d", \
|
||||||
|
sizeof slice, VES_ONLY(slice.n, sizeof *w,) \
|
||||||
|
slice.n, t->ndim*sizeof *x, fd); \
|
||||||
|
writesock(fd, &slice, sizeof slice); \
|
||||||
|
SHM_ONLY(if( t->shmid == -1 )) { \
|
||||||
|
VES_ONLY(writesock(fd, w, slice.n*sizeof *w); \
|
||||||
|
w += slice.n;) \
|
||||||
|
writesock(fd, x, slice.n*t->ndim*sizeof *x); \
|
||||||
|
x += slice.n*t->ndim; \
|
||||||
|
} \
|
||||||
|
slice.i += slice.n; \
|
||||||
|
n -= slice.n; \
|
||||||
|
++running; \
|
||||||
|
} while( 0 )
|
||||||
|
|
||||||
|
#define GetSamples(fd) do { \
|
||||||
|
readsock(fd, &rslice, sizeof rslice); \
|
||||||
|
MASTER("reading samples (sli:%lu[+" NUMBER "f:%lu]) from fd %d", \
|
||||||
|
sizeof rslice, rslice.n, t->ncomp*sizeof *f, fd); \
|
||||||
|
if( rslice.n == -1 ) abort = 1; \
|
||||||
|
else SHM_ONLY(if( t->shmid == -1 )) \
|
||||||
|
readsock(fd, f + rslice.i*t->ncomp, rslice.n*t->ncomp*sizeof *f); \
|
||||||
|
--running; \
|
||||||
|
} while( 0 )
|
||||||
|
|
||||||
|
++pcores;
|
||||||
|
pfp = spin->fp;
|
||||||
|
for( core = -naccel; n && core < ncores; ++core ) {
|
||||||
|
cint fd = pfp++->fd;
|
||||||
|
pcores -= (core == nx);
|
||||||
|
slice.n = (core < 0) ? paccel : pcores;
|
||||||
|
PutSamples(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
abort = 0;
|
||||||
|
|
||||||
|
while( running ) {
|
||||||
|
int fdmax = 0;
|
||||||
|
|
||||||
|
FD_ZERO(&ready);
|
||||||
|
pfp = spin->fp;
|
||||||
|
for( core = -naccel; core < ncores; ++core ) {
|
||||||
|
cint fd = pfp++->fd;
|
||||||
|
FD_SET(fd, &ready);
|
||||||
|
fdmax = IMax(fdmax, fd);
|
||||||
|
}
|
||||||
|
fdmax = select(fdmax + 1, &ready, NULL, NULL, NULL);
|
||||||
|
|
||||||
|
pfp = spin->fp;
|
||||||
|
for( core = -naccel; core < ncores; ++core ) {
|
||||||
|
cint fd = pfp++->fd;
|
||||||
|
if( FD_ISSET(fd, &ready) ) {
|
||||||
|
GetSamples(fd);
|
||||||
|
if( abort ) break;
|
||||||
|
if( n ) PutSamples(fd);
|
||||||
|
if( --fdmax == 0 ) break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if( abort ) longjmp(t->abort, -99);
|
||||||
|
|
||||||
|
#ifdef FRAMECOPY
|
||||||
|
if( t->shmid != -1 )
|
||||||
|
Copy(f, t->frame + slice.m*(NW + t->ndim), slice.m*t->ncomp);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
static void DoSample(This *t, number n, creal *x, real *f
|
||||||
|
VES_ONLY(, creal *w, ccount iter))
|
||||||
|
{
|
||||||
|
if( t->spin == NULL ||
|
||||||
|
t->spin->spec.ncores + t->spin->spec.naccel < MINCORES ||
|
||||||
|
n < MINCORES*MINSLICE )
|
||||||
|
DoSampleSerial(t, n, x, f VES_ONLY(, w, iter));
|
||||||
|
else
|
||||||
|
DoSampleParallel(t, n, x, f VES_ONLY(, w, iter));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
#ifdef DIVONNE
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
number neval, neval_opt, neval_cut;
|
||||||
|
count nregions, iregion, retval;
|
||||||
|
} ExploreResult;
|
||||||
|
|
||||||
|
static inline int ExploreParallel(This *t, cint iregion)
|
||||||
|
{
|
||||||
|
Vector(Totals, totals, NCOMP);
|
||||||
|
csize_t regionsize = RegionSize;
|
||||||
|
Region *region;
|
||||||
|
Spin *spin = t->spin;
|
||||||
|
cint cores = spin->spec.naccel + spin->spec.ncores;
|
||||||
|
int core = t->running;
|
||||||
|
int ireg = iregion;
|
||||||
|
|
||||||
|
if( core >= ((iregion < 0) ? 1 : cores) ) {
|
||||||
|
fd_set ready;
|
||||||
|
int fd = 0, fdmax = 0;
|
||||||
|
ExploreResult res;
|
||||||
|
count comp, succ;
|
||||||
|
|
||||||
|
FD_ZERO(&ready);
|
||||||
|
for( core = 0; core < cores; ++core ) {
|
||||||
|
fd = spin->fp[core].fd;
|
||||||
|
FD_SET(fd, &ready);
|
||||||
|
fdmax = IMax(fd, fdmax);
|
||||||
|
}
|
||||||
|
select(fdmax + 1, &ready, NULL, NULL, NULL);
|
||||||
|
|
||||||
|
for( core = 0; core < cores; ++core ) {
|
||||||
|
fd = spin->fp[core].fd;
|
||||||
|
if( FD_ISSET(fd, &ready) ) break;
|
||||||
|
}
|
||||||
|
|
||||||
|
--t->running;
|
||||||
|
MASTER("reading res + region (res:%lu+reg:%lu) from fd %d",
|
||||||
|
sizeof res, regionsize, fd);
|
||||||
|
readsock(fd, &res, sizeof res);
|
||||||
|
ireg = res.iregion;
|
||||||
|
region = RegionPtr(ireg);
|
||||||
|
succ = ireg + region->next;
|
||||||
|
readsock(fd, region, regionsize);
|
||||||
|
if( --res.nregions > 0 ) {
|
||||||
|
region->next = t->nregions - ireg;
|
||||||
|
EnlargeRegions(t, res.nregions);
|
||||||
|
MASTER("reading regions (%dreg:%lu) from fd %d",
|
||||||
|
res.nregions, regionsize, fd);
|
||||||
|
readsock(fd, RegionPtr(t->nregions), res.nregions*regionsize);
|
||||||
|
t->nregions += res.nregions;
|
||||||
|
|
||||||
|
RegionPtr(t->nregions-1)->next = succ - t->nregions + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
MASTER("reading totals (tot:%lu) from fd %d",
|
||||||
|
t->ncomp*sizeof(Totals), fd);
|
||||||
|
readsock(fd, totals, t->ncomp*sizeof(Totals));
|
||||||
|
for( comp = 0; comp < t->ncomp; ++comp )
|
||||||
|
t->totals[comp].secondspread =
|
||||||
|
Max(t->totals[comp].secondspread, totals[comp].secondspread);
|
||||||
|
|
||||||
|
t->neval += res.neval;
|
||||||
|
t->neval_opt += res.neval_opt;
|
||||||
|
t->neval_cut += res.neval_cut;
|
||||||
|
|
||||||
|
if( res.retval == -1 ) return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( iregion >= 0 ) {
|
||||||
|
Slice slice;
|
||||||
|
cint fd = spin->fp[core].fd;
|
||||||
|
slice.n = 0;
|
||||||
|
slice.i = iregion;
|
||||||
|
slice.phase = t->phase;
|
||||||
|
region = RegionPtr(iregion);
|
||||||
|
MASTER("writing region (sli:%lu+sam:%lu+reg:%lu+tot:%lu) to fd %d",
|
||||||
|
sizeof slice, sizeof(Samples), regionsize,
|
||||||
|
t->ncomp*sizeof(Totals), fd);
|
||||||
|
writesock(fd, &slice, sizeof slice);
|
||||||
|
writesock(fd, &t->samples[region->isamples], sizeof(Samples));
|
||||||
|
writesock(fd, region, regionsize);
|
||||||
|
writesock(fd, t->totals, t->ncomp*sizeof(Totals));
|
||||||
|
region->depth = 0;
|
||||||
|
++t->running;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ireg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
static int Explore(This *t, cint iregion)
|
||||||
|
{
|
||||||
|
if( t->spin == NULL ||
|
||||||
|
t->spin->spec.ncores + t->spin->spec.naccel < MINCORES )
|
||||||
|
return ExploreSerial(t, iregion);
|
||||||
|
else
|
||||||
|
return ExploreParallel(t, iregion);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
static void Worker(This *t, const size_t alloc, cint core, cint fd)
|
||||||
|
{
|
||||||
|
Slice slice;
|
||||||
|
|
||||||
|
if( readsock(fd, &slice, sizeof slice) == sizeof slice &&
|
||||||
|
slice.n != -1 ) {
|
||||||
|
#ifdef DIVONNE
|
||||||
|
csize_t regionsize = RegionSize;
|
||||||
|
Vector(Totals, totals, NCOMP);
|
||||||
|
Spin spin = {{0, 0, 0, 0}}; /* no recursive forks */
|
||||||
|
|
||||||
|
t->totals = totals;
|
||||||
|
t->spin = &spin;
|
||||||
|
t->size = 2*t->ndim + 2;
|
||||||
|
AllocRegions(t);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if( alloc ) {
|
||||||
|
#ifndef DIVONNE
|
||||||
|
FrameAlloc(t, Worker);
|
||||||
|
#endif
|
||||||
|
#if defined DIVONNE || defined CUHRE
|
||||||
|
RuleAlloc(t);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#ifdef SUAVE
|
||||||
|
else SHM_ONLY(if( t->shmid == -1 ))
|
||||||
|
MemAlloc(t->frame, t->nframe*SAMPLESIZE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if( cubafun_.initfun ) cubafun_.initfun(cubafun_.initarg, &core);
|
||||||
|
|
||||||
|
do {
|
||||||
|
number n = slice.n;
|
||||||
|
WORKER("received slice.n = " NUMBER, n);
|
||||||
|
DIV_ONLY(t->phase = slice.phase;)
|
||||||
|
|
||||||
|
if( n > 0 ) {
|
||||||
|
real VES_ONLY(*w,) *x, *f;
|
||||||
|
WORKER("reading samples (sli:%lu[+" VES_ONLY(NUMBER "w:%lu+")
|
||||||
|
NUMBER "x:%lu]) from fd %d",
|
||||||
|
sizeof slice, VES_ONLY(n, sizeof *w,) n, t->ndim*sizeof *x, fd);
|
||||||
|
|
||||||
|
#ifdef DIVONNE
|
||||||
|
if( slice.m > t->nframe ) {
|
||||||
|
FrameFree(t, Worker);
|
||||||
|
t->nframe = slice.m;
|
||||||
|
SHM_ONLY(t->shmid = slice.shmid;)
|
||||||
|
FrameAlloc(t, Worker);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
VES_ONLY(w = t->frame;)
|
||||||
|
x = t->frame + slice.m*NW;
|
||||||
|
f = x + slice.m*t->ndim;
|
||||||
|
|
||||||
|
SHM_ONLY(if( t->shmid != -1 ) {
|
||||||
|
VES_ONLY(w += slice.i;)
|
||||||
|
x += slice.i*t->ndim;
|
||||||
|
f += slice.i*t->ncomp;
|
||||||
|
}
|
||||||
|
else) {
|
||||||
|
VES_ONLY(readsock(fd, w, n*sizeof *w);)
|
||||||
|
readsock(fd, x, n*t->ndim*sizeof *x);
|
||||||
|
}
|
||||||
|
|
||||||
|
slice.n |= SampleRaw(t, n, x, f, core VES_ONLY(, w, slice.iter));
|
||||||
|
WORKER("writing samples (sli:%lu[+" NUMBER "f:%lu]) to fd %d",
|
||||||
|
sizeof slice, slice.n, t->ncomp*sizeof *f, fd);
|
||||||
|
writesock(fd, &slice, sizeof slice);
|
||||||
|
if( SHM_ONLY(t->shmid == -1 &&) slice.n != -1 )
|
||||||
|
writesock(fd, f, slice.n*t->ncomp*sizeof *f);
|
||||||
|
}
|
||||||
|
#ifdef DIVONNE
|
||||||
|
else {
|
||||||
|
Samples *samples, psamples;
|
||||||
|
ExploreResult res;
|
||||||
|
|
||||||
|
WORKER("reading region (sli:%lu+sam:%lu+reg:%lu+tot:%lu) from fd %d",
|
||||||
|
sizeof slice, sizeof psamples, regionsize,
|
||||||
|
t->ncomp*sizeof(Totals), fd);
|
||||||
|
readsock(fd, &psamples, sizeof psamples);
|
||||||
|
readsock(fd, t->region, regionsize);
|
||||||
|
readsock(fd, totals, t->ncomp*sizeof(Totals));
|
||||||
|
t->nregions = 1;
|
||||||
|
t->neval = t->neval_opt = t->neval_cut = 0;
|
||||||
|
|
||||||
|
samples = &t->samples[RegionPtr(0)->isamples];
|
||||||
|
if( psamples.n != samples->n ) {
|
||||||
|
SamplesFree(samples);
|
||||||
|
*samples = psamples;
|
||||||
|
SamplesAlloc(t, samples);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.retval = ExploreSerial(t, 0);
|
||||||
|
res.neval = t->neval;
|
||||||
|
res.neval_opt = t->neval_opt;
|
||||||
|
res.neval_cut = t->neval_cut;
|
||||||
|
res.nregions = t->nregions;
|
||||||
|
res.iregion = slice.i;
|
||||||
|
WORKER("writing regions (res:%lu+%dreg:%lu+tot:%lu) to fd %d",
|
||||||
|
sizeof res, t->nregions, regionsize,
|
||||||
|
t->ncomp*sizeof(Totals), fd);
|
||||||
|
writesock(fd, &res, sizeof res);
|
||||||
|
writesock(fd, t->region, t->nregions*regionsize);
|
||||||
|
writesock(fd, totals, t->ncomp*sizeof(Totals));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
} while( readsock(fd, &slice, sizeof slice) == sizeof slice &&
|
||||||
|
slice.n != -1 );
|
||||||
|
|
||||||
|
if( cubafun_.exitfun ) cubafun_.exitfun(cubafun_.exitarg, &core);
|
||||||
|
|
||||||
|
#if defined DIVONNE || defined CUHRE
|
||||||
|
RuleFree(t);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
FrameFree(t, Worker);
|
||||||
|
|
||||||
|
#ifdef DIVONNE
|
||||||
|
free(t->region);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
WORKER("worker wrapping up");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
static inline void ForkCores(This *t)
|
||||||
|
{
|
||||||
|
dispatch d;
|
||||||
|
const fdpid *pfp;
|
||||||
|
int ncores, core;
|
||||||
|
|
||||||
|
DIV_ONLY(t->running = 0;)
|
||||||
|
|
||||||
|
d.worker = Worker;
|
||||||
|
d.thisptr = t;
|
||||||
|
d.thissize = sizeof *t;
|
||||||
|
|
||||||
|
if( t->spin == NULL ) {
|
||||||
|
SUFFIX(cubafork)(&t->spin);
|
||||||
|
if( t->spin == NULL ) return;
|
||||||
|
d.thissize = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
pfp = t->spin->fp;
|
||||||
|
ncores = t->spin->spec.ncores;
|
||||||
|
for( core = -t->spin->spec.naccel; core < ncores; ++core ) {
|
||||||
|
cint fd = pfp++->fd;
|
||||||
|
writesock(fd, &d, sizeof d);
|
||||||
|
if( d.thissize ) writesock(fd, t, d.thissize);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
static inline void WaitCores(This *t, Spin **pspin)
|
||||||
|
{
|
||||||
|
if( Invalid(pspin) ) SUFFIX(cubawait)(&t->spin);
|
||||||
|
else {
|
||||||
|
Slice slice = { .n = -1 };
|
||||||
|
cint cores = t->spin->spec.naccel + t->spin->spec.ncores;
|
||||||
|
const fdpid *pfp = t->spin->fp;
|
||||||
|
int core;
|
||||||
|
for( core = 0; core < cores; ++core )
|
||||||
|
writesock(pfp[core].fd, &slice, sizeof slice);
|
||||||
|
*pspin = t->spin;
|
||||||
|
MasterExit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
21
src/external/libCuba/src/common/Random.c
vendored
21
src/external/libCuba/src/common/Random.c
vendored
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Random.c
|
Random.c
|
||||||
quasi- and pseudo-random-number generation
|
quasi- and pseudo-random-number generation
|
||||||
last modified 7 Aug 13 th
|
last modified 18 Mar 14 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -88,14 +88,13 @@ static inline void SobolIni(This *t)
|
|||||||
299, 1, 3, 3, 9, 9, 25, 107, 39 };
|
299, 1, 3, 3, 9, 9, 25, 107, 39 };
|
||||||
|
|
||||||
count dim, bit, nbits;
|
count dim, bit, nbits;
|
||||||
number max, *pini = ini;
|
number *pini = ini, max;
|
||||||
cnumber nmax = 2*t->maxeval;
|
|
||||||
|
|
||||||
for( nbits = 0, max = 1; max <= nmax; max <<= 1 ) ++nbits;
|
for( nbits = 0, max = t->maxeval; max; max >>= 1 ) ++nbits;
|
||||||
t->rng.sobol.norm = 1./max;
|
t->rng.sobol.norm = ldexp(.5, -nbits);
|
||||||
|
|
||||||
for( bit = 0; bit < nbits; ++bit )
|
for( bit = 0; bit <= nbits; ++bit )
|
||||||
t->rng.sobol.v[0][bit] = (max >>= 1);
|
t->rng.sobol.v[0][bit] = (number)1 << (nbits - bit);
|
||||||
|
|
||||||
for( dim = 1; dim < t->ndim; ++dim ) {
|
for( dim = 1; dim < t->ndim; ++dim ) {
|
||||||
number *pv = t->rng.sobol.v[dim], *pvv = pv;
|
number *pv = t->rng.sobol.v[dim], *pvv = pv;
|
||||||
@ -103,10 +102,10 @@ static inline void SobolIni(This *t)
|
|||||||
int inibits = -1, bit;
|
int inibits = -1, bit;
|
||||||
for( j = powers; j; j >>= 1 ) ++inibits;
|
for( j = powers; j; j >>= 1 ) ++inibits;
|
||||||
|
|
||||||
memcpy(pv, pini, inibits*sizeof(*pini));
|
memcpy(pv, pini, inibits*sizeof *pini);
|
||||||
pini += 8;
|
pini += 8;
|
||||||
|
|
||||||
for( bit = inibits; bit < nbits; ++bit ) {
|
for( bit = inibits; bit <= nbits; ++bit ) {
|
||||||
number newv = *pvv, j = powers;
|
number newv = *pvv, j = powers;
|
||||||
int b;
|
int b;
|
||||||
for( b = 0; b < inibits; ++b ) {
|
for( b = 0; b < inibits; ++b ) {
|
||||||
@ -117,8 +116,8 @@ static inline void SobolIni(This *t)
|
|||||||
++pvv;
|
++pvv;
|
||||||
}
|
}
|
||||||
|
|
||||||
for( bit = 0; bit < nbits - 1; ++bit )
|
for( bit = 0; bit < nbits; ++bit )
|
||||||
pv[bit] <<= nbits - bit - 1;
|
pv[bit] <<= nbits - bit;
|
||||||
}
|
}
|
||||||
|
|
||||||
t->rng.sobol.seq = 0;
|
t->rng.sobol.seq = 0;
|
||||||
|
37
src/external/libCuba/src/common/WorkerIni.c
vendored
37
src/external/libCuba/src/common/WorkerIni.c
vendored
@ -1,37 +0,0 @@
|
|||||||
/*
|
|
||||||
WorkerIni.c
|
|
||||||
set/run the init/exit functions for worker processes
|
|
||||||
by Thomas Hahn
|
|
||||||
last modified 6 Sep 12 th
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#include "stddecl.h"
|
|
||||||
|
|
||||||
extern workerini cubaini;
|
|
||||||
|
|
||||||
Extern void SUFFIX(cubasetinit)(subroutine f, void *arg)
|
|
||||||
{
|
|
||||||
cubaini.initfun = f;
|
|
||||||
cubaini.initarg = arg;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Extern void SUFFIX(cubasetexit)(subroutine f, void *arg)
|
|
||||||
{
|
|
||||||
cubaini.exitfun = f;
|
|
||||||
cubaini.exitarg = arg;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Extern void SUFFIX(cubaruninit)()
|
|
||||||
{
|
|
||||||
if( cubaini.initfun ) cubaini.initfun(cubaini.initarg);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Extern void SUFFIX(cubarunexit)()
|
|
||||||
{
|
|
||||||
if( cubaini.exitfun ) cubaini.exitfun(cubaini.exitarg);
|
|
||||||
}
|
|
||||||
|
|
65
src/external/libCuba/src/common/sock.h
vendored
Normal file
65
src/external/libCuba/src/common/sock.h
vendored
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/*
|
||||||
|
sock.h
|
||||||
|
socket read/write
|
||||||
|
by Thomas Hahn
|
||||||
|
last modified 27 May 14 th
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <sys/socket.h>
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
#define TERM_RED "\e[31m"
|
||||||
|
#define TERM_BLUE "\e[34m"
|
||||||
|
#define TERM_RESET "\e[0m\n"
|
||||||
|
#define MASTER(s, ...) \
|
||||||
|
fprintf(stderr, TERM_RED ROUTINE " master %d(%d): " s TERM_RESET, core, getpid(), ##__VA_ARGS__)
|
||||||
|
#define WORKER(s, ...) \
|
||||||
|
fprintf(stderr, TERM_BLUE ROUTINE " worker %d(%d): " s TERM_RESET, core, getpid(), ##__VA_ARGS__)
|
||||||
|
#define DEB_ONLY(...) __VA_ARGS__
|
||||||
|
#else
|
||||||
|
#define MASTER(s, ...)
|
||||||
|
#define WORKER(s, ...)
|
||||||
|
#define DEB_ONLY(...)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef LOW_LEVEL_DEBUG
|
||||||
|
#define TERM_GREEN "\e[32m"
|
||||||
|
#define TERM_MAGENTA "\e[35m"
|
||||||
|
#define READ(s, ...) \
|
||||||
|
fprintf(stderr, TERM_GREEN ROUTINE " pid %d: read " s TERM_RESET, getpid(), ##__VA_ARGS__)
|
||||||
|
#define WRITE(s, ...) \
|
||||||
|
fprintf(stderr, TERM_MAGENTA ROUTINE " pid %d: write " s TERM_RESET, getpid(), ##__VA_ARGS__)
|
||||||
|
#else
|
||||||
|
#define READ(s, ...)
|
||||||
|
#define WRITE(s, ...)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
#ifndef MSG_WAITALL
|
||||||
|
/* Windows */
|
||||||
|
#define MSG_WAITALL 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static inline int readsock(cint fd, void *data, csize_t n)
|
||||||
|
{
|
||||||
|
ssize_t got;
|
||||||
|
size_t remain = n;
|
||||||
|
do got = recv(fd, data, remain, MSG_WAITALL);
|
||||||
|
while( got > 0 && (data += got, remain -= got) > 0 );
|
||||||
|
READ("%lu bytes at %p from fd %d", n, data, fd);
|
||||||
|
return got;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
static inline int writesock(cint fd, const void *data, csize_t n)
|
||||||
|
{
|
||||||
|
ssize_t got;
|
||||||
|
size_t remain = n;
|
||||||
|
do got = send(fd, data, remain, MSG_WAITALL);
|
||||||
|
while( got > 0 && (data += got, remain -= got) > 0 );
|
||||||
|
WRITE("%lu bytes at %p to fd %d", n, data, fd);
|
||||||
|
return got;
|
||||||
|
}
|
||||||
|
|
172
src/external/libCuba/src/common/stddecl.h
vendored
172
src/external/libCuba/src/common/stddecl.h
vendored
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
stddecl.h
|
stddecl.h
|
||||||
declarations common to all Cuba routines
|
declarations common to all Cuba routines
|
||||||
last modified 17 Sep 13 th
|
last modified 23 Apr 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -12,8 +12,7 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define _BSD_SOURCE
|
#define _DEFAULT_SOURCE
|
||||||
#define _XOPEN_SOURCE
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -30,6 +29,7 @@
|
|||||||
#ifdef HAVE_FORK
|
#ifdef HAVE_FORK
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
|
#include <signal.h>
|
||||||
#ifdef HAVE_SHMGET
|
#ifdef HAVE_SHMGET
|
||||||
#include <sys/ipc.h>
|
#include <sys/ipc.h>
|
||||||
#include <sys/shm.h>
|
#include <sys/shm.h>
|
||||||
@ -83,10 +83,31 @@ void *alloca (size_t);
|
|||||||
|
|
||||||
#define SAMPLESIZE (NW + t->ndim + t->ncomp)*sizeof(real)
|
#define SAMPLESIZE (NW + t->ndim + t->ncomp)*sizeof(real)
|
||||||
|
|
||||||
|
|
||||||
|
enum { uninitialized = 0x61627563 };
|
||||||
|
|
||||||
|
#define EnvInit(var, name, default) \
|
||||||
|
if( var == uninitialized ) { \
|
||||||
|
cchar *env = getenv(name); \
|
||||||
|
if( env == NULL ) var = default; \
|
||||||
|
else { \
|
||||||
|
var = atoi(env); \
|
||||||
|
if( cubaverb_ ) { \
|
||||||
|
char out[64]; \
|
||||||
|
sprintf(out, "env " name " = %d", (int)var); \
|
||||||
|
Print(out); \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define VerboseInit() EnvInit(cubaverb_, "CUBAVERBOSE", 0)
|
||||||
|
#define MaxVerbose(flags) (flags + IDim(IMin(cubaverb_, 3) - ((flags) & 3)))
|
||||||
|
|
||||||
#define VERBOSE (t->flags & 3)
|
#define VERBOSE (t->flags & 3)
|
||||||
#define LAST (t->flags & 4)
|
#define LAST (t->flags & 4)
|
||||||
#define SHARPEDGES (t->flags & 8)
|
#define SHARPEDGES (t->flags & 8)
|
||||||
#define KEEPFILE (t->flags & 16)
|
#define KEEPFILE (t->flags & 16)
|
||||||
|
#define ZAPSTATE (t->flags & 32)
|
||||||
#define REGIONS (t->flags & 128)
|
#define REGIONS (t->flags & 128)
|
||||||
#define RNG (t->flags >> 8)
|
#define RNG (t->flags >> 8)
|
||||||
|
|
||||||
@ -120,7 +141,7 @@ void *alloca (size_t);
|
|||||||
|
|
||||||
#define Zap(d) memset(d, 0, sizeof(d))
|
#define Zap(d) memset(d, 0, sizeof(d))
|
||||||
|
|
||||||
#define MaxErr(avg) Max(t->epsrel*fabs(avg), t->epsabs)
|
#define MaxErr(avg) Max(t->epsrel*fabsx(avg), t->epsabs)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#define mallocset(p, n) (*(void **)&p = malloc(n))
|
#define mallocset(p, n) (*(void **)&p = malloc(n))
|
||||||
@ -157,8 +178,21 @@ void *alloca (size_t);
|
|||||||
|
|
||||||
#ifdef MLVERSION
|
#ifdef MLVERSION
|
||||||
#define ML_ONLY(...) __VA_ARGS__
|
#define ML_ONLY(...) __VA_ARGS__
|
||||||
|
#define ML_NOT(...)
|
||||||
#else
|
#else
|
||||||
#define ML_ONLY(...)
|
#define ML_ONLY(...)
|
||||||
|
#define ML_NOT(...) __VA_ARGS__
|
||||||
|
|
||||||
|
#define CORE_MASTER (int []){32768}
|
||||||
|
#define MasterInit() do if( !cubafun_.init ) { \
|
||||||
|
cubafun_.init = true; \
|
||||||
|
if( cubafun_.initfun ) cubafun_.initfun(cubafun_.initarg, CORE_MASTER); \
|
||||||
|
} while( 0 )
|
||||||
|
#define MasterExit() do if( cubafun_.init ) { \
|
||||||
|
cubafun_.init = false; \
|
||||||
|
if( cubafun_.exitfun ) cubafun_.exitfun(cubafun_.exitarg, CORE_MASTER); \
|
||||||
|
} while( 0 )
|
||||||
|
#define Invalid(s) ((s) == NULL || *(int *)(s) == -1)
|
||||||
|
|
||||||
#ifdef HAVE_FORK
|
#ifdef HAVE_FORK
|
||||||
#undef FORK_ONLY
|
#undef FORK_ONLY
|
||||||
@ -168,37 +202,40 @@ void *alloca (size_t);
|
|||||||
#undef SHM_ONLY
|
#undef SHM_ONLY
|
||||||
#define SHM_ONLY(...) __VA_ARGS__
|
#define SHM_ONLY(...) __VA_ARGS__
|
||||||
|
|
||||||
#define ShmMap(t, ...) if( t->shmid != -1 ) { \
|
#define MasterAlloc(t) \
|
||||||
t->frame = shmat(t->shmid, NULL, 0); \
|
t->shmid = shmget(IPC_PRIVATE, t->nframe*SAMPLESIZE, IPC_CREAT | 0600)
|
||||||
if( t->frame == (void *)-1 ) Abort("shmat"); \
|
#define MasterFree(t) shmctl(t->shmid, IPC_RMID, NULL)
|
||||||
__VA_ARGS__ \
|
#define WorkerAlloc(t)
|
||||||
}
|
#define WorkerFree(r)
|
||||||
|
|
||||||
#define ShmRm(t) shmctl(t->shmid, IPC_RMID, NULL);
|
|
||||||
|
|
||||||
#undef ShmAlloc
|
#undef ShmAlloc
|
||||||
#define ShmAlloc(t, ...) \
|
#define ShmAlloc(t, who) \
|
||||||
t->shmid = shmget(IPC_PRIVATE, t->nframe*SAMPLESIZE, IPC_CREAT | 0600); \
|
who##Alloc(t); \
|
||||||
ShmMap(t, __VA_ARGS__)
|
if( t->shmid != -1 ) { \
|
||||||
|
t->frame = shmat(t->shmid, NULL, 0); \
|
||||||
|
if( t->frame == (void *)-1 ) Abort("shmat"); \
|
||||||
|
}
|
||||||
|
|
||||||
#undef ShmFree
|
#undef ShmFree
|
||||||
#define ShmFree(t, ...) if( t->shmid != -1 ) { \
|
#define ShmFree(t, who) \
|
||||||
shmdt(t->frame); \
|
if( t->shmid != -1 ) { \
|
||||||
__VA_ARGS__ \
|
shmdt(t->frame); \
|
||||||
}
|
who##Free(t); \
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FrameAlloc(t, ...) \
|
#define FrameAlloc(t, who) \
|
||||||
SHM_ONLY(ShmAlloc(t, __VA_ARGS__) else) \
|
SHM_ONLY(ShmAlloc(t, who) else) \
|
||||||
MemAlloc(t->frame, t->nframe*SAMPLESIZE);
|
MemAlloc(t->frame, t->nframe*SAMPLESIZE);
|
||||||
|
|
||||||
#define FrameFree(t, ...) DIV_ONLY(if( t->nframe )) { \
|
#define FrameFree(t, who) \
|
||||||
SHM_ONLY(ShmFree(t, __VA_ARGS__) else) \
|
DIV_ONLY(if( t->nframe )) { \
|
||||||
free(t->frame); \
|
SHM_ONLY(ShmFree(t, who) else) \
|
||||||
}
|
free(t->frame); \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#define StateDecl \
|
#define StateDecl \
|
||||||
@ -219,7 +256,9 @@ struct stat st
|
|||||||
|
|
||||||
typedef long long int signature_t;
|
typedef long long int signature_t;
|
||||||
|
|
||||||
#define StateSignature(t, i) (0x41425543 + \
|
enum { signature = 0x41425543 };
|
||||||
|
|
||||||
|
#define StateSignature(t, i) (signature + \
|
||||||
((signature_t)(i) << 60) + \
|
((signature_t)(i) << 60) + \
|
||||||
((signature_t)(t)->ncomp << 48) + \
|
((signature_t)(t)->ncomp << 48) + \
|
||||||
((signature_t)(t)->ndim << 32))
|
((signature_t)(t)->ndim << 32))
|
||||||
@ -306,39 +345,100 @@ typedef const count ccount;
|
|||||||
#define PREFIX(s) ll##s
|
#define PREFIX(s) ll##s
|
||||||
#define NUMBER "%lld"
|
#define NUMBER "%lld"
|
||||||
#define NUMBER7 "%7lld"
|
#define NUMBER7 "%7lld"
|
||||||
|
#define NUMBER_MAX LLONG_MAX
|
||||||
typedef long long int number;
|
typedef long long int number;
|
||||||
#else
|
#else
|
||||||
#define PREFIX(s) s
|
#define PREFIX(s) s
|
||||||
#define NUMBER "%d"
|
#define NUMBER "%d"
|
||||||
#define NUMBER7 "%7d"
|
#define NUMBER7 "%7d"
|
||||||
|
#define NUMBER_MAX INT_MAX
|
||||||
typedef int number;
|
typedef int number;
|
||||||
#endif
|
#endif
|
||||||
typedef const number cnumber;
|
typedef const number cnumber;
|
||||||
|
|
||||||
#define REAL "%g"
|
#define REAL "%g"
|
||||||
#define REALF "%f"
|
#define REALF "%f"
|
||||||
typedef /*long*/ double real;
|
#define SHOW(r) (double)(r)
|
||||||
/* Switching to long double is not as trivial as it
|
/* floating-point numbers are printed with SHOW */
|
||||||
might seem here. sqrt, erf, exp, pow need to be
|
|
||||||
replaced by their long double versions (sqrtl, ...),
|
#if REALSIZE == 16
|
||||||
printf formats need to be updated similarly, and
|
#include <quadmath.h>
|
||||||
ferrying long doubles to Mathematica is of course
|
typedef __float128 real;
|
||||||
quite another matter, too. */
|
#define RC(x) x##Q
|
||||||
|
#define sqrtx sqrtq
|
||||||
|
#define expx expq
|
||||||
|
#define powx powq
|
||||||
|
#define erfx erfq
|
||||||
|
#define fabsx fabsq
|
||||||
|
#define ldexpx ldexpq
|
||||||
|
#define REAL_MAX_EXP FLT128_MAX_EXP
|
||||||
|
#define REAL_MAX FLT128_MAX
|
||||||
|
#elif REALSIZE == 10
|
||||||
|
typedef long double real;
|
||||||
|
#define RC(x) x##L
|
||||||
|
#define sqrtx sqrtl
|
||||||
|
#define expx expl
|
||||||
|
#define powx powl
|
||||||
|
#define erfx erfl
|
||||||
|
#define fabsx fabsl
|
||||||
|
#define ldexpx ldexpl
|
||||||
|
#define REAL_MAX_EXP LDBL_MAX_EXP
|
||||||
|
#define REAL_MAX LDBL_MAX
|
||||||
|
#define MLPutRealxList MLPutReal128List
|
||||||
|
#define MLGetRealxList MLGetReal128List
|
||||||
|
#define MLReleaseRealxList MLReleaseReal128List
|
||||||
|
#else
|
||||||
|
typedef double real;
|
||||||
|
#define RC(x) x
|
||||||
|
#define sqrtx sqrt
|
||||||
|
#define expx exp
|
||||||
|
#define powx pow
|
||||||
|
#define erfx erf
|
||||||
|
#define fabsx fabs
|
||||||
|
#define ldexpx ldexp
|
||||||
|
#define REAL_MAX_EXP DBL_MAX_EXP
|
||||||
|
#define REAL_MAX DBL_MAX
|
||||||
|
#define MLPutRealxList MLPutReal64List
|
||||||
|
#define MLGetRealxList MLGetReal64List
|
||||||
|
#define MLReleaseRealxList MLReleaseReal64List
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef const real creal;
|
typedef const real creal;
|
||||||
|
|
||||||
typedef void (*subroutine)();
|
typedef void (*subroutine)(void *, cint *);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
subroutine initfun;
|
subroutine initfun;
|
||||||
void *initarg;
|
void *initarg;
|
||||||
subroutine exitfun;
|
subroutine exitfun;
|
||||||
void *exitarg;
|
void *exitarg;
|
||||||
} workerini;
|
bool init;
|
||||||
|
} coreinit;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int ncores, naccel;
|
||||||
|
int pcores, paccel;
|
||||||
|
} corespec;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int fd, pid;
|
||||||
|
} fdpid;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
corespec spec;
|
||||||
|
fdpid fp[];
|
||||||
|
} Spin;
|
||||||
|
|
||||||
|
|
||||||
struct _this;
|
struct _this;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
void (*worker)(struct _this *, csize_t, cint, cint);
|
||||||
|
struct _this *thisptr;
|
||||||
|
size_t thissize;
|
||||||
|
} dispatch;
|
||||||
|
|
||||||
|
|
||||||
typedef unsigned int state_t;
|
typedef unsigned int state_t;
|
||||||
|
|
||||||
#define SOBOL_MINDIM 1
|
#define SOBOL_MINDIM 1
|
||||||
@ -407,7 +507,7 @@ static inline real Max(creal a, creal b) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline real Weight(creal sum, creal sqsum, cnumber n) {
|
static inline real Weight(creal sum, creal sqsum, cnumber n) {
|
||||||
creal w = sqrt(sqsum*n);
|
creal w = sqrtx(sqsum*n);
|
||||||
return (n - 1)/Max((w + sum)*(w - sum), NOTZERO);
|
return (n - 1)/Max((w + sum)*(w - sum), NOTZERO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -452,7 +552,7 @@ static inline void Print(MLCONST char *s)
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define Print(s) puts(s); fflush(stdout)
|
#define Print(s) { puts(s); fflush(stdout); }
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
120
src/external/libCuba/src/cuba.h
vendored
120
src/external/libCuba/src/cuba.h
vendored
@ -2,116 +2,122 @@
|
|||||||
cuba.h
|
cuba.h
|
||||||
Prototypes for the Cuba library
|
Prototypes for the Cuba library
|
||||||
this file is part of Cuba
|
this file is part of Cuba
|
||||||
last modified 30 Apr 13 th
|
last modified 13 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
typedef double cubareal;
|
||||||
|
|
||||||
|
/* integrand_t is intentionally a minimalistic integrand type.
|
||||||
|
It includes neither the nvec and core arguments nor the
|
||||||
|
extra arguments passed by Vegas/Suave (weight, iter) and
|
||||||
|
Divonne (phase).
|
||||||
|
In most cases, integrand_t is just what you want, otherwise
|
||||||
|
simply use an explicit typecast to integrand_t in the Cuba
|
||||||
|
invocation. */
|
||||||
|
typedef int (*integrand_t)(const int *ndim, const cubareal x[],
|
||||||
|
const int *ncomp, cubareal f[], void *userdata);
|
||||||
|
|
||||||
|
typedef void (*peakfinder_t)(const int *ndim, const cubareal b[],
|
||||||
|
int *n, cubareal x[], void *userdata);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* NB: Divonne actually passes a fifth argument, a const int *
|
|
||||||
which points to the integration phase. This is used only
|
|
||||||
rarely and most users are confused by the warnings the
|
|
||||||
compiler emits if the `correct' prototype is used. Thus,
|
|
||||||
if you need to access this argument, use an explicit cast
|
|
||||||
to integrand_t when invoking Divonne. */
|
|
||||||
typedef int (*integrand_t)(const int *ndim, const double x[],
|
|
||||||
const int *ncomp, double f[], void *userdata);
|
|
||||||
|
|
||||||
typedef void (*peakfinder_t)(const int *ndim, const double b[],
|
|
||||||
int *n, double x[]);
|
|
||||||
|
|
||||||
void Vegas(const int ndim, const int ncomp,
|
void Vegas(const int ndim, const int ncomp,
|
||||||
integrand_t integrand, void *userdata,
|
integrand_t integrand, void *userdata, const int nvec,
|
||||||
const double epsrel, const double epsabs,
|
const cubareal epsrel, const cubareal epsabs,
|
||||||
const int flags, const int seed,
|
const int flags, const int seed,
|
||||||
const int mineval, const int maxeval,
|
const int mineval, const int maxeval,
|
||||||
const int nstart, const int nincrease, const int nbatch,
|
const int nstart, const int nincrease, const int nbatch,
|
||||||
const int gridno, const char *statefile,
|
const int gridno, const char *statefile, void *spin,
|
||||||
int *neval, int *fail,
|
int *neval, int *fail,
|
||||||
double integral[], double error[], double prob[]);
|
cubareal integral[], cubareal error[], cubareal prob[]);
|
||||||
|
|
||||||
void llVegas(const int ndim, const int ncomp,
|
void llVegas(const int ndim, const int ncomp,
|
||||||
integrand_t integrand, void *userdata,
|
integrand_t integrand, void *userdata, const long long int nvec,
|
||||||
const double epsrel, const double epsabs,
|
const cubareal epsrel, const cubareal epsabs,
|
||||||
const int flags, const int seed,
|
const int flags, const int seed,
|
||||||
const long long int mineval, const long long int maxeval,
|
const long long int mineval, const long long int maxeval,
|
||||||
const long long int nstart, const long long int nincrease,
|
const long long int nstart, const long long int nincrease,
|
||||||
const long long int nbatch,
|
const long long int nbatch,
|
||||||
const int gridno, const char *statefile,
|
const int gridno, const char *statefile, void *spin,
|
||||||
long long int *neval, int *fail,
|
long long int *neval, int *fail,
|
||||||
double integral[], double error[], double prob[]);
|
cubareal integral[], cubareal error[], cubareal prob[]);
|
||||||
|
|
||||||
void Suave(const int ndim, const int ncomp,
|
void Suave(const int ndim, const int ncomp,
|
||||||
integrand_t integrand, void *userdata,
|
integrand_t integrand, void *userdata, const int nvec,
|
||||||
const double epsrel, const double epsabs,
|
const cubareal epsrel, const cubareal epsabs,
|
||||||
const int flags, const int seed,
|
const int flags, const int seed,
|
||||||
const int mineval, const int maxeval,
|
const int mineval, const int maxeval,
|
||||||
const int nnew, const double flatness,
|
const int nnew, const int nmin,
|
||||||
const char *statefile,
|
const cubareal flatness, const char *statefile, void *spin,
|
||||||
int *nregions, int *neval, int *fail,
|
int *nregions, int *neval, int *fail,
|
||||||
double integral[], double error[], double prob[]);
|
cubareal integral[], cubareal error[], cubareal prob[]);
|
||||||
|
|
||||||
void llSuave(const int ndim, const int ncomp,
|
void llSuave(const int ndim, const int ncomp,
|
||||||
integrand_t integrand, void *userdata,
|
integrand_t integrand, void *userdata, const long long int nvec,
|
||||||
const double epsrel, const double epsabs,
|
const cubareal epsrel, const cubareal epsabs,
|
||||||
const int flags, const int seed,
|
const int flags, const int seed,
|
||||||
const long long int mineval, const long long int maxeval,
|
const long long int mineval, const long long int maxeval,
|
||||||
const long long int nnew, const double flatness,
|
const long long int nnew, const long long int nmin,
|
||||||
const char *statefile,
|
const cubareal flatness, const char *statefile, void *spin,
|
||||||
int *nregions, long long int *neval, int *fail,
|
int *nregions, long long int *neval, int *fail,
|
||||||
double integral[], double error[], double prob[]);
|
cubareal integral[], cubareal error[], cubareal prob[]);
|
||||||
|
|
||||||
void Divonne(const int ndim, const int ncomp,
|
void Divonne(const int ndim, const int ncomp,
|
||||||
integrand_t integrand, void *userdata,
|
integrand_t integrand, void *userdata, const int nvec,
|
||||||
const double epsrel, const double epsabs,
|
const cubareal epsrel, const cubareal epsabs,
|
||||||
const int flags, const int seed,
|
const int flags, const int seed,
|
||||||
const int mineval, const int maxeval,
|
const int mineval, const int maxeval,
|
||||||
const int key1, const int key2, const int key3, const int maxpass,
|
const int key1, const int key2, const int key3, const int maxpass,
|
||||||
const double border, const double maxchisq, const double mindeviation,
|
const cubareal border, const cubareal maxchisq, const cubareal mindeviation,
|
||||||
const int ngiven, const int ldxgiven, double xgiven[],
|
const int ngiven, const int ldxgiven, cubareal xgiven[],
|
||||||
const int nextra, peakfinder_t peakfinder,
|
const int nextra, peakfinder_t peakfinder,
|
||||||
const char *statefile,
|
const char *statefile, void *spin,
|
||||||
int *nregions, int *neval, int *fail,
|
int *nregions, int *neval, int *fail,
|
||||||
double integral[], double error[], double prob[]);
|
cubareal integral[], cubareal error[], cubareal prob[]);
|
||||||
|
|
||||||
void llDivonne(const int ndim, const int ncomp,
|
void llDivonne(const int ndim, const int ncomp,
|
||||||
integrand_t integrand, void *userdata,
|
integrand_t integrand, void *userdata, const long long int nvec,
|
||||||
const double epsrel, const double epsabs,
|
const cubareal epsrel, const cubareal epsabs,
|
||||||
const int flags, const int seed,
|
const int flags, const int seed,
|
||||||
const long long int mineval, const long long int maxeval,
|
const long long int mineval, const long long int maxeval,
|
||||||
const int key1, const int key2, const int key3, const int maxpass,
|
const int key1, const int key2, const int key3, const int maxpass,
|
||||||
const double border, const double maxchisq, const double mindeviation,
|
const cubareal border, const cubareal maxchisq, const cubareal mindeviation,
|
||||||
const long long int ngiven, const int ldxgiven, double xgiven[],
|
const long long int ngiven, const int ldxgiven, cubareal xgiven[],
|
||||||
const long long int nextra,
|
const long long int nextra, peakfinder_t peakfinder,
|
||||||
void (*peakfinder)(const int *, const double [], int *, double []),
|
const char *statefile, void *spin,
|
||||||
const char *statefile,
|
|
||||||
int *nregions, long long int *neval, int *fail,
|
int *nregions, long long int *neval, int *fail,
|
||||||
double integral[], double error[], double prob[]);
|
cubareal integral[], cubareal error[], cubareal prob[]);
|
||||||
|
|
||||||
void Cuhre(const int ndim, const int ncomp,
|
void Cuhre(const int ndim, const int ncomp,
|
||||||
integrand_t integrand, void *userdata,
|
integrand_t integrand, void *userdata, const int nvec,
|
||||||
const double epsrel, const double epsabs,
|
const cubareal epsrel, const cubareal epsabs,
|
||||||
const int flags, const int mineval, const int maxeval,
|
const int flags, const int mineval, const int maxeval,
|
||||||
const int key,
|
const int key,
|
||||||
const char *statefile,
|
const char *statefile, void *spin,
|
||||||
int *nregions, int *neval, int *fail,
|
int *nregions, int *neval, int *fail,
|
||||||
double integral[], double error[], double prob[]);
|
cubareal integral[], cubareal error[], cubareal prob[]);
|
||||||
|
|
||||||
void llCuhre(const int ndim, const int ncomp,
|
void llCuhre(const int ndim, const int ncomp,
|
||||||
integrand_t integrand, void *userdata,
|
integrand_t integrand, void *userdata, const long long int nvec,
|
||||||
const double epsrel, const double epsabs,
|
const cubareal epsrel, const cubareal epsabs,
|
||||||
const int flags,
|
const int flags,
|
||||||
const long long int mineval, const long long int maxeval,
|
const long long int mineval, const long long int maxeval,
|
||||||
const int key,
|
const int key,
|
||||||
const char *statefile,
|
const char *statefile, void *spin,
|
||||||
int *nregions, long long int *neval, int *fail,
|
int *nregions, long long int *neval, int *fail,
|
||||||
double integral[], double error[], double prob[]);
|
cubareal integral[], cubareal error[], cubareal prob[]);
|
||||||
|
|
||||||
void cubasetinit(void (*)(), void *);
|
void cubafork(void *pspin);
|
||||||
void cubasetexit(void (*)(), void *);
|
void cubawait(void *pspin);
|
||||||
void cubaruninit(void);
|
|
||||||
void cubaruninit(void);
|
void cubacores(const int n, const int p);
|
||||||
|
void cubaaccel(const int n, const int p);
|
||||||
|
|
||||||
|
void cubainit(void (*f)(), void *arg);
|
||||||
|
void cubaexit(void (*f)(), void *arg);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
32
src/external/libCuba/src/cuhre/CMakeLists.txt
vendored
Normal file
32
src/external/libCuba/src/cuhre/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#--- cuhre --------------------------------------------------------------------
|
||||||
|
|
||||||
|
#--- obj lib creation ---------------------------------------------------------
|
||||||
|
add_library(cuhre OBJECT
|
||||||
|
Cuhre.c
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
cuhre BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../common>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- check for pre compile flags ----------------------------------------------
|
||||||
|
set(COMP_DEF "-DHAVE_CONFIG_H")
|
||||||
|
set(COMP_DEF ${COMP_DEF} "-DNOUNDERSCORE")
|
||||||
|
set(COMP_DEF ${COMP_DEF} "-Dcubafun_=libCuhrecubafun_")
|
||||||
|
|
||||||
|
target_compile_definitions(
|
||||||
|
cuhre PRIVATE ${COMP_DEF}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(COMP_OPT "-O3")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-fomit-frame-pointer")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-ffast-math")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-fPIC")
|
||||||
|
target_compile_options(
|
||||||
|
cuhre PRIVATE ${COMP_OPT}
|
||||||
|
)
|
29
src/external/libCuba/src/cuhre/Cuhre.c
vendored
29
src/external/libCuba/src/cuhre/Cuhre.c
vendored
@ -2,7 +2,7 @@
|
|||||||
Cuhre.c
|
Cuhre.c
|
||||||
Adaptive integration using cubature rules
|
Adaptive integration using cubature rules
|
||||||
by Thomas Hahn
|
by Thomas Hahn
|
||||||
last modified 17 Sep 13 th
|
last modified 22 Jul 14 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -15,55 +15,70 @@
|
|||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
Extern void EXPORT(Cuhre)(ccount ndim, ccount ncomp,
|
Extern void EXPORT(Cuhre)(ccount ndim, ccount ncomp,
|
||||||
Integrand integrand, void *userdata,
|
Integrand integrand, void *userdata, cnumber nvec,
|
||||||
creal epsrel, creal epsabs,
|
creal epsrel, creal epsabs,
|
||||||
cint flags, cnumber mineval, cnumber maxeval,
|
cint flags, cnumber mineval, cnumber maxeval,
|
||||||
ccount key, cchar *statefile,
|
ccount key, cchar *statefile, Spin **pspin,
|
||||||
count *pnregions, number *pneval, int *pfail,
|
count *pnregions, number *pneval, int *pfail,
|
||||||
real *integral, real *error, real *prob)
|
real *integral, real *error, real *prob)
|
||||||
{
|
{
|
||||||
This t;
|
This t;
|
||||||
|
|
||||||
|
VerboseInit();
|
||||||
|
|
||||||
t.ndim = ndim;
|
t.ndim = ndim;
|
||||||
t.ncomp = ncomp;
|
t.ncomp = ncomp;
|
||||||
t.integrand = integrand;
|
t.integrand = integrand;
|
||||||
t.userdata = userdata;
|
t.userdata = userdata;
|
||||||
|
t.nvec = nvec;
|
||||||
t.epsrel = epsrel;
|
t.epsrel = epsrel;
|
||||||
t.epsabs = epsabs;
|
t.epsabs = epsabs;
|
||||||
t.flags = flags;
|
t.flags = MaxVerbose(flags);
|
||||||
t.mineval = mineval;
|
t.mineval = mineval;
|
||||||
t.maxeval = maxeval;
|
t.maxeval = maxeval;
|
||||||
t.key = key;
|
t.key = key;
|
||||||
t.statefile = statefile;
|
t.statefile = statefile;
|
||||||
|
FORK_ONLY(t.spin = Invalid(pspin) ? NULL : *pspin;)
|
||||||
|
|
||||||
*pfail = Integrate(&t, integral, error, prob);
|
*pfail = Integrate(&t, integral, error, prob);
|
||||||
*pnregions = t.nregions;
|
*pnregions = t.nregions;
|
||||||
*pneval = t.neval;
|
*pneval = t.neval;
|
||||||
|
|
||||||
|
WaitCores(&t, pspin);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
Extern void EXPORT(cuhre)(ccount *pndim, ccount *pncomp,
|
Extern void EXPORT(cuhre)(ccount *pndim, ccount *pncomp,
|
||||||
Integrand integrand, void *userdata,
|
Integrand integrand, void *userdata, cnumber *pnvec,
|
||||||
creal *pepsrel, creal *pepsabs,
|
creal *pepsrel, creal *pepsabs,
|
||||||
cint *pflags, cnumber *pmineval, cnumber *pmaxeval,
|
cint *pflags, cnumber *pmineval, cnumber *pmaxeval,
|
||||||
ccount *pkey, cchar *statefile,
|
ccount *pkey, cchar *statefile, Spin **pspin,
|
||||||
count *pnregions, number *pneval, int *pfail,
|
count *pnregions, number *pneval, int *pfail,
|
||||||
real *integral, real *error, real *prob, cint statefilelen)
|
real *integral, real *error, real *prob, cint statefilelen)
|
||||||
{
|
{
|
||||||
This t;
|
This t;
|
||||||
|
|
||||||
|
VerboseInit();
|
||||||
|
|
||||||
t.ndim = *pndim;
|
t.ndim = *pndim;
|
||||||
t.ncomp = *pncomp;
|
t.ncomp = *pncomp;
|
||||||
t.integrand = integrand;
|
t.integrand = integrand;
|
||||||
t.userdata = userdata;
|
t.userdata = userdata;
|
||||||
|
t.nvec = *pnvec;
|
||||||
t.epsrel = *pepsrel;
|
t.epsrel = *pepsrel;
|
||||||
t.epsabs = *pepsabs;
|
t.epsabs = *pepsabs;
|
||||||
t.flags = *pflags;
|
t.flags = MaxVerbose(*pflags);
|
||||||
t.mineval = *pmineval;
|
t.mineval = *pmineval;
|
||||||
t.maxeval = *pmaxeval;
|
t.maxeval = *pmaxeval;
|
||||||
t.key = *pkey;
|
t.key = *pkey;
|
||||||
CString(t.statefile, statefile, statefilelen);
|
CString(t.statefile, statefile, statefilelen);
|
||||||
|
FORK_ONLY(t.spin = Invalid(pspin) ? NULL : *pspin;)
|
||||||
|
|
||||||
*pfail = Integrate(&t, integral, error, prob);
|
*pfail = Integrate(&t, integral, error, prob);
|
||||||
*pnregions = t.nregions;
|
*pnregions = t.nregions;
|
||||||
*pneval = t.neval;
|
*pneval = t.neval;
|
||||||
|
|
||||||
|
WaitCores(&t, pspin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
26
src/external/libCuba/src/cuhre/Integrate.c
vendored
26
src/external/libCuba/src/cuhre/Integrate.c
vendored
@ -3,7 +3,7 @@
|
|||||||
integrate over the unit hypercube
|
integrate over the unit hypercube
|
||||||
this file is part of Cuhre
|
this file is part of Cuhre
|
||||||
checkpointing by B. Chokoufe
|
checkpointing by B. Chokoufe
|
||||||
last modified 17 Sep 13 th
|
last modified 14 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -11,6 +11,9 @@
|
|||||||
|
|
||||||
typedef struct pool {
|
typedef struct pool {
|
||||||
struct pool *next;
|
struct pool *next;
|
||||||
|
#if REALSIZE > 8
|
||||||
|
void *dummy; /* for alignment */
|
||||||
|
#endif
|
||||||
char region[];
|
char region[];
|
||||||
} Pool;
|
} Pool;
|
||||||
|
|
||||||
@ -42,12 +45,14 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
if( VERBOSE > 1 ) {
|
if( VERBOSE > 1 ) {
|
||||||
sprintf(out, "Cuhre input parameters:\n"
|
sprintf(out, "Cuhre input parameters:\n"
|
||||||
" ndim " COUNT "\n ncomp " COUNT "\n"
|
" ndim " COUNT "\n ncomp " COUNT "\n"
|
||||||
|
ML_NOT(" nvec " NUMBER "\n")
|
||||||
" epsrel " REAL "\n epsabs " REAL "\n"
|
" epsrel " REAL "\n epsabs " REAL "\n"
|
||||||
" flags %d\n mineval " NUMBER "\n maxeval " NUMBER "\n"
|
" flags %d\n mineval " NUMBER "\n maxeval " NUMBER "\n"
|
||||||
" key " COUNT "\n"
|
" key " COUNT "\n"
|
||||||
" statefile \"%s\"",
|
" statefile \"%s\"",
|
||||||
t->ndim, t->ncomp,
|
t->ndim, t->ncomp,
|
||||||
t->epsrel, t->epsabs,
|
ML_NOT(t->nvec,)
|
||||||
|
SHOW(t->epsrel), SHOW(t->epsabs),
|
||||||
t->flags, t->mineval, t->maxeval,
|
t->flags, t->mineval, t->maxeval,
|
||||||
t->key,
|
t->key,
|
||||||
t->statefile);
|
t->statefile);
|
||||||
@ -61,7 +66,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
|
|
||||||
RuleAlloc(t);
|
RuleAlloc(t);
|
||||||
t->mineval = IMax(t->mineval, t->rule.n + 1);
|
t->mineval = IMax(t->mineval, t->rule.n + 1);
|
||||||
FrameAlloc(t, ShmRm(t));
|
FrameAlloc(t, Master);
|
||||||
ForkCores(t);
|
ForkCores(t);
|
||||||
|
|
||||||
if( (fail = setjmp(t->abort)) ) goto abort;
|
if( (fail = setjmp(t->abort)) ) goto abort;
|
||||||
@ -125,7 +130,8 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
for( tot = state->totals, comp = 0; tot < Tot; ++tot )
|
for( tot = state->totals, comp = 0; tot < Tot; ++tot )
|
||||||
oe += sprintf(oe, "\n[" COUNT "] "
|
oe += sprintf(oe, "\n[" COUNT "] "
|
||||||
REAL " +- " REAL " \tchisq " REAL " (" COUNT " df)",
|
REAL " +- " REAL " \tchisq " REAL " (" COUNT " df)",
|
||||||
++comp, tot->avg, tot->err, tot->chisq, t->nregions - 1);
|
++comp, SHOW(tot->avg), SHOW(tot->err),
|
||||||
|
SHOW(tot->chisq), t->nregions - 1);
|
||||||
Print(out);
|
Print(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,7 +194,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
|
|
||||||
tot->lastavg += diff = resL->avg + resR->avg - res->avg;
|
tot->lastavg += diff = resL->avg + resR->avg - res->avg;
|
||||||
|
|
||||||
diff = fabs(.25*diff);
|
diff = fabsx(.25*diff);
|
||||||
err = resL->err + resR->err;
|
err = resL->err + resR->err;
|
||||||
if( err > 0 ) {
|
if( err > 0 ) {
|
||||||
creal c = 1 + 2*diff/err;
|
creal c = 1 + 2*diff/err;
|
||||||
@ -213,7 +219,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tot->avg = avg;
|
tot->avg = avg;
|
||||||
tot->err = sqrt(sigsq);
|
tot->err = sqrtx(sigsq);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
++t->nregions;
|
++t->nregions;
|
||||||
@ -249,13 +255,13 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
Result *Res;
|
Result *Res;
|
||||||
|
|
||||||
MLPutFunction(stdlink, "Cuba`Cuhre`region", 2);
|
MLPutFunction(stdlink, "Cuba`Cuhre`region", 2);
|
||||||
MLPutRealList(stdlink, (real *)region->bounds, 2*t->ndim);
|
MLPutRealxList(stdlink, (real *)region->bounds, 2*t->ndim);
|
||||||
|
|
||||||
MLPutFunction(stdlink, "List", t->ncomp);
|
MLPutFunction(stdlink, "List", t->ncomp);
|
||||||
for( Res = (res = RegionResult(region)) + t->ncomp;
|
for( Res = (res = RegionResult(region)) + t->ncomp;
|
||||||
res < Res; ++res ) {
|
res < Res; ++res ) {
|
||||||
real r[] = {res->avg, res->err};
|
real r[] = {res->avg, res->err};
|
||||||
MLPutRealList(stdlink, r, Elements(r));
|
MLPutRealxList(stdlink, r, Elements(r));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -266,9 +272,7 @@ abort:
|
|||||||
cur = cur->next;
|
cur = cur->next;
|
||||||
free(pool);
|
free(pool);
|
||||||
}
|
}
|
||||||
|
FrameFree(t, Master);
|
||||||
WaitCores(t);
|
|
||||||
FrameFree(t);
|
|
||||||
RuleFree(t);
|
RuleFree(t);
|
||||||
|
|
||||||
StateRemove(t);
|
StateRemove(t);
|
||||||
|
2
src/external/libCuba/src/cuhre/Makefile.am
vendored
2
src/external/libCuba/src/cuhre/Makefile.am
vendored
@ -3,7 +3,7 @@
|
|||||||
c_sources = Cuhre.c
|
c_sources = Cuhre.c
|
||||||
|
|
||||||
AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE
|
AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE
|
||||||
AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS)
|
AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS) "-Dcubafun_=libCuhrecubafun_"
|
||||||
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libcuhre.la
|
noinst_LTLIBRARIES = libcuhre.la
|
||||||
|
129
src/external/libCuba/src/cuhre/Rule.c
vendored
129
src/external/libCuba/src/cuhre/Rule.c
vendored
@ -4,11 +4,12 @@
|
|||||||
code lifted with minor modifications from DCUHRE
|
code lifted with minor modifications from DCUHRE
|
||||||
by J. Berntsen, T. Espelid, and A. Genz
|
by J. Berntsen, T. Espelid, and A. Genz
|
||||||
this file is part of Cuhre
|
this file is part of Cuhre
|
||||||
last modified 5 Aug 13 th
|
last modified 7 May 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define NextSet(p) p = (Set *)((char *)p + setsize)
|
#define NextSet(p) p = (Set *)((char *)p + setsize)
|
||||||
|
#define IndexSet(p, n) ((Set *)((char *)p + n*setsize))
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
@ -153,7 +154,7 @@ static void Rule13Alloc(This *t)
|
|||||||
-s->weight[r + 1]/s->weight[r];
|
-s->weight[r + 1]/s->weight[r];
|
||||||
real sum = 0;
|
real sum = 0;
|
||||||
for( x = first; x <= last; NextSet(x) )
|
for( x = first; x <= last; NextSet(x) )
|
||||||
sum += x->n*fabs(x->weight[r + 1] + scale*x->weight[r]);
|
sum += x->n*fabsx(x->weight[r + 1] + scale*x->weight[r]);
|
||||||
s->scale[r] = scale;
|
s->scale[r] = scale;
|
||||||
s->norm[r] = 1/sum;
|
s->norm[r] = 1/sum;
|
||||||
}
|
}
|
||||||
@ -298,7 +299,7 @@ static void Rule11Alloc(This *t)
|
|||||||
-s->weight[r + 1]/s->weight[r];
|
-s->weight[r + 1]/s->weight[r];
|
||||||
real sum = 0;
|
real sum = 0;
|
||||||
for( x = first; x <= last; NextSet(x) )
|
for( x = first; x <= last; NextSet(x) )
|
||||||
sum += x->n*fabs(x->weight[r + 1] + scale*x->weight[r]);
|
sum += x->n*fabsx(x->weight[r + 1] + scale*x->weight[r]);
|
||||||
s->scale[r] = scale;
|
s->scale[r] = scale;
|
||||||
s->norm[r] = 1/sum;
|
s->norm[r] = 1/sum;
|
||||||
}
|
}
|
||||||
@ -309,32 +310,55 @@ static void Rule11Alloc(This *t)
|
|||||||
static void Rule9Alloc(This *t)
|
static void Rule9Alloc(This *t)
|
||||||
{
|
{
|
||||||
static creal w[] = {
|
static creal w[] = {
|
||||||
-.0023611709677855117884, .11415390023857325268,
|
RC(-.002361170967785511788400941242259231309691),
|
||||||
-.63833920076702389094, .74849988504685208004,
|
RC(.1141539002385732526821323741697655347686),
|
||||||
-.0014324017033399125142, .057471507864489725949,
|
RC(-.6383392007670238909386026193674701393074),
|
||||||
-.14225104571434243234, -.062875028738286979989,
|
RC(.7484998850468520800423030047583803945205),
|
||||||
.254591133248959089, -1.207328566678236261,
|
RC(-.001432401703339912514196154599769007103671),
|
||||||
.89567365764160676508, -.36479356986049146661,
|
RC(.05747150786448972594860897296200006759892),
|
||||||
.0035417564516782676826, -.072609367395893679605,
|
RC(-.1422510457143424323449521620935950679394),
|
||||||
.10557491625218991012, .0021486025550098687713,
|
RC(-.06287502873828697998942424881040490136987),
|
||||||
-.032268563892953949998, .010636783990231217481,
|
RC(.2545911332489590890011611142429070613156),
|
||||||
.014689102496143490175, .51134708346467591431,
|
RC(-1.207328566678236261002219995185143356737),
|
||||||
.45976448120806344646, .18239678493024573331,
|
RC(.8956736576416067650809467826488567200939),
|
||||||
-.04508628929435784076, .21415883524352793401,
|
RC(-.3647935698604914666100134551377381205297),
|
||||||
-.027351546526545644722, .054941067048711234101,
|
RC(.003541756451678267682601411863388846964536),
|
||||||
.11937596202570775297, .65089519391920250593,
|
RC(-.07260936739589367960492815865074633743652),
|
||||||
.14744939829434460168, .057693384490973483573,
|
RC(.1055749162521899101218622863269817454540),
|
||||||
.034999626602143583822, -1.3868627719278281436,
|
RC(.002148602555009868771294231899653510655506),
|
||||||
-.2386668732575008879, .015532417276607053264,
|
RC(-.03226856389295394999786630399875134318006),
|
||||||
.0035328099607090870236, .09231719987444221619,
|
RC(.01063678399023121748083624225818915724455),
|
||||||
.02254314464717892038, .013675773263272822361,
|
RC(.01468910249614349017540783437728097691502),
|
||||||
-.32544759695960125297, .0017708782258391338413,
|
RC(.5113470834646759143109387357149329909126),
|
||||||
.0010743012775049343856, .25150011495314791996 };
|
RC(.4597644812080634464633352781605214342691),
|
||||||
|
RC(.1823967849302457333050067275688690602649),
|
||||||
|
RC(-.04508628929435784075980562738240804429658),
|
||||||
|
RC(.2141588352435279340097929526588394300172),
|
||||||
|
RC(-.02735154652654564472203690086290223507436),
|
||||||
|
RC(.05494106704871123410060080562462135546101),
|
||||||
|
RC(.1193759620257077529708962121565290178730),
|
||||||
|
RC(.6508951939192025059314756320878023215278),
|
||||||
|
RC(.1474493982943446016775696826942585013243),
|
||||||
|
RC(.05769338449097348357291272840392627722165),
|
||||||
|
RC(.03499962660214358382244159694487155861542),
|
||||||
|
RC(-1.386862771927828143599782668709014266770),
|
||||||
|
RC(-.2386668732575008878964134721962088068396),
|
||||||
|
RC(.01553241727660705326386197156586357005224),
|
||||||
|
RC(.003532809960709087023561817517751309380604),
|
||||||
|
RC(.09231719987444221619017126187763868745587),
|
||||||
|
RC(.02254314464717892037990281369120402214829),
|
||||||
|
RC(.01367577326327282236101845043145111753718),
|
||||||
|
RC(-.3254475969596012529657378160439011607639),
|
||||||
|
RC(.001770878225839133841300705931694423482268),
|
||||||
|
RC(.001074301277504934385647115949826755327753),
|
||||||
|
RC(.2515001149531479199576969952416196054795) };
|
||||||
|
|
||||||
static creal g[] = {
|
static creal g[] = {
|
||||||
.47795365790226950619, .20302858736911986780,
|
RC(.4779536579022695061928604197171830064732),
|
||||||
.44762735462617812882, .125,
|
RC(.2030285873691198677998034402373279133258),
|
||||||
.34303789878087814570 };
|
RC(.4476273546261781288207704806530998539285),
|
||||||
|
RC(.125),
|
||||||
|
RC(.3430378987808781457001426145164678603407) };
|
||||||
|
|
||||||
enum { nsets = 9 };
|
enum { nsets = 9 };
|
||||||
|
|
||||||
@ -440,7 +464,7 @@ static void Rule9Alloc(This *t)
|
|||||||
-s->weight[r + 1]/s->weight[r];
|
-s->weight[r + 1]/s->weight[r];
|
||||||
real sum = 0;
|
real sum = 0;
|
||||||
for( x = first; x <= last; NextSet(x) )
|
for( x = first; x <= last; NextSet(x) )
|
||||||
sum += x->n*fabs(x->weight[r + 1] + scale*x->weight[r]);
|
sum += x->n*fabsx(x->weight[r + 1] + scale*x->weight[r]);
|
||||||
s->scale[r] = scale;
|
s->scale[r] = scale;
|
||||||
s->norm[r] = 1/sum;
|
s->norm[r] = 1/sum;
|
||||||
}
|
}
|
||||||
@ -451,21 +475,33 @@ static void Rule9Alloc(This *t)
|
|||||||
static void Rule7Alloc(This *t)
|
static void Rule7Alloc(This *t)
|
||||||
{
|
{
|
||||||
static creal w[] = {
|
static creal w[] = {
|
||||||
.019417866674748388428, -.40385257701150182546,
|
RC(.01941786667474838842844534313920462333850),
|
||||||
.64485668767465982223, .01177982690775806141,
|
RC(-.4038525770115018254611834753723880293161),
|
||||||
-.18041318740733609012, -.088785828081335044443,
|
RC(.6448566876746598222277360730193089551024),
|
||||||
.056328645808285941374, -.0097089333373741942142,
|
RC(.01177982690775806141012214458820955067854),
|
||||||
-.99129176779582358138, -.17757165616267008889,
|
RC(-.1804131874073360901182293138710989490609),
|
||||||
.12359398032043233572, .074978148702033690681,
|
RC(-.08878582808133504444306598174517276122439),
|
||||||
.55489147051423559776, .088041241522692771226,
|
RC(.05632864580828594137378124255408286479947),
|
||||||
.021118358455513385083, -.0099302203239653333087,
|
RC(-.009708933337374194214222671569602311669249),
|
||||||
-.064100053285010904179, .030381729038221007659,
|
RC(-.9912917677958235813775106862002319060386),
|
||||||
.0058899134538790307051, -.0048544666686870971071,
|
RC(-.1775716561626700888861319634903455224488),
|
||||||
.35514331232534017777 };
|
RC(.1235939803204323357183625846672135876752),
|
||||||
|
RC(.07497814870203369068087999555157339703666),
|
||||||
|
RC(.5548914705142355977605994477355651401434),
|
||||||
|
RC(.08804124152269277122645182458858273865209),
|
||||||
|
RC(.02111835845551338508329573367808085283304),
|
||||||
|
RC(-.009930220323965333308685820460105538586058),
|
||||||
|
RC(-.06410005328501090417895544042025034295870),
|
||||||
|
RC(.03038172903822100765927778829870429682489),
|
||||||
|
RC(.005889913453879030705061072294104775339268),
|
||||||
|
RC(-.004854466668687097107111335784801155834624),
|
||||||
|
RC(.3551433123253401777722639269806910448976) };
|
||||||
|
|
||||||
static creal g[] = {
|
static creal g[] = {
|
||||||
.47795365790226950619, .20302858736911986780,
|
RC(.4779536579022695061928604197171830064732),
|
||||||
.375, .34303789878087814570 };
|
RC(.2030285873691198677998034402373279133258),
|
||||||
|
RC(.375),
|
||||||
|
RC(.3430378987808781457001426145164678603407) };
|
||||||
|
|
||||||
enum { nsets = 6 };
|
enum { nsets = 6 };
|
||||||
|
|
||||||
@ -541,7 +577,7 @@ static void Rule7Alloc(This *t)
|
|||||||
-s->weight[r + 1]/s->weight[r];
|
-s->weight[r + 1]/s->weight[r];
|
||||||
real sum = 0;
|
real sum = 0;
|
||||||
for( x = first; x <= last; NextSet(x) )
|
for( x = first; x <= last; NextSet(x) )
|
||||||
sum += x->n*fabs(x->weight[r + 1] + scale*x->weight[r]);
|
sum += x->n*fabsx(x->weight[r + 1] + scale*x->weight[r]);
|
||||||
s->scale[r] = scale;
|
s->scale[r] = scale;
|
||||||
s->norm[r] = 1/sum;
|
s->norm[r] = 1/sum;
|
||||||
}
|
}
|
||||||
@ -630,7 +666,8 @@ static void Sample(This *t, Region *region)
|
|||||||
Bounds *b, *B = region->bounds + t->ndim;
|
Bounds *b, *B = region->bounds + t->ndim;
|
||||||
Result *result = RegionResult(region), *res, *Res = result + t->ncomp;
|
Result *result = RegionResult(region), *res, *Res = result + t->ncomp;
|
||||||
creal *errcoeff = t->rule.errcoeff;
|
creal *errcoeff = t->rule.errcoeff;
|
||||||
creal ratio = Sq(first[2].gen[0]/first[1].gen[0]);
|
creal ratio = Sq(IndexSet(first,2)->gen[0]/
|
||||||
|
IndexSet(first,1)->gen[0]);
|
||||||
|
|
||||||
ccount offset = 2*t->ndim*t->ncomp;
|
ccount offset = 2*t->ndim*t->ncomp;
|
||||||
count dim, rul, n, maxdim = 0;
|
count dim, rul, n, maxdim = 0;
|
||||||
@ -659,7 +696,7 @@ static void Sample(This *t, Region *region)
|
|||||||
for( dim = 0; dim < t->ndim; ++dim ) {
|
for( dim = 0; dim < t->ndim; ++dim ) {
|
||||||
creal *fp = f1 + t->ncomp;
|
creal *fp = f1 + t->ncomp;
|
||||||
creal *fm = fp + t->ncomp;
|
creal *fm = fp + t->ncomp;
|
||||||
creal fourthdiff = fabs(base +
|
creal fourthdiff = fabsx(base +
|
||||||
ratio*(fp[0] + fm[0]) - (fp[offset] + fm[offset]));
|
ratio*(fp[0] + fm[0]) - (fp[offset] + fm[offset]));
|
||||||
f1 = fm;
|
f1 = fm;
|
||||||
if( fourthdiff > maxdiff ) {
|
if( fourthdiff > maxdiff ) {
|
||||||
@ -688,7 +725,7 @@ static void Sample(This *t, Region *region)
|
|||||||
real maxerr = 0;
|
real maxerr = 0;
|
||||||
for( s = first; s <= last; NextSet(s) )
|
for( s = first; s <= last; NextSet(s) )
|
||||||
maxerr = Max(maxerr,
|
maxerr = Max(maxerr,
|
||||||
fabs(sum[rul + 1] + s->scale[rul]*sum[rul])*s->norm[rul]);
|
fabsx(sum[rul + 1] + s->scale[rul]*sum[rul])*s->norm[rul]);
|
||||||
sum[rul] = maxerr;
|
sum[rul] = maxerr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -712,7 +749,7 @@ static void Sample(This *t, Region *region)
|
|||||||
|
|
||||||
for( res = result, comp = 0; res < Res; ++res )
|
for( res = result, comp = 0; res < Res; ++res )
|
||||||
oe += sprintf(oe, "\n[" COUNT "] "
|
oe += sprintf(oe, "\n[" COUNT "] "
|
||||||
REAL " +- " REAL, ++comp, res->avg, res->err);
|
REAL " +- " REAL, ++comp, SHOW(res->avg), SHOW(res->err));
|
||||||
|
|
||||||
Print(out);
|
Print(out);
|
||||||
}
|
}
|
||||||
|
8
src/external/libCuba/src/cuhre/decl.h
vendored
8
src/external/libCuba/src/cuhre/decl.h
vendored
@ -2,7 +2,7 @@
|
|||||||
decl.h
|
decl.h
|
||||||
Type declarations
|
Type declarations
|
||||||
this file is part of Cuhre
|
this file is part of Cuhre
|
||||||
last modified 26 Jul 13 th
|
last modified 21 Jul 14 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -47,16 +47,18 @@ typedef struct {
|
|||||||
|
|
||||||
typedef const Rule cRule;
|
typedef const Rule cRule;
|
||||||
|
|
||||||
typedef int (*Integrand)(ccount *, creal *, ccount *, real *, void *);
|
typedef int (*Integrand)(ccount *, creal *, ccount *, real *,
|
||||||
|
void *, cnumber *, cint *);
|
||||||
|
|
||||||
typedef struct _this {
|
typedef struct _this {
|
||||||
count ndim, ncomp;
|
count ndim, ncomp;
|
||||||
#ifndef MLVERSION
|
#ifndef MLVERSION
|
||||||
Integrand integrand;
|
Integrand integrand;
|
||||||
void *userdata;
|
void *userdata;
|
||||||
|
number nvec;
|
||||||
#ifdef HAVE_FORK
|
#ifdef HAVE_FORK
|
||||||
int ncores, *child;
|
|
||||||
SHM_ONLY(int shmid;)
|
SHM_ONLY(int shmid;)
|
||||||
|
Spin *spin;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
real *frame;
|
real *frame;
|
||||||
|
32
src/external/libCuba/src/divonne/CMakeLists.txt
vendored
Normal file
32
src/external/libCuba/src/divonne/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#--- divonne ------------------------------------------------------------------
|
||||||
|
|
||||||
|
#--- obj lib creation ---------------------------------------------------------
|
||||||
|
add_library(divonne OBJECT
|
||||||
|
Divonne.c
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
divonne BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../common>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- check for pre compile flags ----------------------------------------------
|
||||||
|
set(COMP_DEF "-DHAVE_CONFIG_H")
|
||||||
|
set(COMP_DEF ${COMP_DEF} "-DNOUNDERSCORE")
|
||||||
|
set(COMP_DEF ${COMP_DEF} "-Dcubafun_=libDivonnecubafun_")
|
||||||
|
|
||||||
|
target_compile_definitions(
|
||||||
|
divonne PRIVATE ${COMP_DEF}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(COMP_OPT "-O3")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-fomit-frame-pointer")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-ffast-math")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-fPIC")
|
||||||
|
target_compile_options(
|
||||||
|
divonne PRIVATE ${COMP_OPT}
|
||||||
|
)
|
28
src/external/libCuba/src/divonne/Divonne.c
vendored
28
src/external/libCuba/src/divonne/Divonne.c
vendored
@ -4,7 +4,7 @@
|
|||||||
originally by J.H. Friedman and M.H. Wright
|
originally by J.H. Friedman and M.H. Wright
|
||||||
(CERNLIB subroutine D151)
|
(CERNLIB subroutine D151)
|
||||||
this version by Thomas Hahn
|
this version by Thomas Hahn
|
||||||
last modified 17 Sep 13 th
|
last modified 22 Jul 14 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define DIVONNE
|
#define DIVONNE
|
||||||
@ -16,7 +16,7 @@
|
|||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
Extern void EXPORT(Divonne)(ccount ndim, ccount ncomp,
|
Extern void EXPORT(Divonne)(ccount ndim, ccount ncomp,
|
||||||
Integrand integrand, void *userdata,
|
Integrand integrand, void *userdata, cnumber nvec,
|
||||||
creal epsrel, creal epsabs,
|
creal epsrel, creal epsabs,
|
||||||
cint flags, cint seed,
|
cint flags, cint seed,
|
||||||
cnumber mineval, cnumber maxeval,
|
cnumber mineval, cnumber maxeval,
|
||||||
@ -24,18 +24,22 @@ Extern void EXPORT(Divonne)(ccount ndim, ccount ncomp,
|
|||||||
creal border, creal maxchisq, creal mindeviation,
|
creal border, creal maxchisq, creal mindeviation,
|
||||||
cnumber ngiven, ccount ldxgiven, real *xgiven,
|
cnumber ngiven, ccount ldxgiven, real *xgiven,
|
||||||
cnumber nextra, PeakFinder peakfinder,
|
cnumber nextra, PeakFinder peakfinder,
|
||||||
cchar *statefile,
|
cchar *statefile, Spin **pspin,
|
||||||
int *pnregions, number *pneval, int *pfail,
|
int *pnregions, number *pneval, int *pfail,
|
||||||
real *integral, real *error, real *prob)
|
real *integral, real *error, real *prob)
|
||||||
{
|
{
|
||||||
This t;
|
This t;
|
||||||
|
|
||||||
|
VerboseInit();
|
||||||
|
|
||||||
t.ndim = ndim;
|
t.ndim = ndim;
|
||||||
t.ncomp = ncomp;
|
t.ncomp = ncomp;
|
||||||
t.integrand = integrand;
|
t.integrand = integrand;
|
||||||
t.userdata = userdata;
|
t.userdata = userdata;
|
||||||
|
t.nvec = nvec;
|
||||||
t.epsrel = epsrel;
|
t.epsrel = epsrel;
|
||||||
t.epsabs = epsabs;
|
t.epsabs = epsabs;
|
||||||
t.flags = flags;
|
t.flags = MaxVerbose(flags);
|
||||||
t.seed = seed;
|
t.seed = seed;
|
||||||
t.mineval = mineval;
|
t.mineval = mineval;
|
||||||
t.maxeval = maxeval;
|
t.maxeval = maxeval;
|
||||||
@ -52,16 +56,19 @@ Extern void EXPORT(Divonne)(ccount ndim, ccount ncomp,
|
|||||||
t.nextra = nextra;
|
t.nextra = nextra;
|
||||||
t.peakfinder = peakfinder;
|
t.peakfinder = peakfinder;
|
||||||
t.statefile = statefile;
|
t.statefile = statefile;
|
||||||
|
FORK_ONLY(t.spin = Invalid(pspin) ? NULL : *pspin;)
|
||||||
|
|
||||||
*pfail = Integrate(&t, integral, error, prob);
|
*pfail = Integrate(&t, integral, error, prob);
|
||||||
*pnregions = t.nregions;
|
*pnregions = t.nregions;
|
||||||
*pneval = t.neval;
|
*pneval = t.neval;
|
||||||
|
|
||||||
|
WaitCores(&t, pspin);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
Extern void EXPORT(divonne)(ccount *pndim, ccount *pncomp,
|
Extern void EXPORT(divonne)(ccount *pndim, ccount *pncomp,
|
||||||
Integrand integrand, void *userdata,
|
Integrand integrand, void *userdata, cnumber *pnvec,
|
||||||
creal *pepsrel, creal *pepsabs,
|
creal *pepsrel, creal *pepsabs,
|
||||||
cint *pflags, cint *pseed,
|
cint *pflags, cint *pseed,
|
||||||
cnumber *pmineval, cnumber *pmaxeval,
|
cnumber *pmineval, cnumber *pmaxeval,
|
||||||
@ -69,18 +76,22 @@ Extern void EXPORT(divonne)(ccount *pndim, ccount *pncomp,
|
|||||||
creal *pborder, creal *pmaxchisq, creal *pmindeviation,
|
creal *pborder, creal *pmaxchisq, creal *pmindeviation,
|
||||||
cnumber *pngiven, ccount *pldxgiven, real *xgiven,
|
cnumber *pngiven, ccount *pldxgiven, real *xgiven,
|
||||||
cnumber *pnextra, PeakFinder peakfinder,
|
cnumber *pnextra, PeakFinder peakfinder,
|
||||||
cchar *statefile,
|
cchar *statefile, Spin **pspin,
|
||||||
int *pnregions, number *pneval, int *pfail,
|
int *pnregions, number *pneval, int *pfail,
|
||||||
real *integral, real *error, real *prob, cint statefilelen)
|
real *integral, real *error, real *prob, cint statefilelen)
|
||||||
{
|
{
|
||||||
This t;
|
This t;
|
||||||
|
|
||||||
|
VerboseInit();
|
||||||
|
|
||||||
t.ndim = *pndim;
|
t.ndim = *pndim;
|
||||||
t.ncomp = *pncomp;
|
t.ncomp = *pncomp;
|
||||||
t.integrand = integrand;
|
t.integrand = integrand;
|
||||||
t.userdata = userdata;
|
t.userdata = userdata;
|
||||||
|
t.nvec = *pnvec;
|
||||||
t.epsrel = *pepsrel;
|
t.epsrel = *pepsrel;
|
||||||
t.epsabs = *pepsabs;
|
t.epsabs = *pepsabs;
|
||||||
t.flags = *pflags;
|
t.flags = MaxVerbose(*pflags);
|
||||||
t.seed = *pseed;
|
t.seed = *pseed;
|
||||||
t.mineval = *pmineval;
|
t.mineval = *pmineval;
|
||||||
t.maxeval = *pmaxeval;
|
t.maxeval = *pmaxeval;
|
||||||
@ -97,9 +108,12 @@ Extern void EXPORT(divonne)(ccount *pndim, ccount *pncomp,
|
|||||||
t.nextra = *pnextra;
|
t.nextra = *pnextra;
|
||||||
t.peakfinder = peakfinder;
|
t.peakfinder = peakfinder;
|
||||||
CString(t.statefile, statefile, statefilelen);
|
CString(t.statefile, statefile, statefilelen);
|
||||||
|
FORK_ONLY(t.spin = Invalid(pspin) ? NULL : *pspin;)
|
||||||
|
|
||||||
*pfail = Integrate(&t, integral, error, prob);
|
*pfail = Integrate(&t, integral, error, prob);
|
||||||
*pnregions = t.nregions;
|
*pnregions = t.nregions;
|
||||||
*pneval = t.neval;
|
*pneval = t.neval;
|
||||||
|
|
||||||
|
WaitCores(&t, pspin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
21
src/external/libCuba/src/divonne/Explore.c
vendored
21
src/external/libCuba/src/divonne/Explore.c
vendored
@ -2,7 +2,7 @@
|
|||||||
Explore.c
|
Explore.c
|
||||||
sample region, determine min and max, split if necessary
|
sample region, determine min and max, split if necessary
|
||||||
this file is part of Divonne
|
this file is part of Divonne
|
||||||
last modified 2 Aug 13 th
|
last modified 12 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -19,10 +19,11 @@ static int ExploreSerial(This *t, ccount iregion)
|
|||||||
Region *region = RegionPtr(iregion);
|
Region *region = RegionPtr(iregion);
|
||||||
cBounds *bounds = region->bounds;
|
cBounds *bounds = region->bounds;
|
||||||
Result *result = RegionResult(region);
|
Result *result = RegionResult(region);
|
||||||
|
real *minmax = RegionMinMax(region);
|
||||||
|
|
||||||
Vector(Extrema, extrema, NCOMP);
|
Vector(Extrema, extrema, NCOMP);
|
||||||
Vector(real, xtmp, NDIM);
|
Vector(real, xtmp, NDIM);
|
||||||
Result *r, *r0;
|
Result *r;
|
||||||
creal *x;
|
creal *x;
|
||||||
real *f;
|
real *f;
|
||||||
real halfvol, maxerr;
|
real halfvol, maxerr;
|
||||||
@ -102,7 +103,7 @@ skip:
|
|||||||
ftmp = FindMinimum(t, bounds, xtmp, e->fmin);
|
ftmp = FindMinimum(t, bounds, xtmp, e->fmin);
|
||||||
if( ftmp < r->fmin ) {
|
if( ftmp < r->fmin ) {
|
||||||
r->fmin = ftmp;
|
r->fmin = ftmp;
|
||||||
XCopy(&r->xminmax[0], xtmp);
|
XCopy(&minmax[2*comp*t->ndim], xtmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
t->selectedcomp = Tag(comp);
|
t->selectedcomp = Tag(comp);
|
||||||
@ -110,12 +111,12 @@ skip:
|
|||||||
ftmp = -FindMinimum(t, bounds, xtmp, -e->fmax);
|
ftmp = -FindMinimum(t, bounds, xtmp, -e->fmax);
|
||||||
if( ftmp > r->fmax ) {
|
if( ftmp > r->fmax ) {
|
||||||
r->fmax = ftmp;
|
r->fmax = ftmp;
|
||||||
XCopy(&r->xminmax[t->ndim], xtmp);
|
XCopy(&minmax[(2*comp + 1)*t->ndim], xtmp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
r->spread = halfvol*(r->fmax - r->fmin);
|
r->spread = halfvol*(r->fmax - r->fmin);
|
||||||
err = r->spread/Max(fabs(r->avg), NOTZERO);
|
err = r->spread/Max(fabsx(r->avg), NOTZERO);
|
||||||
if( err > maxerr ) {
|
if( err > maxerr ) {
|
||||||
maxerr = err;
|
maxerr = err;
|
||||||
maxcomp = comp;
|
maxcomp = comp;
|
||||||
@ -130,22 +131,22 @@ skip:
|
|||||||
}
|
}
|
||||||
|
|
||||||
region->cutcomp = maxcomp;
|
region->cutcomp = maxcomp;
|
||||||
r0 = RegionResult(region);
|
r = RegionResult(region) + maxcomp;
|
||||||
r = r0 + maxcomp;
|
|
||||||
if( halfvol*(r->fmin + r->fmax) > r->avg ) {
|
if( halfvol*(r->fmin + r->fmax) > r->avg ) {
|
||||||
region->fminor = r->fmin;
|
region->fminor = r->fmin;
|
||||||
region->fmajor = r->fmax;
|
region->fmajor = r->fmax;
|
||||||
region->xmajor = &r->xminmax[t->ndim] - (real *)r0;
|
region->xmajor = (2*maxcomp + 1)*t->ndim;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
region->fminor = r->fmax;
|
region->fminor = r->fmax;
|
||||||
region->fmajor = r->fmin;
|
region->fmajor = r->fmin;
|
||||||
region->xmajor = &r->xminmax[0] - (real *)r0;
|
region->xmajor = 2*maxcomp*t->ndim;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( region->isamples == 0 ) {
|
if( region->isamples == 0 ) {
|
||||||
if( (region->depth < INIDEPTH && r->spread < samples->neff*r->err) ||
|
if( (region->depth < INIDEPTH && r->spread < samples->neff*r->err) ||
|
||||||
r->spread < t->totals[maxcomp].secondspread ) region->depth = 0;
|
r->spread < t->totals[maxcomp].secondspread )
|
||||||
|
region->depth = 0;
|
||||||
if( region->depth == 0 )
|
if( region->depth == 0 )
|
||||||
for( comp = 0; comp < t->ncomp; ++comp )
|
for( comp = 0; comp < t->ncomp; ++comp )
|
||||||
t->totals[comp].secondspread =
|
t->totals[comp].secondspread =
|
||||||
|
52
src/external/libCuba/src/divonne/FindMinimum.c
vendored
52
src/external/libCuba/src/divonne/FindMinimum.c
vendored
@ -2,7 +2,7 @@
|
|||||||
FindMinimum.c
|
FindMinimum.c
|
||||||
find minimum (maximum) of hyperrectangular region
|
find minimum (maximum) of hyperrectangular region
|
||||||
this file is part of Divonne
|
this file is part of Divonne
|
||||||
last modified 7 Aug 13 th
|
last modified 12 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ static inline real Dot(ccount n, creal *a, creal *b)
|
|||||||
|
|
||||||
static inline real Length(ccount n, creal *vec)
|
static inline real Length(ccount n, creal *vec)
|
||||||
{
|
{
|
||||||
return sqrt(Dot(n, vec, vec));
|
return sqrtx(Dot(n, vec, vec));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
@ -120,7 +120,7 @@ static void UpdateCholesky(cThis *t, ccount n, real *hessian,
|
|||||||
p[i] = dir;
|
p[i] = dir;
|
||||||
gamma += Sq(dir)/Hessian(i, i);
|
gamma += Sq(dir)/Hessian(i, i);
|
||||||
}
|
}
|
||||||
gamma = Max(fabs(1 - gamma), EPS);
|
gamma = Max(fabsx(1 - gamma), EPS);
|
||||||
|
|
||||||
while( --i >= 0 ) {
|
while( --i >= 0 ) {
|
||||||
creal dir = z[i] = p[i];
|
creal dir = z[i] = p[i];
|
||||||
@ -154,7 +154,7 @@ static inline void BFGS(cThis *t, ccount n, real *hessian,
|
|||||||
|
|
||||||
c = Dot(n, g, p);
|
c = Dot(n, g, p);
|
||||||
if( c >= 0 ) return;
|
if( c >= 0 ) return;
|
||||||
c = 1/sqrt(-c);
|
c = 1/sqrtx(-c);
|
||||||
for( i = 0; i < n; ++i )
|
for( i = 0; i < n; ++i )
|
||||||
y[i] = c*g[i];
|
y[i] = c*g[i];
|
||||||
UpdateCholesky(t, n, hessian, y, p);
|
UpdateCholesky(t, n, hessian, y, p);
|
||||||
@ -199,7 +199,7 @@ static Point LineSearch(This *t, ccount nfree, ccount *ifree,
|
|||||||
c) the gradient is positive, i.e. we'd move uphill */
|
c) the gradient is positive, i.e. we'd move uphill */
|
||||||
|
|
||||||
if( step > 0 && range > tol2 && grad <= 0 ) {
|
if( step > 0 && range > tol2 && grad <= 0 ) {
|
||||||
creal eps = RTEPS*fabs(range) + ftol;
|
creal eps = RTEPS*fabsx(range) + ftol;
|
||||||
creal mingrad = -1e-4*grad, maxgrad = -gtol*grad;
|
creal mingrad = -1e-4*grad, maxgrad = -gtol*grad;
|
||||||
|
|
||||||
real end = range + eps;
|
real end = range + eps;
|
||||||
@ -225,7 +225,7 @@ static Point LineSearch(This *t, ccount nfree, ccount *ifree,
|
|||||||
maxstep = maxstep*(1 + .75*RTEPS) + .75*tol;
|
maxstep = maxstep*(1 + .75*RTEPS) + .75*tol;
|
||||||
}
|
}
|
||||||
|
|
||||||
cur.dx = (fabs(step) >= tol) ? step : (step > 0) ? tol : -tol;
|
cur.dx = (fabsx(step) >= tol) ? step : (step > 0) ? tol : -tol;
|
||||||
dist = distmin + cur.dx;
|
dist = distmin + cur.dx;
|
||||||
for( i = 0; i < nfree; ++i ) {
|
for( i = 0; i < nfree; ++i ) {
|
||||||
ccount dim = ifree[i];
|
ccount dim = ifree[i];
|
||||||
@ -248,7 +248,7 @@ static Point LineSearch(This *t, ccount nfree, ccount *ifree,
|
|||||||
if( cur.dx < 0 ) b = w;
|
if( cur.dx < 0 ) b = w;
|
||||||
else a = w;
|
else a = w;
|
||||||
|
|
||||||
tol = RTEPS*fabs(distmin) + ftol;
|
tol = RTEPS*fabsx(distmin) + ftol;
|
||||||
tol2 = tol + tol;
|
tol2 = tol + tol;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -260,14 +260,14 @@ static Point LineSearch(This *t, ccount nfree, ccount *ifree,
|
|||||||
|
|
||||||
if( distmin + b.dx <= xtol ) break;
|
if( distmin + b.dx <= xtol ) break;
|
||||||
if( min.f < fini &&
|
if( min.f < fini &&
|
||||||
a.f - min.f <= fabs(a.dx)*maxgrad &&
|
a.f - min.f <= fabsx(a.dx)*maxgrad &&
|
||||||
(fabs(distmin - range) > tol || maxstep < b.dx) ) break;
|
(fabsx(distmin - range) > tol || maxstep < b.dx) ) break;
|
||||||
|
|
||||||
mid = .5*(a.dx + b.dx);
|
mid = .5*(a.dx + b.dx);
|
||||||
if( fabs(mid) <= tol2 - .5*(b.dx - a.dx) ) break;
|
if( fabsx(mid) <= tol2 - .5*(b.dx - a.dx) ) break;
|
||||||
|
|
||||||
r = q = s = 0;
|
r = q = s = 0;
|
||||||
if( fabs(end) > tol ) {
|
if( fabsx(end) > tol ) {
|
||||||
if( first ) {
|
if( first ) {
|
||||||
creal s1 = w.dx*grad;
|
creal s1 = w.dx*grad;
|
||||||
creal s2 = w.f - min.f;
|
creal s2 = w.f - min.f;
|
||||||
@ -281,7 +281,7 @@ static Point LineSearch(This *t, ccount nfree, ccount *ifree,
|
|||||||
q = 2*(s2 - s1);
|
q = 2*(s2 - s1);
|
||||||
}
|
}
|
||||||
if( q > 0 ) s = -s;
|
if( q > 0 ) s = -s;
|
||||||
q = fabs(q);
|
q = fabsx(q);
|
||||||
r = end;
|
r = end;
|
||||||
if( step != b1 || b.dx <= maxstep ) end = step;
|
if( step != b1 || b.dx <= maxstep ) end = step;
|
||||||
}
|
}
|
||||||
@ -290,15 +290,15 @@ static Point LineSearch(This *t, ccount nfree, ccount *ifree,
|
|||||||
else if( b.dx > maxstep ) step = (step < b.dx) ? -4*a.dx : maxstep;
|
else if( b.dx > maxstep ) step = (step < b.dx) ? -4*a.dx : maxstep;
|
||||||
else {
|
else {
|
||||||
real num = a.dx, den = b.dx;
|
real num = a.dx, den = b.dx;
|
||||||
if( fabs(b.dx) <= tol || (w.dx > 0 && fabs(a.dx) > tol) )
|
if( fabsx(b.dx) <= tol || (w.dx > 0 && fabsx(a.dx) > tol) )
|
||||||
num = b.dx, den = a.dx;
|
num = b.dx, den = a.dx;
|
||||||
num /= -den;
|
num /= -den;
|
||||||
step = (num < 1) ? .5*den*sqrt(num) : 5/11.*den*(.1 + 1/num);
|
step = (num < 1) ? .5*den*sqrtx(num) : 5/11.*den*(.1 + 1/num);
|
||||||
}
|
}
|
||||||
|
|
||||||
if( step > 0 ) a1 = a.dx, b1 = step;
|
if( step > 0 ) a1 = a.dx, b1 = step;
|
||||||
else a1 = step, b1 = b.dx;
|
else a1 = step, b1 = b.dx;
|
||||||
if( fabs(s) < fabs(.5*q*r) && s > q*a1 && s < q*b1 ) {
|
if( fabsx(s) < fabsx(.5*q*r) && s > q*a1 && s < q*b1 ) {
|
||||||
step = s/q;
|
step = s/q;
|
||||||
if( step - a.dx < tol2 || b.dx - step < tol2 )
|
if( step - a.dx < tol2 || b.dx - step < tol2 )
|
||||||
step = (mid > 0) ? tol : -tol;
|
step = (mid > 0) ? tol : -tol;
|
||||||
@ -307,7 +307,7 @@ static Point LineSearch(This *t, ccount nfree, ccount *ifree,
|
|||||||
}
|
}
|
||||||
|
|
||||||
first = true;
|
first = true;
|
||||||
if( fabs(distmin - range) < tol ) {
|
if( fabsx(distmin - range) < tol ) {
|
||||||
distmin = range;
|
distmin = range;
|
||||||
if( maxstep > b.dx ) first = false;
|
if( maxstep > b.dx ) first = false;
|
||||||
}
|
}
|
||||||
@ -372,7 +372,7 @@ static real LocalSearch(This *t, ccount nfree, ccount *ifree,
|
|||||||
or we come close to a border. */
|
or we come close to a border. */
|
||||||
|
|
||||||
XCopy(y, x);
|
XCopy(y, x);
|
||||||
ftest = SUFTOL*(1 + fabs(fx));
|
ftest = SUFTOL*(1 + fabsx(fx));
|
||||||
delta = RTDELTA/5;
|
delta = RTDELTA/5;
|
||||||
do {
|
do {
|
||||||
delta = Min(5*delta, smax);
|
delta = Min(5*delta, smax);
|
||||||
@ -381,7 +381,7 @@ static real LocalSearch(This *t, ccount nfree, ccount *ifree,
|
|||||||
y[dim] = x[dim] + delta*p[i];
|
y[dim] = x[dim] + delta*p[i];
|
||||||
}
|
}
|
||||||
fy = Sample(t, y);
|
fy = Sample(t, y);
|
||||||
if( fabs(fy - fx) > ftest ) break;
|
if( fabsx(fy - fx) > ftest ) break;
|
||||||
} while( delta != smax );
|
} while( delta != smax );
|
||||||
|
|
||||||
/* Construct a second direction p' orthogonal to p, i.e. p.p' = 0.
|
/* Construct a second direction p' orthogonal to p, i.e. p.p' = 0.
|
||||||
@ -425,7 +425,7 @@ static real LocalSearch(This *t, ccount nfree, ccount *ifree,
|
|||||||
or we come close to a border. */
|
or we come close to a border. */
|
||||||
|
|
||||||
XCopy(z, y);
|
XCopy(z, y);
|
||||||
ftest = SUFTOL*(1 + fabs(fy));
|
ftest = SUFTOL*(1 + fabsx(fy));
|
||||||
delta = RTDELTA/5;
|
delta = RTDELTA/5;
|
||||||
do {
|
do {
|
||||||
delta = Min(5*delta, smax);
|
delta = Min(5*delta, smax);
|
||||||
@ -434,7 +434,7 @@ static real LocalSearch(This *t, ccount nfree, ccount *ifree,
|
|||||||
z[dim] = y[dim] + delta*p[i];
|
z[dim] = y[dim] + delta*p[i];
|
||||||
}
|
}
|
||||||
fz = Sample(t, z);
|
fz = Sample(t, z);
|
||||||
if( fabs(fz - fy) > ftest ) break;
|
if( fabsx(fz - fy) > ftest ) break;
|
||||||
} while( delta != smax );
|
} while( delta != smax );
|
||||||
|
|
||||||
if( fy != fz ) {
|
if( fy != fz ) {
|
||||||
@ -541,12 +541,12 @@ static real FindMinimum(This *t, cBounds *b, real *xmin, real fmin)
|
|||||||
bool resample = false;
|
bool resample = false;
|
||||||
nfree = nfix = 0;
|
nfree = nfix = 0;
|
||||||
for( dim = 0; dim < t->ndim; ++dim ) {
|
for( dim = 0; dim < t->ndim; ++dim ) {
|
||||||
if( xmin[dim] < b[dim].lower + (1 + fabs(b[dim].lower))*QEPS ) {
|
if( xmin[dim] < b[dim].lower + (1 + fabsx(b[dim].lower))*QEPS ) {
|
||||||
xmin[dim] = b[dim].lower;
|
xmin[dim] = b[dim].lower;
|
||||||
ifix[nfix++] = dim;
|
ifix[nfix++] = dim;
|
||||||
resample = true;
|
resample = true;
|
||||||
}
|
}
|
||||||
else if( xmin[dim] > b[dim].upper - (1 + fabs(b[dim].upper))*QEPS ) {
|
else if( xmin[dim] > b[dim].upper - (1 + fabsx(b[dim].upper))*QEPS ) {
|
||||||
xmin[dim] = b[dim].upper;
|
xmin[dim] = b[dim].upper;
|
||||||
ifix[nfix++] = Tag(dim);
|
ifix[nfix++] = Tag(dim);
|
||||||
resample = true;
|
resample = true;
|
||||||
@ -562,7 +562,7 @@ static real FindMinimum(This *t, cBounds *b, real *xmin, real fmin)
|
|||||||
if( local || Length(nfree, gfree) > GTOL ) break;
|
if( local || Length(nfree, gfree) > GTOL ) break;
|
||||||
|
|
||||||
ftmp = LocalSearch(t, nfree, ifree, b, xmin, fmin, tmp);
|
ftmp = LocalSearch(t, nfree, ifree, b, xmin, fmin, tmp);
|
||||||
if( ftmp > fmin - (1 + fabs(fmin))*RTEPS )
|
if( ftmp > fmin - (1 + fabsx(fmin))*RTEPS )
|
||||||
goto releasebounds;
|
goto releasebounds;
|
||||||
fmin = ftmp;
|
fmin = ftmp;
|
||||||
XCopy(xmin, tmp);
|
XCopy(xmin, tmp);
|
||||||
@ -586,7 +586,7 @@ static real FindMinimum(This *t, cBounds *b, real *xmin, real fmin)
|
|||||||
minstep = INFTY;
|
minstep = INFTY;
|
||||||
for( i = 0; i < nfree; ++i ) {
|
for( i = 0; i < nfree; ++i ) {
|
||||||
count dim = Untag(ifree[i]);
|
count dim = Untag(ifree[i]);
|
||||||
if( fabs(p[i]) > EPS ) {
|
if( fabsx(p[i]) > EPS ) {
|
||||||
real step;
|
real step;
|
||||||
count fix;
|
count fix;
|
||||||
if( p[i] < 0 ) {
|
if( p[i] < 0 ) {
|
||||||
@ -642,11 +642,11 @@ fixbound:
|
|||||||
BFGS(t, nfree, hessian, tmp, gfree, p, low.dx);
|
BFGS(t, nfree, hessian, tmp, gfree, p, low.dx);
|
||||||
XCopy(gfree, tmp);
|
XCopy(gfree, tmp);
|
||||||
|
|
||||||
if( fabs(low.dx - minstep) < QEPS*minstep ) goto fixbound;
|
if( fabsx(low.dx - minstep) < QEPS*minstep ) goto fixbound;
|
||||||
|
|
||||||
fdiff = fini - fmin;
|
fdiff = fini - fmin;
|
||||||
fini = fmin;
|
fini = fmin;
|
||||||
if( fdiff > (1 + fabs(fmin))*FTOL ||
|
if( fdiff > (1 + fabsx(fmin))*FTOL ||
|
||||||
low.dx*plen > (1 + Length(t->ndim, xmin))*FTOL ) continue;
|
low.dx*plen > (1 + Length(t->ndim, xmin))*FTOL ) continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
46
src/external/libCuba/src/divonne/Integrate.c
vendored
46
src/external/libCuba/src/divonne/Integrate.c
vendored
@ -5,7 +5,7 @@
|
|||||||
then do a main integration over all regions
|
then do a main integration over all regions
|
||||||
this file is part of Divonne
|
this file is part of Divonne
|
||||||
checkpointing by B. Chokoufe
|
checkpointing by B. Chokoufe
|
||||||
last modified 5 Aug 13 th
|
last modified 13 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -29,8 +29,8 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
Totals *tot, *Tot = state->totals + t->ncomp;
|
Totals *tot, *Tot = state->totals + t->ncomp;
|
||||||
Bounds *b, *B;
|
Bounds *b, *B;
|
||||||
Result *res;
|
Result *res;
|
||||||
count comp, err, iregion;
|
count comp, iregion;
|
||||||
number nwant;
|
number nwant, err;
|
||||||
real nneed;
|
real nneed;
|
||||||
ML_ONLY(number neff;)
|
ML_ONLY(number neff;)
|
||||||
int fail;
|
int fail;
|
||||||
@ -38,6 +38,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
if( VERBOSE > 1 ) {
|
if( VERBOSE > 1 ) {
|
||||||
sprintf(out, "Divonne input parameters:\n"
|
sprintf(out, "Divonne input parameters:\n"
|
||||||
" ndim " COUNT "\n ncomp " COUNT "\n"
|
" ndim " COUNT "\n ncomp " COUNT "\n"
|
||||||
|
ML_NOT(" nvec " NUMBER "\n")
|
||||||
" epsrel " REAL "\n epsabs " REAL "\n"
|
" epsrel " REAL "\n epsabs " REAL "\n"
|
||||||
" flags %d\n seed %d\n"
|
" flags %d\n seed %d\n"
|
||||||
" mineval " NUMBER "\n maxeval " NUMBER "\n"
|
" mineval " NUMBER "\n maxeval " NUMBER "\n"
|
||||||
@ -46,11 +47,12 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
" ngiven " NUMBER "\n nextra " NUMBER "\n"
|
" ngiven " NUMBER "\n nextra " NUMBER "\n"
|
||||||
" statefile \"%s\"",
|
" statefile \"%s\"",
|
||||||
t->ndim, t->ncomp,
|
t->ndim, t->ncomp,
|
||||||
t->epsrel, t->epsabs,
|
ML_NOT(t->nvec,)
|
||||||
|
SHOW(t->epsrel), SHOW(t->epsabs),
|
||||||
t->flags, t->seed,
|
t->flags, t->seed,
|
||||||
t->mineval, t->maxeval,
|
t->mineval, t->maxeval,
|
||||||
t->key1, t->key2, t->key3, t->maxpass,
|
t->key1, t->key2, t->key3, t->maxpass,
|
||||||
t->border.lower, t->maxchisq, t->mindeviation,
|
SHOW(t->border.lower), SHOW(t->maxchisq), SHOW(t->mindeviation),
|
||||||
t->ngiven, t->nextra,
|
t->ngiven, t->nextra,
|
||||||
t->statefile);
|
t->statefile);
|
||||||
Print(out);
|
Print(out);
|
||||||
@ -132,7 +134,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
/* Step 1: partition the integration region */
|
/* Step 1: partition the integration region */
|
||||||
|
|
||||||
if( t->phase == 1 ) {
|
if( t->phase == 1 ) {
|
||||||
if( VERBOSE ) Print("Partitioning phase:");
|
if( VERBOSE ) Print("\nPartitioning phase:");
|
||||||
|
|
||||||
if( ini ) Iterate(t, 0, INIDEPTH, 0, NULL);
|
if( ini ) Iterate(t, 0, INIDEPTH, 0, NULL);
|
||||||
|
|
||||||
@ -164,7 +166,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
integral[comp] = tot->avg;
|
integral[comp] = tot->avg;
|
||||||
valid += tot->avg == tot->avg;
|
valid += tot->avg == tot->avg;
|
||||||
if( tot->spreadsq > maxtot->spreadsq ) maxtot = tot;
|
if( tot->spreadsq > maxtot->spreadsq ) maxtot = tot;
|
||||||
tot->spread = sqrt(tot->spreadsq);
|
tot->spread = sqrtx(tot->spreadsq);
|
||||||
error[comp] = tot->spread/t->samples[0].neff;
|
error[comp] = tot->spread/t->samples[0].neff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -197,7 +199,7 @@ if( StateWriteTest(t) ) { \
|
|||||||
for( comp = 0; comp < t->ncomp; ++comp )
|
for( comp = 0; comp < t->ncomp; ++comp )
|
||||||
oe += sprintf(oe, "\n[" COUNT "] "
|
oe += sprintf(oe, "\n[" COUNT "] "
|
||||||
REAL " +- " REAL,
|
REAL " +- " REAL,
|
||||||
comp + 1, integral[comp], error[comp]);
|
comp + 1, SHOW(integral[comp]), SHOW(error[comp]));
|
||||||
Print(out);
|
Print(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -230,7 +232,7 @@ if( StateWriteTest(t) ) { \
|
|||||||
tot->maxerrsq = Sq(maxerr);
|
tot->maxerrsq = Sq(maxerr);
|
||||||
tot->mindevsq = tot->maxerrsq*Sq(t->mindeviation);
|
tot->mindevsq = tot->maxerrsq*Sq(t->mindeviation);
|
||||||
}
|
}
|
||||||
nwant = (number)Min(ceil(nneed), MARKMASK/40.);
|
nwant = (number)Min(ceil(nneed), NWANTMAX/40.);
|
||||||
|
|
||||||
err = SamplesLookup(t, &t->samples[1], t->key2, nwant,
|
err = SamplesLookup(t, &t->samples[1], t->key2, nwant,
|
||||||
(t->maxeval - t->neval)/t->nregions + 1, t->samples[0].n + 1);
|
(t->maxeval - t->neval)/t->nregions + 1, t->samples[0].n + 1);
|
||||||
@ -308,11 +310,11 @@ refine:
|
|||||||
Iterate(t, state->iregion, POSTDEPTH, 1, state->totals);
|
Iterate(t, state->iregion, POSTDEPTH, 1, state->totals);
|
||||||
|
|
||||||
if( can_adjust ) {
|
if( can_adjust ) {
|
||||||
cnumber nnew = (tot->spreadsq/Sq(MARKMASK) > tot->maxerrsq) ?
|
cnumber nnew = (tot->spreadsq/Sq(NWANTMAX) > tot->maxerrsq) ?
|
||||||
MARKMASK :
|
NWANTMAX :
|
||||||
(number)ceil(sqrt(tot->spreadsq/tot->maxerrsq));
|
(number)ceil(sqrtx(tot->spreadsq/tot->maxerrsq));
|
||||||
if( nnew > nwant + nwant/64 ) {
|
if( nnew > nwant + nwant/64 ) {
|
||||||
ccount err = SamplesLookup(t, &t->samples[1], t->key2, nnew,
|
cnumber err = SamplesLookup(t, &t->samples[1], t->key2, nnew,
|
||||||
(t->maxeval - t->neval)/t->nregions + 1, t->samples[1].n);
|
(t->maxeval - t->neval)/t->nregions + 1, t->samples[1].n);
|
||||||
fail += Unmark(err)*t->nregions;
|
fail += Unmark(err)*t->nregions;
|
||||||
nwant = nnew;
|
nwant = nnew;
|
||||||
@ -404,14 +406,14 @@ refine:
|
|||||||
if( chisq > EPS ) chisq /= Max(chiden, NOTZERO);
|
if( chisq > EPS ) chisq /= Max(chiden, NOTZERO);
|
||||||
|
|
||||||
if( VERBOSE > 2 ) {
|
if( VERBOSE > 2 ) {
|
||||||
#define Out2(f, r) (r)->avg, res->spread/t->samples[f].neff, (r)->err
|
#define Out2(f, r) SHOW((r)->avg), SHOW(res->spread/t->samples[f].neff), SHOW((r)->err)
|
||||||
#define Out(f) Out2(f, &tot->phase[f])
|
#define Out(f) Out2(f, &tot->phase[f])
|
||||||
oe += sprintf(oe, "\n[" COUNT "] "
|
oe += sprintf(oe, "\n[" COUNT "] "
|
||||||
REAL " +- " REAL "(" REAL ")\n "
|
REAL " +- " REAL "(" REAL ")\n "
|
||||||
REAL " +- " REAL "(" REAL ")", ++comp, Out(0), Out(1));
|
REAL " +- " REAL "(" REAL ")", ++comp, Out(0), Out(1));
|
||||||
if( todo == 3 ) oe += sprintf(oe, "\n "
|
if( todo == 3 ) oe += sprintf(oe, "\n "
|
||||||
REAL " +- " REAL "(" REAL ")", Out2(2, res));
|
REAL " +- " REAL "(" REAL ")", Out2(2, res));
|
||||||
oe += sprintf(oe, " \tchisq " REAL, chisq);
|
oe += sprintf(oe, " \tchisq " REAL, SHOW(chisq));
|
||||||
}
|
}
|
||||||
|
|
||||||
tot->integral += avg;
|
tot->integral += avg;
|
||||||
@ -419,7 +421,7 @@ refine:
|
|||||||
tot->chisq += chisq;
|
tot->chisq += chisq;
|
||||||
|
|
||||||
res->avg = avg;
|
res->avg = avg;
|
||||||
res->spread = sqrt(sigsq);
|
res->spread = sqrtx(sigsq);
|
||||||
res->chisq = chisq;
|
res->chisq = chisq;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -433,7 +435,7 @@ refine:
|
|||||||
|
|
||||||
for( tot = state->totals, comp = 0; tot < Tot; ++tot, ++comp ) {
|
for( tot = state->totals, comp = 0; tot < Tot; ++tot, ++comp ) {
|
||||||
integral[comp] = tot->integral;
|
integral[comp] = tot->integral;
|
||||||
error[comp] = sqrt(tot->sigsq);
|
error[comp] = sqrtx(tot->sigsq);
|
||||||
prob[comp] = ChiSquare(tot->chisq, df);
|
prob[comp] = ChiSquare(tot->chisq, df);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -442,7 +444,8 @@ refine:
|
|||||||
for( tot = state->totals, comp = 0; tot < Tot; ++tot, ++comp )
|
for( tot = state->totals, comp = 0; tot < Tot; ++tot, ++comp )
|
||||||
oe += sprintf(oe, "\n[" COUNT "] "
|
oe += sprintf(oe, "\n[" COUNT "] "
|
||||||
REAL " +- " REAL " \tchisq " REAL " (" COUNT " df)",
|
REAL " +- " REAL " \tchisq " REAL " (" COUNT " df)",
|
||||||
comp + 1, integral[comp], error[comp], tot->chisq, df);
|
comp + 1, SHOW(integral[comp]), SHOW(error[comp]),
|
||||||
|
SHOW(tot->chisq), df);
|
||||||
Print(out);
|
Print(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -468,12 +471,12 @@ refine:
|
|||||||
|
|
||||||
MLPutFunction(stdlink, "Cuba`Divonne`region", 4);
|
MLPutFunction(stdlink, "Cuba`Divonne`region", 4);
|
||||||
|
|
||||||
MLPutRealList(stdlink, bounds, 2*t->ndim);
|
MLPutRealxList(stdlink, bounds, 2*t->ndim);
|
||||||
|
|
||||||
MLPutFunction(stdlink, "List", t->ncomp);
|
MLPutFunction(stdlink, "List", t->ncomp);
|
||||||
for( Res = (res = RegionResult(region)) + t->ncomp; res < Res; ++res ) {
|
for( Res = (res = RegionResult(region)) + t->ncomp; res < Res; ++res ) {
|
||||||
real r[] = {res->avg, res->spread/neff, res->chisq};
|
real r[] = {res->avg, res->spread/neff, res->chisq};
|
||||||
MLPutRealList(stdlink, r, Elements(r));
|
MLPutRealxList(stdlink, r, Elements(r));
|
||||||
}
|
}
|
||||||
|
|
||||||
MLPutInteger(stdlink, region->depth + 1); /* misused for df */
|
MLPutInteger(stdlink, region->depth + 1); /* misused for df */
|
||||||
@ -482,8 +485,7 @@ refine:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
abort:
|
abort:
|
||||||
WaitCores(t);
|
FORK_ONLY(FrameFree(t, Master);)
|
||||||
FORK_ONLY(FrameFree(t, ShmRm(t));)
|
|
||||||
|
|
||||||
RuleFree(t);
|
RuleFree(t);
|
||||||
SamplesFree(&t->samples[2]);
|
SamplesFree(&t->samples[2]);
|
||||||
|
6
src/external/libCuba/src/divonne/Iterate.c
vendored
6
src/external/libCuba/src/divonne/Iterate.c
vendored
@ -2,7 +2,7 @@
|
|||||||
Iterate.c
|
Iterate.c
|
||||||
recursion over regions
|
recursion over regions
|
||||||
this file is part of Divonne
|
this file is part of Divonne
|
||||||
last modified 2 Aug 13 th
|
last modified 12 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -85,10 +85,10 @@ FORK_ONLY(more:)
|
|||||||
|
|
||||||
norm = 1./nsplit--;
|
norm = 1./nsplit--;
|
||||||
for( res = RegionResult(parent), c = corr; c < C; ++res, ++c ) {
|
for( res = RegionResult(parent), c = corr; c < C; ++res, ++c ) {
|
||||||
creal diff = fabs(res->avg - c->avg)*norm;
|
creal diff = fabsx(res->avg - c->avg)*norm;
|
||||||
c->avg = diff*norm*nsplit;
|
c->avg = diff*norm*nsplit;
|
||||||
c->err = (c->err == 0) ? 1 : 1 + diff/c->err;
|
c->err = (c->err == 0) ? 1 : 1 + diff/c->err;
|
||||||
c->spread = (c->spread == 0) ? 1 : 1 + diff/sqrt(c->spread);
|
c->spread = (c->spread == 0) ? 1 : 1 + diff/sqrtx(c->spread);
|
||||||
}
|
}
|
||||||
|
|
||||||
for( td = todo; td < tdmax; ++td )
|
for( td = todo; td < tdmax; ++td )
|
||||||
|
1370
src/external/libCuba/src/divonne/KorobovCoeff.c-16033
vendored
Normal file
1370
src/external/libCuba/src/divonne/KorobovCoeff.c-16033
vendored
Normal file
File diff suppressed because it is too large
Load Diff
267
src/external/libCuba/src/divonne/KorobovCoeff.c-2423
vendored
Normal file
267
src/external/libCuba/src/divonne/KorobovCoeff.c-2423
vendored
Normal file
@ -0,0 +1,267 @@
|
|||||||
|
#define KOROBOV_MINDIM 2
|
||||||
|
#define KOROBOV_MAXDIM 33
|
||||||
|
#define MAXPRIME 2423
|
||||||
|
|
||||||
|
#define Hash(x) ((4973 - x)*(-47 + x))/25245
|
||||||
|
|
||||||
|
static int prime[] = {
|
||||||
|
FIRST,47,53,59,61,67,73,79,83,89,97,101,103,109,113,127,131,137,139,149,
|
||||||
|
151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,
|
||||||
|
251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,
|
||||||
|
359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,
|
||||||
|
463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,
|
||||||
|
593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,
|
||||||
|
701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,
|
||||||
|
827,829,839,853,857,859,863,877,881,887,907,911,919,929,937,941,947,953,
|
||||||
|
967,971,977,983,991,997,1009,1019,1021,1033,1039,1051,1061,1069,1087,
|
||||||
|
1091,1097,1103,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,
|
||||||
|
1217,1229,1237,1249,1259,1277,1279,1289,1297,1307,1319,1327,1361,1367,
|
||||||
|
1373,1381,1399,1409,1423,1427,1429,1439,1453,1459,1481,1489,1499,1511,
|
||||||
|
1523,1543,1553,1567,1579,1597,1607,1621,1637,1657,1663,1669,1697,1709,
|
||||||
|
1723,1741,1759,1777,1789,1811,1831,1847,1867,1889,1907,1931,1951,1973,
|
||||||
|
1999,2027,2053,2081,2111,2143,2179,2221,2269,2333,MarkLast(2423)
|
||||||
|
};
|
||||||
|
|
||||||
|
static short coeff[][32] = {
|
||||||
|
{13,11,10,3,9,2,2,2,2,9,2,2,7,2,2,2,2,2,2,6,2,2,2,13,11,10,3,9,2,2,2,2},
|
||||||
|
{23,17,12,11,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,12,12,14,14,14},
|
||||||
|
{18,14,5,14,2,2,19,19,25,25,18,18,18,2,2,2,2,2,2,2,2,2,2,2,25,6,2,2,2,18,14,5},
|
||||||
|
{17,21,7,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,6,2,2,2,6,2,2,2,17,7},
|
||||||
|
{18,13,23,5,2,12,6,12,12,12,10,10,16,2,16,16,2,2,2,2,2,2,2,10,2,2,2,2,10,2,2,2},
|
||||||
|
{27,14,10,14,2,4,13,2,2,16,4,4,4,6,6,6,6,6,6,25,25,31,31,15,31,2,2,31,15,14,14,6},
|
||||||
|
{29,19,27,32,6,8,2,2,2,2,2,8,8,2,2,2,2,9,9,9,9,2,2,2,2,2,2,2,9,9,2,2},
|
||||||
|
{30,19,24,16,22,8,2,2,22,5,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{34,28,13,28,27,27,2,4,2,2,2,16,16,4,20,20,36,20,36,5,5,5,36,36,5,5,5,7,5,7,7,2},
|
||||||
|
{35,19,33,8,21,30,8,2,4,2,4,4,2,2,2,2,2,2,2,2,2,17,2,2,11,25,11,17,17,17,17,17},
|
||||||
|
{39,40,15,21,11,26,13,2,2,13,2,2,2,2,2,2,2,2,2,2,26,26,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{37,21,35,29,27,19,19,2,2,2,5,15,2,2,15,15,19,19,19,19,19,2,2,2,2,2,19,2,2,2,2,2},
|
||||||
|
{45,44,13,25,17,47,30,2,30,2,2,2,2,2,2,2,2,2,19,19,19,17,17,2,2,2,2,2,2,2,2,2},
|
||||||
|
{35,22,37,9,35,12,35,8,2,2,50,50,2,2,32,32,32,31,13,8,8,8,2,22,50,9,9,9,22,22,22,10},
|
||||||
|
{29,24,43,36,49,2,2,8,4,25,49,25,2,2,8,10,10,10,5,5,5,40,10,33,40,40,2,27,10,25,25,25},
|
||||||
|
{50,18,32,39,21,2,2,2,4,4,36,36,14,14,14,14,2,2,2,17,17,17,16,16,2,14,14,14,14,2,2,2},
|
||||||
|
{31,28,45,20,18,43,43,13,28,2,2,2,31,31,31,31,31,2,2,2,43,43,2,2,2,2,2,2,2,2,30,2},
|
||||||
|
{39,15,41,7,24,2,2,30,40,2,2,25,25,25,25,2,2,2,2,2,2,6,6,2,25,2,5,2,2,25,2,2},
|
||||||
|
{44,20,29,39,7,21,21,21,2,2,45,2,2,2,49,49,49,49,49,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{56,20,22,13,18,35,35,6,2,4,2,4,2,2,2,23,16,16,4,23,2,34,52,2,34,2,4,2,2,2,23,16},
|
||||||
|
{46,32,17,18,29,27,31,31,31,2,2,4,15,2,2,2,2,2,2,2,2,2,2,2,2,2,23,32,32,32,15,15},
|
||||||
|
{62,42,43,17,23,13,13,2,2,13,2,2,2,2,2,2,2,10,2,2,2,2,9,10,2,2,2,19,9,9,9,9},
|
||||||
|
{46,49,49,52,27,7,20,2,2,6,6,13,13,13,2,13,13,2,2,2,2,2,2,34,34,2,2,2,2,2,2,2},
|
||||||
|
{64,34,16,28,16,51,47,2,2,2,6,18,39,39,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,12,2},
|
||||||
|
{74,26,44,25,50,24,54,39,58,42,2,42,42,2,2,2,2,2,2,2,2,33,33,2,2,39,11,2,2,58,39,58},
|
||||||
|
{70,22,50,22,16,9,25,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{74,21,17,25,35,33,10,2,10,20,20,57,57,57,2,2,57,2,2,2,2,2,2,2,13,2,2,2,2,2,2,2},
|
||||||
|
{81,18,10,11,47,38,71,37,2,37,2,2,2,2,2,26,26,26,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{71,68,68,27,71,39,81,44,2,2,2,12,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{55,30,85,42,16,36,45,67,2,2,68,2,2,2,2,2,2,2,68,10,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{64,17,24,26,49,12,10,39,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,59,2,2},
|
||||||
|
{68,57,23,38,61,38,13,13,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,68,15,2,44,44,44,2,2,2},
|
||||||
|
{94,28,58,29,13,5,15,8,66,2,2,2,39,39,15,66,2,2,6,6,2,2,66,66,66,66,2,2,2,2,2,66},
|
||||||
|
{94,85,9,41,41,37,29,29,17,2,2,2,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,8,8},
|
||||||
|
{89,32,75,77,77,13,2,30,30,2,2,2,2,2,2,2,2,2,2,67,67,2,2,2,2,2,2,2,2,8,19,32},
|
||||||
|
{70,45,58,63,67,10,72,72,70,6,2,36,2,70,70,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{101,33,76,13,45,63,2,2,6,19,2,2,32,32,32,32,32,65,2,63,63,11,11,11,19,19,19,19,9,63,63,63},
|
||||||
|
{70,89,44,37,19,45,2,2,2,8,10,8,54,54,80,80,80,80,80,2,116,2,116,2,2,80,40,51,100,100,8,2},
|
||||||
|
{71,54,83,51,42,98,2,2,8,8,14,30,93,22,15,15,30,30,30,44,44,44,2,2,22,22,22,117,44,11,11,11},
|
||||||
|
{109,37,51,113,17,10,2,2,17,17,55,2,55,55,55,55,55,55,2,2,2,57,48,48,55,55,2,2,55,2,2,55},
|
||||||
|
{75,38,68,89,11,52,2,2,81,39,2,38,2,2,2,2,2,2,2,2,2,2,2,19,2,2,2,2,2,2,2,2},
|
||||||
|
{80,38,62,66,39,59,2,36,48,33,2,2,41,2,48,48,2,2,2,2,2,2,48,2,2,2,2,2,2,2,2,2},
|
||||||
|
{81,84,35,34,20,93,2,12,12,12,2,96,2,96,96,2,96,2,2,2,2,2,2,2,2,2,2,2,2,56,56,56},
|
||||||
|
{109,72,60,96,67,32,85,84,27,91,91,2,10,29,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{104,32,56,46,77,11,35,35,24,56,19,2,2,2,78,2,2,75,2,2,2,2,78,2,2,2,2,2,2,2,2,2},
|
||||||
|
{81,103,25,35,28,15,20,20,20,2,2,2,2,20,20,20,107,107,2,2,2,2,2,2,2,2,2,2,2,2,13,13},
|
||||||
|
{119,75,42,29,74,23,54,36,39,2,2,4,4,19,19,2,2,2,2,2,2,2,2,54,2,2,2,2,2,2,2,54},
|
||||||
|
{115,73,22,102,75,138,16,73,50,16,2,50,2,2,2,133,2,2,2,2,2,2,2,2,2,2,2,2,2,33,33,33},
|
||||||
|
{119,48,66,51,14,22,20,20,2,2,2,2,2,60,2,2,2,2,2,2,2,2,60,2,2,2,2,2,2,60,2,65},
|
||||||
|
{121,94,80,29,51,69,42,36,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,17,2,2},
|
||||||
|
{129,123,41,79,43,34,24,11,2,2,4,2,2,2,2,75,16,16,16,75,75,75,16,16,16,25,2,99,2,2,75,16},
|
||||||
|
{128,33,35,68,22,8,62,94,2,2,2,62,62,2,98,2,2,4,98,2,2,32,81,32,32,32,98,98,98,98,98,98},
|
||||||
|
{101,109,154,15,57,6,27,36,2,2,37,37,2,2,2,2,2,2,2,107,2,2,2,107,107,2,2,2,2,2,2,2},
|
||||||
|
{106,40,24,38,61,118,106,106,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{149,111,58,79,127,13,41,33,27,16,30,2,61,2,72,2,2,2,2,2,2,2,2,2,2,2,2,75,75,2,2,2},
|
||||||
|
{105,92,43,156,25,53,57,115,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{99,40,62,67,66,29,99,99,99,78,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,79},
|
||||||
|
{109,42,96,95,66,41,103,84,13,103,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{111,72,16,89,25,86,117,29,14,14,2,2,2,2,2,60,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{106,72,49,94,140,44,97,157,75,2,2,4,123,123,2,2,123,123,123,123,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{115,67,74,32,43,50,21,36,135,36,85,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{151,71,157,42,41,37,80,27,18,2,2,2,2,2,2,2,2,2,2,2,2,2,115,128,128,128,128,128,32,2,128,80},
|
||||||
|
{119,91,38,30,92,44,32,76,22,2,34,2,2,2,2,2,2,2,2,2,2,2,2,2,2,129,2,2,129,2,2,2},
|
||||||
|
{121,126,31,52,120,37,57,10,171,2,2,2,2,35,35,35,2,2,97,97,97,97,97,97,97,35,35,35,97,97,97,2},
|
||||||
|
{155,86,49,104,87,94,64,45,61,91,91,91,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{164,121,44,166,47,33,7,15,13,2,2,122,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{128,120,133,17,71,52,25,107,42,21,21,2,2,2,2,4,4,96,2,9,9,2,9,94,94,94,94,94,94,94,94,96},
|
||||||
|
{179,82,157,76,61,35,13,90,197,2,69,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,39,39},
|
||||||
|
{136,136,148,63,66,10,169,95,95,163,30,28,28,2,41,130,2,2,2,21,2,2,2,2,2,2,2,2,2,2,2,36},
|
||||||
|
{131,40,112,63,55,30,53,79,79,79,2,79,2,2,2,2,2,79,2,2,2,2,14,36,2,21,21,21,21,2,2,91},
|
||||||
|
{165,81,92,48,9,110,12,40,40,34,2,2,2,107,107,107,2,107,2,2,2,2,2,2,2,2,2,2,2,15,41,41},
|
||||||
|
{169,66,170,97,35,56,55,86,32,32,2,2,2,2,14,2,40,2,37,2,2,37,40,40,40,2,2,2,37,37,37,37},
|
||||||
|
{135,63,126,156,70,18,49,143,6,117,2,109,109,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{179,104,117,56,132,56,190,130,130,15,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{193,59,51,68,68,15,170,170,170,143,143,12,2,2,2,63,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{145,101,56,65,23,76,110,2,4,4,4,146,146,146,2,146,2,2,2,2,2,2,2,2,2,2,2,2,2,2,146,146},
|
||||||
|
{144,129,26,98,36,46,47,52,52,52,82,2,2,2,2,2,17,2,2,2,2,2,2,2,2,2,2,2,2,91,2,2},
|
||||||
|
{145,78,166,171,56,20,63,2,2,33,33,33,33,2,78,47,47,47,47,47,2,2,2,2,2,78,78,78,2,2,2,2},
|
||||||
|
{191,69,176,54,47,75,167,2,2,2,188,188,188,30,30,2,67,67,117,2,117,117,117,2,2,36,2,2,2,2,2,2},
|
||||||
|
{186,96,29,122,47,96,170,157,157,157,157,108,159,2,195,195,26,26,26,26,26,2,2,2,2,132,132,132,2,2,2,2},
|
||||||
|
{151,118,226,91,54,49,33,2,2,2,2,4,4,4,143,143,2,2,143,25,25,25,2,143,143,143,143,143,143,143,143,143},
|
||||||
|
{144,91,237,82,81,75,138,163,163,163,117,117,44,2,44,136,136,136,136,2,2,2,2,2,122,122,122,122,2,2,2,136},
|
||||||
|
{189,78,178,64,118,27,189,2,2,67,67,110,110,110,110,2,28,28,2,2,2,2,2,2,2,102,2,2,2,2,2,2},
|
||||||
|
{165,202,83,76,125,65,42,2,44,44,23,2,23,23,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{209,204,92,75,85,146,104,2,7,18,8,2,2,2,204,95,95,95,2,2,2,95,95,95,95,95,95,95,2,2,2,95},
|
||||||
|
{169,68,89,16,193,82,33,262,262,175,148,148,148,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{171,162,78,43,61,17,112,10,171,182,118,33,2,2,2,2,118,2,2,2,2,2,2,151,2,2,2,2,2,2,2,2},
|
||||||
|
{211,121,119,55,90,211,96,89,225,25,178,36,36,36,2,2,108,2,2,2,2,2,2,2,2,2,2,2,2,184,2,2},
|
||||||
|
{154,101,83,17,16,210,41,79,70,158,2,27,27,2,2,2,2,2,2,2,2,2,2,2,2,153,2,2,2,2,2,2},
|
||||||
|
{169,179,130,79,148,180,136,17,47,119,2,119,119,169,169,2,169,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{241,171,148,31,172,34,66,60,156,140,2,2,2,75,75,2,2,2,2,2,2,2,190,190,2,2,2,30,2,2,2,2},
|
||||||
|
{229,189,183,106,118,138,82,149,265,39,2,2,265,2,2,2,2,2,2,130,2,2,2,71,71,2,2,2,71,2,2,71},
|
||||||
|
{165,157,127,21,64,15,80,130,130,130,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,74,2},
|
||||||
|
{221,130,203,84,83,83,29,121,54,54,2,141,2,2,94,94,94,4,4,4,2,4,2,2,2,54,54,108,16,16,94,52},
|
||||||
|
{230,166,20,160,121,102,153,94,16,67,2,2,2,2,2,2,97,97,97,2,2,97,97,2,97,97,97,97,97,97,97,97},
|
||||||
|
{181,79,137,119,139,24,77,17,50,25,25,25,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{239,242,192,40,41,62,124,193,193,31,193,2,2,2,2,2,2,2,2,2,2,2,2,148,2,2,2,2,2,2,2,2},
|
||||||
|
{239,178,73,122,239,51,95,48,78,88,78,2,2,2,2,2,2,2,2,2,2,2,144,144,2,2,144,144,144,2,144,144},
|
||||||
|
{234,117,198,34,143,21,74,6,252,252,98,2,2,2,2,197,38,2,2,2,2,2,47,2,47,47,47,47,2,2,2,47},
|
||||||
|
{179,110,38,28,58,39,16,29,42,125,202,8,8,129,4,4,2,2,2,67,67,2,2,2,2,2,2,8,67,67,2,2},
|
||||||
|
{246,53,189,50,18,59,179,179,7,137,137,2,2,103,103,103,103,40,40,40,2,2,2,2,73,73,73,2,103,103,103,103},
|
||||||
|
{239,133,87,92,193,12,206,238,238,238,31,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{191,244,60,193,18,32,193,104,74,125,125,66,2,2,2,2,2,2,2,2,2,2,125,125,2,125,125,125,2,2,2,2},
|
||||||
|
{177,74,90,91,172,219,63,84,32,2,2,196,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{253,143,54,39,122,32,75,107,234,2,6,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{282,89,71,88,30,23,81,105,105,2,2,105,105,131,107,2,2,2,2,2,195,195,2,2,29,29,21,21,128,195,195,195},
|
||||||
|
{259,115,171,40,156,71,67,24,24,2,2,2,24,4,4,4,2,234,2,2,2,2,2,2,2,2,2,74,74,2,2,2},
|
||||||
|
{264,237,49,203,247,108,75,75,75,2,2,32,16,8,16,16,16,164,14,164,2,2,32,16,8,16,16,32,42,42,42,2},
|
||||||
|
{264,106,89,51,29,226,23,286,286,151,151,151,151,151,2,2,2,2,2,2,31,31,31,2,2,2,2,2,2,2,2,284},
|
||||||
|
{194,215,82,23,213,23,108,127,74,2,201,32,178,2,285,2,2,2,2,285,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{196,267,251,111,231,14,30,52,95,2,154,53,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{266,67,22,101,102,157,53,95,130,2,42,76,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{281,205,107,178,236,122,122,316,76,215,215,2,60,2,2,2,2,2,2,227,2,2,2,2,2,2,2,2,27,2,2,2},
|
||||||
|
{271,89,65,195,132,162,102,45,56,174,104,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{200,169,170,121,155,68,131,167,78,113,113,2,2,64,2,2,2,2,2,2,2,2,2,2,2,2,2,173,2,2,2,2},
|
||||||
|
{288,143,265,264,71,19,231,169,27,27,27,2,2,2,2,2,2,2,2,2,2,2,2,2,51,2,2,2,2,2,2,2},
|
||||||
|
{311,141,96,173,90,119,134,151,35,252,39,2,39,39,2,2,2,2,2,2,2,2,2,113,113,2,2,2,2,2,2,113},
|
||||||
|
{311,230,52,138,225,346,162,216,216,91,160,182,91,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{275,167,128,244,184,184,44,210,237,139,139,139,139,2,2,2,2,2,2,2,2,2,2,73,2,2,2,2,2,2,2,2},
|
||||||
|
{176,156,83,135,46,197,108,63,33,33,33,2,133,2,213,213,213,213,133,133,2,133,2,2,133,133,2,2,2,2,2,2},
|
||||||
|
{283,125,141,192,89,181,106,208,124,124,2,112,112,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{289,191,171,152,191,173,54,13,21,56,56,56,2,2,2,2,2,2,2,2,2,220,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{334,305,132,132,99,126,54,116,164,105,2,105,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,287,2,2,2,2},
|
||||||
|
{240,166,44,193,153,333,15,99,246,99,2,2,99,99,2,2,2,2,195,195,195,2,195,195,2,263,263,2,195,195,195,263},
|
||||||
|
{246,194,265,79,225,65,24,62,46,181,2,2,2,314,2,2,2,2,2,2,2,215,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{229,334,285,302,21,26,24,97,64,40,2,2,2,231,231,231,231,65,2,148,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{251,295,55,249,135,173,164,78,261,261,2,2,2,2,114,2,2,2,2,2,256,142,142,2,2,2,2,2,2,2,2,185},
|
||||||
|
{232,153,55,60,181,79,107,70,29,35,2,2,58,58,2,58,2,2,2,2,61,61,2,61,61,2,2,61,61,90,2,90},
|
||||||
|
{246,116,45,146,109,90,32,103,133,119,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{246,113,146,232,162,262,204,47,45,331,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{360,150,84,275,13,26,368,49,244,244,63,63,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{239,295,174,87,30,87,85,36,103,36,2,278,2,2,2,2,2,2,163,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{356,300,75,310,123,301,200,107,183,37,218,37,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{358,207,168,150,150,21,156,50,195,275,275,275,2,2,2,2,2,251,2,2,2,251,251,251,251,251,251,251,251,251,2,2},
|
||||||
|
{322,194,234,62,236,147,239,400,255,255,80,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{326,276,134,100,143,113,115,221,13,339,194,194,194,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{192,213,113,174,403,117,342,342,311,35,35,2,2,2,2,2,2,2,2,101,2,2,2,2,2,2,2,2,2,101,101,101},
|
||||||
|
{264,273,316,53,40,330,51,285,115,219,147,2,2,2,335,2,2,2,2,2,173,2,173,2,2,173,173,173,173,173,173,83},
|
||||||
|
{254,293,407,118,54,296,160,231,4,4,93,2,2,2,2,2,60,61,2,2,120,127,127,127,88,88,88,88,88,88,88,88},
|
||||||
|
{341,78,336,263,281,164,99,334,296,114,109,2,163,163,163,163,2,2,2,2,2,2,2,125,125,292,292,292,292,125,125,125},
|
||||||
|
{355,87,212,100,89,210,133,344,120,45,45,138,138,138,138,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{274,141,46,219,158,284,38,79,73,185,35,6,81,2,2,2,2,53,2,2,81,81,2,81,2,2,2,53,53,53,53,53},
|
||||||
|
{349,303,439,19,95,240,174,191,2,162,162,2,2,2,76,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{360,91,201,205,67,181,59,77,2,44,103,103,103,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,125},
|
||||||
|
{283,154,261,91,77,147,227,105,116,311,256,256,2,116,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,32,2},
|
||||||
|
{287,288,111,89,249,370,55,16,248,67,67,115,2,2,134,134,2,2,2,2,2,2,2,2,2,2,2,2,2,22,22,22},
|
||||||
|
{284,270,282,37,29,181,160,49,285,285,374,250,2,374,374,2,2,2,179,179,35,2,179,179,2,179,179,2,2,285,285,285},
|
||||||
|
{359,305,52,36,243,231,7,92,2,68,68,307,62,45,2,2,112,311,311,311,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{288,119,218,137,364,38,27,380,2,2,211,23,33,2,2,2,2,2,225,225,225,2,2,225,225,225,2,2,2,2,2,2},
|
||||||
|
{277,155,232,309,370,365,348,75,214,214,214,4,4,2,2,2,210,210,210,210,210,210,210,2,2,2,2,2,2,2,2,2},
|
||||||
|
{292,204,91,41,124,190,107,322,125,125,125,125,125,25,25,62,2,2,146,146,2,2,62,146,2,146,114,146,114,2,2,2},
|
||||||
|
{282,195,192,409,68,99,253,106,2,2,2,231,55,55,2,323,323,55,55,285,285,285,285,2,2,2,2,2,2,285,285,323},
|
||||||
|
{282,222,268,86,21,109,353,408,2,2,2,2,135,12,12,216,241,241,241,241,241,241,241,241,241,303,303,303,135,135,135,2},
|
||||||
|
{374,94,89,257,137,246,186,196,2,2,2,2,2,454,122,122,122,122,2,2,2,28,28,94,94,94,94,94,122,122,122,122},
|
||||||
|
{288,370,141,284,207,192,450,67,2,2,2,183,217,217,217,183,183,167,202,202,202,202,167,167,2,2,2,164,164,80,167,167},
|
||||||
|
{286,293,199,39,158,332,242,103,2,2,2,408,266,315,2,2,365,253,315,315,315,315,315,2,2,315,2,2,2,2,2,2},
|
||||||
|
{398,88,78,57,260,203,203,43,131,131,131,204,204,322,204,2,102,2,325,325,325,325,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{390,174,70,155,163,67,225,49,2,34,34,151,151,2,2,111,2,2,111,111,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{408,136,71,63,63,159,222,68,181,181,124,227,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{294,169,79,242,160,123,178,290,186,186,56,399,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{415,228,69,68,193,122,21,362,33,22,362,57,2,2,2,2,46,46,196,196,196,2,196,196,196,2,196,2,2,2,2,2},
|
||||||
|
{417,238,147,165,346,19,92,164,266,291,291,43,2,2,2,345,2,2,2,345,345,2,2,2,2,2,345,2,2,2,2,2},
|
||||||
|
{456,192,86,182,35,174,342,102,210,210,210,393,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,256,256,158},
|
||||||
|
{432,168,63,154,166,46,479,145,144,288,288,288,288,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{341,256,113,85,188,233,161,29,110,167,91,91,253,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{311,360,312,158,73,16,106,209,472,48,24,203,203,2,2,2,2,234,234,234,2,234,234,203,2,2,2,234,234,234,234,234},
|
||||||
|
{437,196,161,100,132,246,395,187,35,35,35,2,2,35,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{438,174,338,145,155,276,422,374,4,463,463,99,224,70,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{426,225,211,130,325,283,353,96,282,23,299,2,2,2,63,63,2,276,276,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{430,101,288,38,200,332,325,193,123,123,88,2,2,2,2,2,231,231,139,139,139,139,139,139,139,139,139,139,139,139,139,139},
|
||||||
|
{434,143,308,389,365,363,174,63,121,125,260,2,2,260,260,2,2,2,2,2,2,2,2,2,2,258,2,2,2,258,2,2},
|
||||||
|
{453,123,201,141,229,223,234,494,102,102,102,2,2,102,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,252},
|
||||||
|
{438,168,65,264,304,74,168,88,114,132,187,2,127,127,2,2,2,2,2,81,81,56,2,2,2,307,2,2,2,2,81,81},
|
||||||
|
{324,181,141,129,33,171,173,291,227,373,52,301,301,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{335,114,55,47,33,173,287,345,198,198,136,238,238,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{456,162,188,223,408,209,28,164,299,299,258,186,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{360,397,130,172,407,479,295,13,38,199,199,346,2,2,2,2,2,2,145,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{512,136,129,361,180,61,274,128,422,27,292,165,2,2,2,2,2,2,363,117,117,117,117,2,2,2,2,363,2,2,2,2},
|
||||||
|
{478,433,483,302,200,227,273,27,171,171,371,102,2,2,2,2,2,20,2,2,2,2,2,2,2,2,403,403,2,2,2,2},
|
||||||
|
{485,158,454,86,212,60,93,40,209,188,188,106,2,231,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{390,448,111,145,47,555,367,317,315,52,429,435,429,429,2,2,2,2,2,2,2,2,229,2,2,229,2,2,2,229,2,2},
|
||||||
|
{378,406,112,198,539,550,516,59,240,240,23,316,2,122,2,2,2,2,2,2,2,2,2,2,111,111,2,2,2,95,2,2},
|
||||||
|
{495,406,306,239,172,323,236,50,37,435,2,310,56,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{397,393,191,269,462,151,264,134,307,307,2,163,163,2,2,2,2,2,2,2,2,2,2,2,2,2,159,2,2,2,2,2},
|
||||||
|
{485,491,325,149,122,145,228,100,311,64,2,62,137,2,137,2,2,2,2,2,2,2,392,2,2,2,2,2,2,2,2,2},
|
||||||
|
{507,195,130,401,363,171,483,20,86,464,2,89,89,2,26,2,2,2,2,2,425,425,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{380,220,87,122,242,78,207,371,95,305,2,2,2,2,440,440,445,358,358,331,331,358,445,445,445,445,445,445,445,445,445,445},
|
||||||
|
{507,221,247,137,182,90,28,207,325,438,2,2,2,2,2,187,232,438,2,2,68,37,37,37,37,37,37,37,37,37,161,2},
|
||||||
|
{509,265,101,126,203,86,152,416,352,85,2,2,2,284,391,368,2,2,152,2,2,2,325,2,2,2,2,2,2,2,2,2},
|
||||||
|
{572,359,332,480,68,535,59,504,365,21,2,2,246,54,246,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{415,178,178,372,415,400,73,82,348,99,2,23,325,44,2,2,2,2,2,2,2,2,325,2,2,2,2,2,2,2,2,2},
|
||||||
|
{430,275,236,361,42,552,368,236,653,74,65,458,288,307,307,2,2,2,2,2,2,2,65,65,2,2,2,2,2,2,2,2},
|
||||||
|
{434,139,58,437,130,441,188,15,63,145,145,145,300,2,2,2,2,300,2,2,2,2,2,2,2,2,401,401,401,401,401,401},
|
||||||
|
{542,138,266,514,552,202,103,197,574,48,2,96,96,2,2,96,96,217,2,2,2,2,2,2,2,2,2,2,2,2,2,217},
|
||||||
|
{546,494,72,272,550,219,213,209,169,404,69,464,86,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{422,413,561,110,242,62,436,478,18,150,606,88,643,2,249,2,2,2,2,456,2,2,2,2,2,2,2,2,2,2,2,456},
|
||||||
|
{555,516,310,438,290,559,52,265,248,193,285,441,285,285,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{555,300,232,386,470,300,355,177,57,407,450,279,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{534,274,194,220,575,81,206,544,341,85,137,429,429,429,429,344,2,2,2,2,2,315,315,315,315,315,315,72,72,72,2,2},
|
||||||
|
{576,301,142,329,96,41,302,528,126,112,206,206,2,2,2,2,2,2,206,206,2,206,206,2,191,206,206,191,191,191,191,206},
|
||||||
|
{622,526,294,56,498,176,237,351,25,26,474,55,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{446,163,469,481,240,278,51,373,491,13,22,419,2,2,2,2,2,2,2,2,2,176,176,2,2,2,2,2,2,2,2,2},
|
||||||
|
{445,223,102,108,120,166,68,214,737,504,96,96,206,377,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,39,39,528},
|
||||||
|
{425,355,128,58,194,82,438,117,10,34,34,35,112,107,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{433,294,192,205,152,70,99,68,392,169,309,390,390,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,199,2,2,2},
|
||||||
|
{437,561,384,619,363,420,614,117,217,247,405,142,142,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{437,133,516,423,305,90,135,25,266,487,6,286,286,2,2,2,2,2,2,2,2,2,2,2,2,510,510,2,2,2,2,2},
|
||||||
|
{610,477,478,516,318,184,267,423,190,494,494,2,336,336,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{590,463,461,162,162,622,167,254,29,377,377,75,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{448,126,129,168,209,340,40,96,509,509,509,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{635,212,284,356,187,591,275,361,194,317,488,2,2,2,2,2,2,97,6,2,6,247,2,2,2,2,2,2,2,2,2,6},
|
||||||
|
{612,395,104,86,264,321,521,325,252,53,178,100,100,100,16,343,343,343,343,343,2,2,2,2,2,2,2,2,2,343,343,343},
|
||||||
|
{486,428,287,472,292,141,504,178,585,98,282,2,2,2,2,2,2,2,2,2,2,2,2,284,284,284,78,284,2,2,2,2},
|
||||||
|
{462,579,236,447,60,162,427,258,73,742,742,2,742,742,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{469,507,276,227,66,237,260,386,27,666,31,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{626,196,111,465,386,431,181,414,614,391,349,318,389,2,389,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{653,169,261,533,488,282,213,443,337,480,503,174,534,2,2,2,2,2,534,2,2,2,2,534,2,2,2,2,534,2,2,2},
|
||||||
|
{639,253,95,380,108,448,223,254,381,30,6,644,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{512,347,65,546,434,87,18,123,672,412,316,6,699,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{657,233,108,38,147,53,136,168,408,477,477,279,268,289,2,2,2,2,2,2,289,2,2,2,2,2,2,2,2,289,289,2},
|
||||||
|
{521,249,388,155,467,245,134,311,72,312,312,623,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{669,421,230,70,212,845,237,347,148,76,823,472,2,2,2,132,2,2,2,2,2,2,2,383,132,383,2,2,383,383,383,383},
|
||||||
|
{672,150,164,622,196,75,302,119,42,314,314,132,60,60,60,298,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{705,302,411,705,691,160,809,40,32,867,826,826,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{707,323,409,27,31,157,492,463,886,412,251,251,304,190,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{793,279,264,566,252,495,872,492,482,107,294,503,350,350,2,2,2,2,2,2,2,285,285,273,273,273,273,2,2,2,2,2},
|
||||||
|
{791,275,60,137,352,839,67,476,356,216,216,563,563,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{709,509,697,145,252,194,304,192,192,623,623,4,423,2,2,2,199,423,2,2,2,222,222,2,2,623,623,623,623,623,2,222},
|
||||||
|
{539,310,463,103,553,45,609,326,197,2,62,113,272,2,62,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{750,703,182,242,92,335,272,466,594,2,701,569,474,129,140,140,2,507,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{872,630,513,218,719,174,197,104,86,281,281,281,541,642,281,94,2,45,94,2,335,335,2,2,2,2,2,2,2,2,2,84},
|
||||||
|
{744,466,389,280,229,134,363,177,389,2,2,2,536,273,536,536,536,536,168,45,45,45,45,2,2,2,2,2,2,2,2,2},
|
||||||
|
{468,430,849,689,202,427,45,34,105,2,2,2,2,4,4,4,4,4,4,4,2,2,2,4,4,4,4,4,2,2,2,2},
|
||||||
|
{563,325,717,766,440,705,290,123,228,2,2,2,32,64,146,2,2,2,116,79,79,2,146,146,79,79,79,2,2,146,146,79},
|
||||||
|
{781,638,410,399,336,465,856,426,28,2,4,4,6,6,2,2,2,449,372,372,449,449,449,2,2,449,449,449,449,449,449,2},
|
||||||
|
{818,280,99,873,165,426,341,74,479,342,727,684,684,662,662,2,2,2,2,2,2,662,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{901,490,693,410,666,119,703,593,201,61,70,70,774,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,418,418},
|
||||||
|
{859,584,475,745,506,900,40,869,143,612,175,275,209,12,12,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{612,237,272,53,534,682,372,935,494,536,536,599,599,599,2,536,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{708,442,186,698,345,103,687,463,163,416,416,107,2,2,2,375,375,416,6,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{927,493,988,194,97,1006,377,578,105,248,707,784,98,784,2,2,2,2,2,2,2,2,2,370,370,2,370,2,2,2,2,2}
|
||||||
|
};
|
356
src/external/libCuba/src/divonne/KorobovCoeff.c-3319
vendored
Normal file
356
src/external/libCuba/src/divonne/KorobovCoeff.c-3319
vendored
Normal file
@ -0,0 +1,356 @@
|
|||||||
|
#define KOROBOV_MINDIM 2
|
||||||
|
#define KOROBOV_MAXDIM 33
|
||||||
|
#define MAXPRIME 3319
|
||||||
|
|
||||||
|
#define Hash(x) ((6967 - x)*(-47 + x))/36952
|
||||||
|
|
||||||
|
static int prime[] = {
|
||||||
|
FIRST,47,53,59,61,67,73,79,83,89,97,101,107,113,127,131,137,139,149,
|
||||||
|
151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,
|
||||||
|
251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,
|
||||||
|
359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,
|
||||||
|
463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,
|
||||||
|
593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,
|
||||||
|
701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,
|
||||||
|
827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,
|
||||||
|
953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,
|
||||||
|
1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,
|
||||||
|
1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,
|
||||||
|
1259,1277,1279,1283,1291,1297,1307,1319,1321,1327,1361,1367,1373,1381,
|
||||||
|
1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1493,
|
||||||
|
1499,1511,1523,1531,1543,1549,1559,1567,1579,1583,1597,1607,1613,1621,
|
||||||
|
1637,1657,1663,1667,1669,1693,1697,1699,1709,1723,1733,1747,1753,1759,
|
||||||
|
1777,1787,1801,1811,1823,1831,1847,1861,1867,1877,1889,1901,1913,1931,
|
||||||
|
1933,1949,1951,1973,1979,1993,2003,2017,2029,2039,2053,2069,2081,2099,
|
||||||
|
2111,2129,2137,2153,2161,2179,2203,2207,2221,2237,2243,2267,2273,2293,
|
||||||
|
2309,2333,2339,2351,2371,2389,2399,2417,2437,2459,2473,2503,2521,2531,
|
||||||
|
2549,2557,2591,2609,2621,2647,2671,2693,2713,2741,2767,2789,2819,2843,
|
||||||
|
2879,2897,2927,2963,2999,3037,3079,3121,3181,3229,MarkLast(3319)
|
||||||
|
};
|
||||||
|
|
||||||
|
static short coeff[][32] = {
|
||||||
|
{13,11,10,3,9,2,2,2,2,9,2,2,7,2,2,2,2,2,2,6,2,2,2,13,11,10,3,9,2,2,2,2},
|
||||||
|
{23,17,12,11,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,12,12,14,14,14},
|
||||||
|
{18,14,5,14,2,2,19,19,25,25,18,18,18,2,2,2,2,2,2,2,2,2,2,2,25,6,2,2,2,18,14,5},
|
||||||
|
{17,21,7,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,6,2,2,2,6,2,2,2,17,7},
|
||||||
|
{18,13,23,5,2,12,6,12,12,12,10,10,16,2,16,16,2,2,2,2,2,2,2,10,2,2,2,2,10,2,2,2},
|
||||||
|
{27,14,10,14,2,4,13,2,2,16,4,4,4,6,6,6,6,6,6,25,25,31,31,15,31,2,2,31,15,14,14,6},
|
||||||
|
{29,19,27,32,6,8,2,2,2,2,2,8,8,2,2,2,2,9,9,9,9,2,2,2,2,2,2,2,9,9,2,2},
|
||||||
|
{30,19,24,16,22,8,2,2,22,5,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{34,28,13,28,27,27,2,4,2,2,2,16,16,4,20,20,36,20,36,5,5,5,36,36,5,5,5,7,5,7,7,2},
|
||||||
|
{35,19,33,8,21,30,8,2,4,2,4,4,2,2,2,2,2,2,2,2,2,17,2,2,11,25,11,17,17,17,17,17},
|
||||||
|
{39,40,15,21,11,26,13,2,2,13,2,2,2,2,2,2,2,2,2,2,26,26,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{41,22,15,7,26,29,29,2,2,2,2,2,2,41,41,2,2,2,31,31,2,31,31,2,31,2,2,2,2,2,2,2},
|
||||||
|
{35,22,37,9,35,12,35,8,2,2,50,50,2,2,32,32,32,31,13,8,8,8,2,22,50,9,9,9,22,22,22,10},
|
||||||
|
{29,24,43,36,49,2,2,8,4,25,49,25,2,2,8,10,10,10,5,5,5,40,10,33,40,40,2,27,10,25,25,25},
|
||||||
|
{50,18,32,39,21,2,2,2,4,4,36,36,14,14,14,14,2,2,2,17,17,17,16,16,2,14,14,14,14,2,2,2},
|
||||||
|
{31,28,45,20,18,43,43,13,28,2,2,2,31,31,31,31,31,2,2,2,43,43,2,2,2,2,2,2,2,2,30,2},
|
||||||
|
{39,15,41,7,24,2,2,30,40,2,2,25,25,25,25,2,2,2,2,2,2,6,6,2,25,2,5,2,2,25,2,2},
|
||||||
|
{44,20,29,39,7,21,21,21,2,2,45,2,2,2,49,49,49,49,49,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{56,20,22,13,18,35,35,6,2,4,2,4,2,2,2,23,16,16,4,23,2,34,52,2,34,2,4,2,2,2,23,16},
|
||||||
|
{46,32,17,18,29,27,31,31,31,2,2,4,15,2,2,2,2,2,2,2,2,2,2,2,2,2,23,32,32,32,15,15},
|
||||||
|
{62,42,43,17,23,13,13,2,2,13,2,2,2,2,2,2,2,10,2,2,2,2,9,10,2,2,2,19,9,9,9,9},
|
||||||
|
{46,49,49,52,27,7,20,2,2,6,6,13,13,13,2,13,13,2,2,2,2,2,2,34,34,2,2,2,2,2,2,2},
|
||||||
|
{64,34,16,28,16,51,47,2,2,2,6,18,39,39,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,12,2},
|
||||||
|
{74,26,44,25,50,24,54,39,58,42,2,42,42,2,2,2,2,2,2,2,2,33,33,2,2,39,11,2,2,58,39,58},
|
||||||
|
{70,22,50,22,16,9,25,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{74,21,17,25,35,33,10,2,10,20,20,57,57,57,2,2,57,2,2,2,2,2,2,2,13,2,2,2,2,2,2,2},
|
||||||
|
{81,18,10,11,47,38,71,37,2,37,2,2,2,2,2,26,26,26,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{71,68,68,27,71,39,81,44,2,2,2,12,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{55,30,85,42,16,36,45,67,2,2,68,2,2,2,2,2,2,2,68,10,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{64,17,24,26,49,12,10,39,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,59,2,2},
|
||||||
|
{68,57,23,38,61,38,13,13,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,68,15,2,44,44,44,2,2,2},
|
||||||
|
{94,28,58,29,13,5,15,8,66,2,2,2,39,39,15,66,2,2,6,6,2,2,66,66,66,66,2,2,2,2,2,66},
|
||||||
|
{94,85,9,41,41,37,29,29,17,2,2,2,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,8,8},
|
||||||
|
{89,32,75,77,77,13,2,30,30,2,2,2,2,2,2,2,2,2,2,67,67,2,2,2,2,2,2,2,2,8,19,32},
|
||||||
|
{70,45,58,63,67,10,72,72,70,6,2,36,2,70,70,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{101,33,76,13,45,63,2,2,6,19,2,2,32,32,32,32,32,65,2,63,63,11,11,11,19,19,19,19,9,63,63,63},
|
||||||
|
{70,89,44,37,19,45,2,2,2,8,10,8,54,54,80,80,80,80,80,2,116,2,116,2,2,80,40,51,100,100,8,2},
|
||||||
|
{71,54,83,51,42,98,2,2,8,8,14,30,93,22,15,15,30,30,30,44,44,44,2,2,22,22,22,117,44,11,11,11},
|
||||||
|
{109,37,51,113,17,10,2,2,17,17,55,2,55,55,55,55,55,55,2,2,2,57,48,48,55,55,2,2,55,2,2,55},
|
||||||
|
{75,38,68,89,11,52,2,2,81,39,2,38,2,2,2,2,2,2,2,2,2,2,2,19,2,2,2,2,2,2,2,2},
|
||||||
|
{80,38,62,66,39,59,2,36,48,33,2,2,41,2,48,48,2,2,2,2,2,2,48,2,2,2,2,2,2,2,2,2},
|
||||||
|
{81,84,35,34,20,93,2,12,12,12,2,96,2,96,96,2,96,2,2,2,2,2,2,2,2,2,2,2,2,56,56,56},
|
||||||
|
{109,72,60,96,67,32,85,84,27,91,91,2,10,29,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{104,32,56,46,77,11,35,35,24,56,19,2,2,2,78,2,2,75,2,2,2,2,78,2,2,2,2,2,2,2,2,2},
|
||||||
|
{81,103,25,35,28,15,20,20,20,2,2,2,2,20,20,20,107,107,2,2,2,2,2,2,2,2,2,2,2,2,13,13},
|
||||||
|
{119,75,42,29,74,23,54,36,39,2,2,4,4,19,19,2,2,2,2,2,2,2,2,54,2,2,2,2,2,2,2,54},
|
||||||
|
{115,73,22,102,75,138,16,73,50,16,2,50,2,2,2,133,2,2,2,2,2,2,2,2,2,2,2,2,2,33,33,33},
|
||||||
|
{119,48,66,51,14,22,20,20,2,2,2,2,2,60,2,2,2,2,2,2,2,2,60,2,2,2,2,2,2,60,2,65},
|
||||||
|
{121,94,80,29,51,69,42,36,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,17,2,2},
|
||||||
|
{129,123,41,79,43,34,24,11,2,2,4,2,2,2,2,75,16,16,16,75,75,75,16,16,16,25,2,99,2,2,75,16},
|
||||||
|
{128,33,35,68,22,8,62,94,2,2,2,62,62,2,98,2,2,4,98,2,2,32,81,32,32,32,98,98,98,98,98,98},
|
||||||
|
{101,109,154,15,57,6,27,36,2,2,37,37,2,2,2,2,2,2,2,107,2,2,2,107,107,2,2,2,2,2,2,2},
|
||||||
|
{106,40,24,38,61,118,106,106,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{149,111,58,79,127,13,41,33,27,16,30,2,61,2,72,2,2,2,2,2,2,2,2,2,2,2,2,75,75,2,2,2},
|
||||||
|
{105,92,43,156,25,53,57,115,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{99,40,62,67,66,29,99,99,99,78,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,79},
|
||||||
|
{109,42,96,95,66,41,103,84,13,103,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{111,72,16,89,25,86,117,29,14,14,2,2,2,2,2,60,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{106,72,49,94,140,44,97,157,75,2,2,4,123,123,2,2,123,123,123,123,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{115,67,74,32,43,50,21,36,135,36,85,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{151,71,157,42,41,37,80,27,18,2,2,2,2,2,2,2,2,2,2,2,2,2,115,128,128,128,128,128,32,2,128,80},
|
||||||
|
{119,91,38,30,92,44,32,76,22,2,34,2,2,2,2,2,2,2,2,2,2,2,2,2,2,129,2,2,129,2,2,2},
|
||||||
|
{121,126,31,52,120,37,57,10,171,2,2,2,2,35,35,35,2,2,97,97,97,97,97,97,97,35,35,35,97,97,97,2},
|
||||||
|
{155,86,49,104,87,94,64,45,61,91,91,91,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{164,121,44,166,47,33,7,15,13,2,2,122,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{128,120,133,17,71,52,25,107,42,21,21,2,2,2,2,4,4,96,2,9,9,2,9,94,94,94,94,94,94,94,94,96},
|
||||||
|
{179,82,157,76,61,35,13,90,197,2,69,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,39,39},
|
||||||
|
{136,136,148,63,66,10,169,95,95,163,30,28,28,2,41,130,2,2,2,21,2,2,2,2,2,2,2,2,2,2,2,36},
|
||||||
|
{131,40,112,63,55,30,53,79,79,79,2,79,2,2,2,2,2,79,2,2,2,2,14,36,2,21,21,21,21,2,2,91},
|
||||||
|
{165,81,92,48,9,110,12,40,40,34,2,2,2,107,107,107,2,107,2,2,2,2,2,2,2,2,2,2,2,15,41,41},
|
||||||
|
{169,66,170,97,35,56,55,86,32,32,2,2,2,2,14,2,40,2,37,2,2,37,40,40,40,2,2,2,37,37,37,37},
|
||||||
|
{135,63,126,156,70,18,49,143,6,117,2,109,109,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{179,104,117,56,132,56,190,130,130,15,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{193,59,51,68,68,15,170,170,170,143,143,12,2,2,2,63,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{145,101,56,65,23,76,110,2,4,4,4,146,146,146,2,146,2,2,2,2,2,2,2,2,2,2,2,2,2,2,146,146},
|
||||||
|
{144,129,26,98,36,46,47,52,52,52,82,2,2,2,2,2,17,2,2,2,2,2,2,2,2,2,2,2,2,91,2,2},
|
||||||
|
{145,78,166,171,56,20,63,2,2,33,33,33,33,2,78,47,47,47,47,47,2,2,2,2,2,78,78,78,2,2,2,2},
|
||||||
|
{191,69,176,54,47,75,167,2,2,2,188,188,188,30,30,2,67,67,117,2,117,117,117,2,2,36,2,2,2,2,2,2},
|
||||||
|
{186,96,29,122,47,96,170,157,157,157,157,108,159,2,195,195,26,26,26,26,26,2,2,2,2,132,132,132,2,2,2,2},
|
||||||
|
{151,118,226,91,54,49,33,2,2,2,2,4,4,4,143,143,2,2,143,25,25,25,2,143,143,143,143,143,143,143,143,143},
|
||||||
|
{144,91,237,82,81,75,138,163,163,163,117,117,44,2,44,136,136,136,136,2,2,2,2,2,122,122,122,122,2,2,2,136},
|
||||||
|
{189,78,178,64,118,27,189,2,2,67,67,110,110,110,110,2,28,28,2,2,2,2,2,2,2,102,2,2,2,2,2,2},
|
||||||
|
{165,202,83,76,125,65,42,2,44,44,23,2,23,23,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{209,204,92,75,85,146,104,2,7,18,8,2,2,2,204,95,95,95,2,2,2,95,95,95,95,95,95,95,2,2,2,95},
|
||||||
|
{169,68,89,16,193,82,33,262,262,175,148,148,148,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{171,162,78,43,61,17,112,10,171,182,118,33,2,2,2,2,118,2,2,2,2,2,2,151,2,2,2,2,2,2,2,2},
|
||||||
|
{211,121,119,55,90,211,96,89,225,25,178,36,36,36,2,2,108,2,2,2,2,2,2,2,2,2,2,2,2,184,2,2},
|
||||||
|
{154,101,83,17,16,210,41,79,70,158,2,27,27,2,2,2,2,2,2,2,2,2,2,2,2,153,2,2,2,2,2,2},
|
||||||
|
{169,179,130,79,148,180,136,17,47,119,2,119,119,169,169,2,169,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{241,171,148,31,172,34,66,60,156,140,2,2,2,75,75,2,2,2,2,2,2,2,190,190,2,2,2,30,2,2,2,2},
|
||||||
|
{229,189,183,106,118,138,82,149,265,39,2,2,265,2,2,2,2,2,2,130,2,2,2,71,71,2,2,2,71,2,2,71},
|
||||||
|
{165,157,127,21,64,15,80,130,130,130,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,74,2},
|
||||||
|
{221,130,203,84,83,83,29,121,54,54,2,141,2,2,94,94,94,4,4,4,2,4,2,2,2,54,54,108,16,16,94,52},
|
||||||
|
{230,166,20,160,121,102,153,94,16,67,2,2,2,2,2,2,97,97,97,2,2,97,97,2,97,97,97,97,97,97,97,97},
|
||||||
|
{181,79,137,119,139,24,77,17,50,25,25,25,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{239,242,192,40,41,62,124,193,193,31,193,2,2,2,2,2,2,2,2,2,2,2,2,148,2,2,2,2,2,2,2,2},
|
||||||
|
{239,178,73,122,239,51,95,48,78,88,78,2,2,2,2,2,2,2,2,2,2,2,144,144,2,2,144,144,144,2,144,144},
|
||||||
|
{234,117,198,34,143,21,74,6,252,252,98,2,2,2,2,197,38,2,2,2,2,2,47,2,47,47,47,47,2,2,2,47},
|
||||||
|
{179,110,38,28,58,39,16,29,42,125,202,8,8,129,4,4,2,2,2,67,67,2,2,2,2,2,2,8,67,67,2,2},
|
||||||
|
{246,53,189,50,18,59,179,179,7,137,137,2,2,103,103,103,103,40,40,40,2,2,2,2,73,73,73,2,103,103,103,103},
|
||||||
|
{239,133,87,92,193,12,206,238,238,238,31,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{191,244,60,193,18,32,193,104,74,125,125,66,2,2,2,2,2,2,2,2,2,2,125,125,2,125,125,125,2,2,2,2},
|
||||||
|
{177,74,90,91,172,219,63,84,32,2,2,196,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{253,143,54,39,122,32,75,107,234,2,6,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{282,89,71,88,30,23,81,105,105,2,2,105,105,131,107,2,2,2,2,2,195,195,2,2,29,29,21,21,128,195,195,195},
|
||||||
|
{259,115,171,40,156,71,67,24,24,2,2,2,24,4,4,4,2,234,2,2,2,2,2,2,2,2,2,74,74,2,2,2},
|
||||||
|
{264,237,49,203,247,108,75,75,75,2,2,32,16,8,16,16,16,164,14,164,2,2,32,16,8,16,16,32,42,42,42,2},
|
||||||
|
{264,106,89,51,29,226,23,286,286,151,151,151,151,151,2,2,2,2,2,2,31,31,31,2,2,2,2,2,2,2,2,284},
|
||||||
|
{194,215,82,23,213,23,108,127,74,2,201,32,178,2,285,2,2,2,2,285,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{196,267,251,111,231,14,30,52,95,2,154,53,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{266,67,22,101,102,157,53,95,130,2,42,76,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{281,205,107,178,236,122,122,316,76,215,215,2,60,2,2,2,2,2,2,227,2,2,2,2,2,2,2,2,27,2,2,2},
|
||||||
|
{271,89,65,195,132,162,102,45,56,174,104,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{200,169,170,121,155,68,131,167,78,113,113,2,2,64,2,2,2,2,2,2,2,2,2,2,2,2,2,173,2,2,2,2},
|
||||||
|
{288,143,265,264,71,19,231,169,27,27,27,2,2,2,2,2,2,2,2,2,2,2,2,2,51,2,2,2,2,2,2,2},
|
||||||
|
{311,141,96,173,90,119,134,151,35,252,39,2,39,39,2,2,2,2,2,2,2,2,2,113,113,2,2,2,2,2,2,113},
|
||||||
|
{311,230,52,138,225,346,162,216,216,91,160,182,91,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{275,167,128,244,184,184,44,210,237,139,139,139,139,2,2,2,2,2,2,2,2,2,2,73,2,2,2,2,2,2,2,2},
|
||||||
|
{176,156,83,135,46,197,108,63,33,33,33,2,133,2,213,213,213,213,133,133,2,133,2,2,133,133,2,2,2,2,2,2},
|
||||||
|
{283,125,141,192,89,181,106,208,124,124,2,112,112,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{289,191,171,152,191,173,54,13,21,56,56,56,2,2,2,2,2,2,2,2,2,220,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{334,305,132,132,99,126,54,116,164,105,2,105,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,287,2,2,2,2},
|
||||||
|
{240,166,44,193,153,333,15,99,246,99,2,2,99,99,2,2,2,2,195,195,195,2,195,195,2,263,263,2,195,195,195,263},
|
||||||
|
{246,194,265,79,225,65,24,62,46,181,2,2,2,314,2,2,2,2,2,2,2,215,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{229,334,285,302,21,26,24,97,64,40,2,2,2,231,231,231,231,65,2,148,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{251,295,55,249,135,173,164,78,261,261,2,2,2,2,114,2,2,2,2,2,256,142,142,2,2,2,2,2,2,2,2,185},
|
||||||
|
{232,153,55,60,181,79,107,70,29,35,2,2,58,58,2,58,2,2,2,2,61,61,2,61,61,2,2,61,61,90,2,90},
|
||||||
|
{246,116,45,146,109,90,32,103,133,119,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{246,113,146,232,162,262,204,47,45,331,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{360,150,84,275,13,26,368,49,244,244,63,63,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{239,295,174,87,30,87,85,36,103,36,2,278,2,2,2,2,2,2,163,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{356,300,75,310,123,301,200,107,183,37,218,37,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{358,207,168,150,150,21,156,50,195,275,275,275,2,2,2,2,2,251,2,2,2,251,251,251,251,251,251,251,251,251,2,2},
|
||||||
|
{322,194,234,62,236,147,239,400,255,255,80,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{326,276,134,100,143,113,115,221,13,339,194,194,194,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{337,132,27,45,14,81,110,84,238,224,211,2,29,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{192,213,113,174,403,117,342,342,311,35,35,2,2,2,2,2,2,2,2,101,2,2,2,2,2,2,2,2,2,101,101,101},
|
||||||
|
{264,273,316,53,40,330,51,285,115,219,147,2,2,2,335,2,2,2,2,2,173,2,173,2,2,173,173,173,173,173,173,83},
|
||||||
|
{254,293,407,118,54,296,160,231,4,4,93,2,2,2,2,2,60,61,2,2,120,127,127,127,88,88,88,88,88,88,88,88},
|
||||||
|
{341,78,336,263,281,164,99,334,296,114,109,2,163,163,163,163,2,2,2,2,2,2,2,125,125,292,292,292,292,125,125,125},
|
||||||
|
{355,87,212,100,89,210,133,344,120,45,45,138,138,138,138,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{274,141,46,219,158,284,38,79,73,185,35,6,81,2,2,2,2,53,2,2,81,81,2,81,2,2,2,53,53,53,53,53},
|
||||||
|
{349,303,439,19,95,240,174,191,2,162,162,2,2,2,76,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{360,91,201,205,67,181,59,77,2,44,103,103,103,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,125},
|
||||||
|
{283,154,261,91,77,147,227,105,116,311,256,256,2,116,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,32,2},
|
||||||
|
{287,288,111,89,249,370,55,16,248,67,67,115,2,2,134,134,2,2,2,2,2,2,2,2,2,2,2,2,2,22,22,22},
|
||||||
|
{284,270,282,37,29,181,160,49,285,285,374,250,2,374,374,2,2,2,179,179,35,2,179,179,2,179,179,2,2,285,285,285},
|
||||||
|
{359,305,52,36,243,231,7,92,2,68,68,307,62,45,2,2,112,311,311,311,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{288,119,218,137,364,38,27,380,2,2,211,23,33,2,2,2,2,2,225,225,225,2,2,225,225,225,2,2,2,2,2,2},
|
||||||
|
{277,155,232,309,370,365,348,75,214,214,214,4,4,2,2,2,210,210,210,210,210,210,210,2,2,2,2,2,2,2,2,2},
|
||||||
|
{292,204,91,41,124,190,107,322,125,125,125,125,125,25,25,62,2,2,146,146,2,2,62,146,2,146,114,146,114,2,2,2},
|
||||||
|
{282,195,192,409,68,99,253,106,2,2,2,231,55,55,2,323,323,55,55,285,285,285,285,2,2,2,2,2,2,285,285,323},
|
||||||
|
{299,122,174,403,113,77,63,275,2,2,2,138,276,227,38,227,2,237,2,2,2,2,2,2,2,2,2,2,352,352,352,2},
|
||||||
|
{282,222,268,86,21,109,353,408,2,2,2,2,135,12,12,216,241,241,241,241,241,241,241,241,241,303,303,303,135,135,135,2},
|
||||||
|
{374,94,89,257,137,246,186,196,2,2,2,2,2,454,122,122,122,122,2,2,2,28,28,94,94,94,94,94,122,122,122,122},
|
||||||
|
{288,92,62,428,122,153,481,66,2,2,2,250,250,177,177,177,177,279,279,279,279,279,279,279,2,2,279,177,177,177,177,177},
|
||||||
|
{288,370,141,284,207,192,450,67,2,2,2,183,217,217,217,183,183,167,202,202,202,202,167,167,2,2,2,164,164,80,167,167},
|
||||||
|
{286,293,199,39,158,332,242,103,2,2,2,408,266,315,2,2,365,253,315,315,315,315,315,2,2,315,2,2,2,2,2,2},
|
||||||
|
{407,83,435,187,40,16,52,65,2,2,244,39,77,119,119,2,2,2,119,342,342,2,2,2,2,2,342,2,2,58,58,119},
|
||||||
|
{398,88,78,57,260,203,203,43,131,131,131,204,204,322,204,2,102,2,325,325,325,325,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{390,174,70,155,163,67,225,49,2,34,34,151,151,2,2,111,2,2,111,111,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{393,129,393,169,23,192,168,47,2,2,312,150,71,2,150,2,2,2,61,2,2,61,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{408,136,71,63,63,159,222,68,181,181,124,227,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{294,169,79,242,160,123,178,290,186,186,56,399,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{415,228,69,68,193,122,21,362,33,22,362,57,2,2,2,2,46,46,196,196,196,2,196,196,196,2,196,2,2,2,2,2},
|
||||||
|
{415,130,241,185,312,175,309,199,94,281,47,47,2,2,2,2,206,307,221,2,2,2,2,2,239,239,239,239,239,206,206,206},
|
||||||
|
{417,238,147,165,346,19,92,164,266,291,291,43,2,2,2,345,2,2,2,345,345,2,2,2,2,2,345,2,2,2,2,2},
|
||||||
|
{456,192,86,182,35,174,342,102,210,210,210,393,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,256,256,158},
|
||||||
|
{307,255,92,38,325,61,103,246,176,319,80,89,2,241,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{432,168,63,154,166,46,479,145,144,288,288,288,288,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{341,256,113,85,188,233,161,29,110,167,91,91,253,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{311,360,312,158,73,16,106,209,472,48,24,203,203,2,2,2,2,234,234,234,2,234,234,203,2,2,2,234,234,234,234,234},
|
||||||
|
{437,196,161,100,132,246,395,187,35,35,35,2,2,35,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{438,174,338,145,155,276,422,374,4,463,463,99,224,70,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{426,225,211,130,325,283,353,96,282,23,299,2,2,2,63,63,2,276,276,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{430,101,288,38,200,332,325,193,123,123,88,2,2,2,2,2,231,231,139,139,139,139,139,139,139,139,139,139,139,139,139,139},
|
||||||
|
{434,143,308,389,365,363,174,63,121,125,260,2,2,260,260,2,2,2,2,2,2,2,2,2,2,258,2,2,2,258,2,2},
|
||||||
|
{453,123,201,141,229,223,234,494,102,102,102,2,2,102,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,252},
|
||||||
|
{438,168,65,264,304,74,168,88,114,132,187,2,127,127,2,2,2,2,2,81,81,56,2,2,2,307,2,2,2,2,81,81},
|
||||||
|
{324,181,141,129,33,171,173,291,227,373,52,301,301,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{448,119,431,111,135,50,242,95,148,49,49,49,68,2,2,2,2,2,2,2,2,49,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{335,114,55,47,33,173,287,345,198,198,136,238,238,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{468,377,243,237,332,512,27,167,22,169,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{456,162,188,223,408,209,28,164,299,299,258,186,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{445,391,115,226,96,456,239,214,556,158,158,282,2,2,2,2,2,2,2,2,2,2,2,2,2,331,2,2,2,2,2,2},
|
||||||
|
{360,397,130,172,407,479,295,13,38,199,199,346,2,2,2,2,2,2,145,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{512,136,129,361,180,61,274,128,422,27,292,165,2,2,2,2,2,2,363,117,117,117,117,2,2,2,2,363,2,2,2,2},
|
||||||
|
{478,433,483,302,200,227,273,27,171,171,371,102,2,2,2,2,2,20,2,2,2,2,2,2,2,2,403,403,2,2,2,2},
|
||||||
|
{485,158,454,86,212,60,93,40,209,188,188,106,2,231,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{390,448,111,145,47,555,367,317,315,52,429,435,429,429,2,2,2,2,2,2,2,2,229,2,2,229,2,2,2,229,2,2},
|
||||||
|
{490,331,187,398,407,373,497,219,423,423,378,378,2,419,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{474,373,248,330,40,113,105,273,103,407,2,165,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{495,406,306,239,172,323,236,50,37,435,2,310,56,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{397,393,191,269,462,151,264,134,307,307,2,163,163,2,2,2,2,2,2,2,2,2,2,2,2,2,159,2,2,2,2,2},
|
||||||
|
{485,491,325,149,122,145,228,100,311,64,2,62,137,2,137,2,2,2,2,2,2,2,392,2,2,2,2,2,2,2,2,2},
|
||||||
|
{364,462,360,383,182,187,123,69,129,146,2,156,149,2,149,2,2,2,2,2,2,2,303,303,303,2,2,2,2,2,149,266},
|
||||||
|
{507,195,130,401,363,171,483,20,86,464,2,89,89,2,26,2,2,2,2,2,425,425,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{380,220,87,122,242,78,207,371,95,305,2,2,2,2,440,440,445,358,358,331,331,358,445,445,445,445,445,445,445,445,445,445},
|
||||||
|
{507,221,247,137,182,90,28,207,325,438,2,2,2,2,2,187,232,438,2,2,68,37,37,37,37,37,37,37,37,37,161,2},
|
||||||
|
{509,265,101,126,203,86,152,416,352,85,2,2,2,284,391,368,2,2,152,2,2,2,325,2,2,2,2,2,2,2,2,2},
|
||||||
|
{572,359,332,480,68,535,59,504,365,21,2,2,246,54,246,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{415,178,178,372,415,400,73,82,348,99,2,23,325,44,2,2,2,2,2,2,2,2,325,2,2,2,2,2,2,2,2,2},
|
||||||
|
{430,275,236,361,42,552,368,236,653,74,65,458,288,307,307,2,2,2,2,2,2,2,65,65,2,2,2,2,2,2,2,2},
|
||||||
|
{434,139,58,437,130,441,188,15,63,145,145,145,300,2,2,2,2,300,2,2,2,2,2,2,2,2,401,401,401,401,401,401},
|
||||||
|
{542,138,266,514,552,202,103,197,574,48,2,96,96,2,2,96,96,217,2,2,2,2,2,2,2,2,2,2,2,2,2,217},
|
||||||
|
{546,494,72,272,550,219,213,209,169,404,69,464,86,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{602,466,332,458,99,244,255,183,446,670,2,186,323,2,2,2,2,2,2,2,2,2,2,2,2,2,2,292,165,165,165,165},
|
||||||
|
{422,413,561,110,242,62,436,478,18,150,606,88,643,2,249,2,2,2,2,456,2,2,2,2,2,2,2,2,2,2,2,456},
|
||||||
|
{522,141,154,253,264,53,120,93,274,52,44,203,556,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{600,249,375,555,421,322,317,84,517,517,268,106,353,2,2,2,2,2,2,2,2,2,268,2,2,2,2,2,2,302,2,2},
|
||||||
|
{555,516,310,438,290,559,52,265,248,193,285,441,285,285,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{555,300,232,386,470,300,355,177,57,407,450,279,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{544,177,79,306,256,402,205,496,398,115,115,43,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{534,274,194,220,575,81,206,544,341,85,137,429,429,429,429,344,2,2,2,2,2,315,315,315,315,315,315,72,72,72,2,2},
|
||||||
|
{548,538,508,250,539,102,73,285,119,433,480,480,2,2,2,480,480,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{622,526,294,56,498,176,237,351,25,26,474,55,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{446,163,469,481,240,278,51,373,491,13,22,419,2,2,2,2,2,2,2,2,2,176,176,2,2,2,2,2,2,2,2,2},
|
||||||
|
{445,223,102,108,120,166,68,214,737,504,96,96,206,377,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,39,39,528},
|
||||||
|
{453,121,489,84,434,505,78,575,468,372,468,468,83,468,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{425,355,128,58,194,82,438,117,10,34,34,35,112,107,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{432,479,328,443,253,634,271,429,406,543,406,543,543,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{456,383,487,311,57,579,673,264,582,187,184,43,43,2,2,2,2,501,501,501,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{437,561,384,619,363,420,614,117,217,247,405,142,142,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{437,133,516,423,305,90,135,25,266,487,6,286,286,2,2,2,2,2,2,2,2,2,2,2,2,510,510,2,2,2,2,2},
|
||||||
|
{463,341,170,401,178,79,305,98,162,166,32,392,335,335,335,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{610,477,478,516,318,184,267,423,190,494,494,2,336,336,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{590,463,461,162,162,622,167,254,29,377,377,75,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{629,225,67,623,298,588,354,49,41,185,176,63,63,63,2,2,2,2,2,2,2,2,2,2,2,2,8,435,32,32,435,435},
|
||||||
|
{448,126,129,168,209,340,40,96,509,509,509,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{635,212,284,356,187,591,275,361,194,317,488,2,2,2,2,2,2,97,6,2,6,247,2,2,2,2,2,2,2,2,2,6},
|
||||||
|
{612,395,104,86,264,321,521,325,252,53,178,100,100,100,16,343,343,343,343,343,2,2,2,2,2,2,2,2,2,343,343,343},
|
||||||
|
{486,428,287,472,292,141,504,178,585,98,282,2,2,2,2,2,2,2,2,2,2,2,2,284,284,284,78,284,2,2,2,2},
|
||||||
|
{612,327,212,565,450,385,201,649,423,491,106,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{462,579,236,447,60,162,427,258,73,742,742,2,742,742,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{495,440,89,439,65,207,459,407,139,131,624,2,380,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{469,507,276,227,66,237,260,386,27,666,31,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{646,393,273,238,24,13,253,127,368,316,316,316,150,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{626,196,111,465,386,431,181,414,614,391,349,318,389,2,389,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{653,169,261,533,488,282,213,443,337,480,503,174,534,2,2,2,2,2,534,2,2,2,2,534,2,2,2,2,534,2,2,2},
|
||||||
|
{670,555,160,90,604,604,50,459,376,545,316,180,526,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{642,160,702,90,157,254,278,521,650,277,74,554,122,2,2,2,2,2,2,517,174,174,174,2,2,2,2,2,2,2,2,2},
|
||||||
|
{678,254,190,197,637,49,130,25,374,357,357,411,643,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,537,2,2},
|
||||||
|
{512,347,65,546,434,87,18,123,672,412,316,6,699,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{657,233,108,38,147,53,136,168,408,477,477,279,268,289,2,2,2,2,2,2,289,2,2,2,2,2,2,2,2,289,289,2},
|
||||||
|
{660,624,376,472,165,66,158,308,492,779,305,305,2,576,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{408,348,216,299,302,668,347,63,172,141,272,168,678,2,2,2,512,2,2,2,2,4,2,2,2,494,64,64,64,128,16,512},
|
||||||
|
{669,421,230,70,212,845,237,347,148,76,823,472,2,2,2,132,2,2,2,2,2,2,2,383,132,383,2,2,383,383,383,383},
|
||||||
|
{693,530,139,82,780,416,270,278,330,484,484,200,2,2,2,2,137,94,2,2,2,2,2,2,2,2,484,2,2,2,2,2},
|
||||||
|
{672,150,164,622,196,75,302,119,42,314,314,132,60,60,60,298,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{705,302,411,705,691,160,809,40,32,867,826,826,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{684,229,138,46,407,399,82,254,267,31,31,45,2,209,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{707,323,409,27,31,157,492,463,886,412,251,251,304,190,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{555,543,434,78,850,174,277,194,4,100,471,69,69,424,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{793,279,264,566,252,495,872,492,482,107,294,503,350,350,2,2,2,2,2,2,2,285,285,273,273,273,273,2,2,2,2,2},
|
||||||
|
{703,427,225,320,136,47,103,547,239,217,73,68,68,204,204,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{703,312,472,588,228,512,386,668,477,617,389,389,389,2,296,2,2,2,2,343,343,2,2,343,343,2,2,617,617,617,617,2},
|
||||||
|
{709,509,697,145,252,194,304,192,192,623,623,4,423,2,2,2,199,423,2,2,2,222,222,2,2,623,623,623,623,623,2,222},
|
||||||
|
{587,453,117,107,672,86,248,568,568,294,294,513,78,2,2,164,82,2,2,2,2,22,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{741,466,378,135,737,131,159,469,59,2,59,59,187,2,204,2,2,2,2,2,2,2,2,2,798,2,2,798,798,798,798,798},
|
||||||
|
{539,310,463,103,553,45,609,326,197,2,62,113,272,2,62,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{750,703,182,242,92,335,272,466,594,2,701,569,474,129,140,140,2,507,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{547,210,113,361,584,121,65,307,98,2,2,552,514,514,2,514,207,514,514,514,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{580,145,358,434,630,73,604,366,366,2,2,398,398,207,2,207,487,2,2,487,207,2,2,207,207,207,2,2,2,2,207,207},
|
||||||
|
{765,421,129,298,867,365,222,476,401,142,90,22,22,88,226,657,2,2,477,2,2,2,2,2,226,226,2,226,2,2,2,226},
|
||||||
|
{587,553,360,539,227,800,312,143,536,2,2,2,64,64,64,2,2,2,179,179,493,2,2,184,184,184,58,2,2,2,493,493},
|
||||||
|
{841,222,158,469,253,91,347,241,766,2,2,2,88,88,88,439,439,439,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{462,653,478,67,269,150,474,711,220,669,669,669,669,669,390,352,325,2,229,545,545,545,545,545,545,545,545,2,545,352,309,352},
|
||||||
|
{468,430,849,689,202,427,45,34,105,2,2,2,2,4,4,4,4,4,4,4,2,2,2,4,4,4,4,4,2,2,2,2},
|
||||||
|
{792,169,306,843,246,123,293,229,483,2,2,2,165,163,163,163,163,440,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{563,325,717,766,440,705,290,123,228,2,2,2,32,64,146,2,2,2,116,79,79,2,146,146,79,79,79,2,2,146,146,79},
|
||||||
|
{802,533,869,638,67,192,805,223,219,2,2,191,178,178,77,77,2,2,2,2,431,431,2,2,2,431,431,2,2,431,2,2},
|
||||||
|
{781,638,410,399,336,465,856,426,28,2,4,4,6,6,2,2,2,449,372,372,449,449,449,2,2,449,449,449,449,449,449,2},
|
||||||
|
{780,359,766,618,41,596,86,636,287,707,707,96,49,373,613,373,2,2,2,2,2,2,2,613,613,613,2,2,2,2,2,2},
|
||||||
|
{622,309,913,550,994,90,257,588,29,526,526,526,496,496,576,2,2,2,2,2,182,182,182,2,2,447,447,447,447,447,447,182},
|
||||||
|
{593,411,953,203,89,57,785,354,349,424,424,707,707,707,829,2,2,2,2,2,670,670,670,2,2,424,424,424,2,2,670,424},
|
||||||
|
{629,560,621,245,683,633,495,551,472,2,31,74,489,684,555,684,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{901,490,693,410,666,119,703,593,201,61,70,70,774,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,418,418},
|
||||||
|
{669,321,391,548,189,157,337,42,796,871,276,622,30,2,2,2,2,2,2,2,580,580,107,2,2,2,2,2,434,434,434,434},
|
||||||
|
{610,236,633,300,681,358,72,281,148,466,466,283,275,2,386,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{859,584,475,745,506,900,40,869,143,612,175,275,209,12,12,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{822,581,76,382,72,347,964,324,137,61,61,28,623,351,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{867,820,301,252,61,331,105,309,562,218,365,326,768,672,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{859,844,510,859,118,190,550,29,159,622,622,382,258,382,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{843,730,235,233,816,495,598,134,131,604,227,378,378,553,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{670,595,333,257,907,413,548,341,327,350,612,700,700,700,700,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{877,181,375,79,199,256,223,295,135,371,395,354,2,307,944,2,813,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{708,442,186,698,345,103,687,463,163,416,416,107,2,2,2,375,375,416,6,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{865,675,786,568,112,197,225,348,372,497,215,215,2,2,2,2,159,159,150,224,224,141,2,2,2,2,141,141,141,141,141,141},
|
||||||
|
{898,559,396,742,51,143,411,221,116,756,756,756,2,2,2,701,701,2,2,2,2,240,225,256,322,322,240,240,240,240,240,322},
|
||||||
|
{982,579,548,413,416,103,71,101,1039,526,684,684,2,2,656,2,2,2,2,2,2,2,2,2,2,2,656,656,656,2,656,656},
|
||||||
|
{642,757,247,513,372,54,546,971,271,61,61,1018,2,143,332,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{865,827,614,74,725,685,724,190,178,272,835,722,2,35,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{718,359,103,558,684,560,67,35,120,342,680,265,265,265,2,2,265,2,2,2,2,2,2,2,2,2,430,2,2,2,2,2},
|
||||||
|
{900,455,485,601,353,69,67,965,25,226,314,314,883,923,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{912,516,108,555,306,274,55,197,565,174,659,208,441,441,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{940,226,320,666,269,54,542,174,109,290,754,524,649,2,202,2,2,2,2,2,2,2,776,202,776,776,776,2,2,202,202,202},
|
||||||
|
{672,652,792,253,796,404,171,90,406,433,43,159,72,2,2,372,2,540,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{733,439,537,37,149,650,916,443,743,621,921,664,664,2,2,2,2,2,682,523,523,523,2,2,523,523,523,523,523,523,523,523},
|
||||||
|
{982,344,812,567,243,52,246,369,439,205,600,739,730,2,2,2,61,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{936,409,217,57,574,395,481,245,548,268,447,598,375,2,192,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{755,796,877,981,259,194,1180,215,90,658,662,662,662,2,36,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{949,422,941,491,66,786,592,429,307,123,40,478,478,478,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1077,496,819,340,974,122,39,1209,819,18,461,648,648,394,2,2,2,2,2,2,61,2,2,2,2,2,394,2,2,2,2,394},
|
||||||
|
{1083,356,367,357,559,213,606,477,71,103,790,103,299,299,2,2,2,2,2,2,406,406,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{738,749,769,610,306,326,328,578,479,840,840,840,68,192,2,150,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1094,640,912,223,67,472,623,623,1244,65,1009,1209,1209,812,387,2,2,2,513,2,2,2,2,2,2,2,2,2,2,2,1209,234},
|
||||||
|
{1028,730,807,119,209,146,230,498,164,309,309,2,2,2,693,912,430,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{802,298,672,424,104,623,152,159,476,760,66,2,2,2,215,215,490,490,490,2,2,2,2,2,490,490,490,490,490,490,490,490},
|
||||||
|
{1004,719,1041,460,551,516,135,417,130,698,698,2,2,2,655,655,655,655,655,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{818,301,273,664,206,971,895,590,912,523,523,2,2,452,384,255,2,130,130,130,130,865,2,2,2,255,2,2,2,2,2,2},
|
||||||
|
{1078,527,589,244,170,892,827,606,1165,773,189,2,2,240,22,2,2,2,2,2,2,759,621,621,621,621,621,621,621,621,621,621},
|
||||||
|
{1157,395,446,280,1130,695,668,271,111,882,477,615,615,615,2,2,2,2,2,2,2,2,615,615,615,615,615,615,615,2,305,2},
|
||||||
|
{1050,749,809,479,87,757,288,172,597,722,4,418,418,390,2,2,2,2,2,390,390,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1057,385,263,395,901,274,727,340,1117,263,813,870,858,429,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1120,665,311,695,319,1033,511,297,602,1030,1030,714,240,240,2,2,2,2,2,2,2,2,2,2,2,2,2,953,2,2,2,2},
|
||||||
|
{1120,1159,358,347,838,207,357,167,476,52,672,38,822,2,2,2,2,2,2,213,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{820,461,681,382,273,273,358,274,274,91,887,676,386,2,676,676,2,2,2,2,2,2,2,200,2,2,2,2,200,2,2,2},
|
||||||
|
{1148,585,868,1282,666,417,733,1231,515,332,1213,337,337,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{898,782,478,1208,196,983,608,537,196,1141,141,296,715,715,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1142,370,287,925,307,1232,129,11,1284,1056,33,33,536,521,2,1286,2,2,2,2,2,2,2,2,2,2,2,2,847,847,847,847},
|
||||||
|
{1192,555,586,516,1288,733,64,653,364,273,421,215,75,75,2,2,2,2,2,2,953,953,953,953,8,383,383,2,161,383,953,953},
|
||||||
|
{966,590,140,297,189,844,633,12,847,742,742,244,281,34,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1247,353,973,217,1044,1318,1115,319,203,390,1244,225,2,2,508,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1015,593,112,1408,51,104,199,221,931,1010,928,928,2,2,878,878,2,2,2,2,731,731,2,731,731,2,731,2,731,731,731,2}
|
||||||
|
};
|
571
src/external/libCuba/src/divonne/KorobovCoeff.c-5879
vendored
Normal file
571
src/external/libCuba/src/divonne/KorobovCoeff.c-5879
vendored
Normal file
@ -0,0 +1,571 @@
|
|||||||
|
#define KOROBOV_MINDIM 2
|
||||||
|
#define KOROBOV_MAXDIM 33
|
||||||
|
#define MAXPRIME 5879
|
||||||
|
|
||||||
|
#define Hash(x) ((12013 - x)*(-47 + x))/68400
|
||||||
|
|
||||||
|
static int prime[] = {
|
||||||
|
FIRST,47,53,59,67,71,73,83,89,97,101,103,109,113,127,131,137,139,149,
|
||||||
|
151,157,163,167,173,179,181,191,197,199,211,223,227,229,233,239,241,251,
|
||||||
|
257,263,269,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,
|
||||||
|
373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,
|
||||||
|
479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,
|
||||||
|
601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,
|
||||||
|
719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,
|
||||||
|
839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,
|
||||||
|
971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,
|
||||||
|
1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,
|
||||||
|
1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,
|
||||||
|
1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,
|
||||||
|
1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,
|
||||||
|
1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,
|
||||||
|
1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,
|
||||||
|
1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,
|
||||||
|
1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,
|
||||||
|
1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,
|
||||||
|
2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,
|
||||||
|
2113,2129,2131,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,
|
||||||
|
2243,2251,2267,2269,2273,2281,2293,2297,2309,2311,2333,2339,2347,2357,
|
||||||
|
2371,2377,2383,2393,2399,2411,2423,2437,2441,2447,2459,2467,2477,2503,
|
||||||
|
2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,
|
||||||
|
2647,2657,2659,2671,2677,2687,2699,2707,2719,2729,2741,2749,2753,2767,
|
||||||
|
2777,2791,2803,2819,2833,2837,2843,2857,2861,2879,2887,2897,2909,2917,
|
||||||
|
2927,2939,2953,2963,2971,2999,3001,3011,3023,3037,3041,3061,3067,3079,
|
||||||
|
3089,3109,3119,3121,3137,3163,3167,3169,3187,3191,3209,3221,3229,3251,
|
||||||
|
3259,3271,3299,3301,3307,3319,3331,3347,3359,3371,3389,3391,3413,3433,
|
||||||
|
3449,3457,3463,3469,3491,3499,3517,3529,3547,3559,3571,3583,3593,3613,
|
||||||
|
3631,3643,3659,3671,3691,3701,3719,3733,3739,3761,3779,3793,3803,3821,
|
||||||
|
3833,3853,3863,3881,3907,3917,3931,3947,3967,3989,4001,4013,4027,4049,
|
||||||
|
4073,4079,4099,4127,4139,4157,4177,4201,4211,4231,4253,4271,4289,4297,
|
||||||
|
4327,4349,4373,4391,4409,4423,4451,4481,4493,4519,4547,4567,4591,4621,
|
||||||
|
4637,4663,4691,4721,4733,4759,4793,4817,4861,4877,4909,4943,4973,5003,
|
||||||
|
5039,5077,5113,5147,5189,5231,5273,5323,5381,5431,5483,5557,5623,5737,
|
||||||
|
MarkLast(5879)
|
||||||
|
};
|
||||||
|
|
||||||
|
static short coeff[][32] = {
|
||||||
|
{13,11,10,3,9,2,2,2,2,9,2,2,7,2,2,2,2,2,2,6,2,2,2,13,11,10,3,9,2,2,2,2},
|
||||||
|
{23,17,12,11,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,12,12,14,14,14},
|
||||||
|
{18,14,5,14,2,2,19,19,25,25,18,18,18,2,2,2,2,2,2,2,2,2,2,2,25,6,2,2,2,18,14,5},
|
||||||
|
{18,13,23,5,2,12,6,12,12,12,10,10,16,2,16,16,2,2,2,2,2,2,2,10,2,2,2,2,10,2,2,2},
|
||||||
|
{21,22,7,21,2,20,20,2,2,2,2,22,2,2,2,2,2,2,2,6,6,21,2,2,2,2,2,2,2,2,6,6},
|
||||||
|
{27,14,10,14,2,4,13,2,2,16,4,4,4,6,6,6,6,6,6,25,25,31,31,15,31,2,2,31,15,14,14,6},
|
||||||
|
{30,19,24,16,22,8,2,2,22,5,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{34,28,13,28,27,27,2,4,2,2,2,16,16,4,20,20,36,20,36,5,5,5,36,36,5,5,5,7,5,7,7,2},
|
||||||
|
{35,19,33,8,21,30,8,2,4,2,4,4,2,2,2,2,2,2,2,2,2,17,2,2,11,25,11,17,17,17,17,17},
|
||||||
|
{39,40,15,21,11,26,13,2,2,13,2,2,2,2,2,2,2,2,2,2,26,26,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{37,21,35,29,27,19,19,2,2,2,5,15,2,2,15,15,19,19,19,19,19,2,2,2,2,2,19,2,2,2,2,2},
|
||||||
|
{45,44,13,25,17,47,30,2,30,2,2,2,2,2,2,2,2,2,19,19,19,17,17,2,2,2,2,2,2,2,2,2},
|
||||||
|
{35,22,37,9,35,12,35,8,2,2,50,50,2,2,32,32,32,31,13,8,8,8,2,22,50,9,9,9,22,22,22,10},
|
||||||
|
{29,24,43,36,49,2,2,8,4,25,49,25,2,2,8,10,10,10,5,5,5,40,10,33,40,40,2,27,10,25,25,25},
|
||||||
|
{50,18,32,39,21,2,2,2,4,4,36,36,14,14,14,14,2,2,2,17,17,17,16,16,2,14,14,14,14,2,2,2},
|
||||||
|
{31,28,45,20,18,43,43,13,28,2,2,2,31,31,31,31,31,2,2,2,43,43,2,2,2,2,2,2,2,2,30,2},
|
||||||
|
{39,15,41,7,24,2,2,30,40,2,2,25,25,25,25,2,2,2,2,2,2,6,6,2,25,2,5,2,2,25,2,2},
|
||||||
|
{44,20,29,39,7,21,21,21,2,2,45,2,2,2,49,49,49,49,49,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{56,20,22,13,18,35,35,6,2,4,2,4,2,2,2,23,16,16,4,23,2,34,52,2,34,2,4,2,2,2,23,16},
|
||||||
|
{46,32,17,18,29,27,31,31,31,2,2,4,15,2,2,2,2,2,2,2,2,2,2,2,2,2,23,32,32,32,15,15},
|
||||||
|
{62,42,43,17,23,13,13,2,2,13,2,2,2,2,2,2,2,10,2,2,2,2,9,10,2,2,2,19,9,9,9,9},
|
||||||
|
{46,49,49,52,27,7,20,2,2,6,6,13,13,13,2,13,13,2,2,2,2,2,2,34,34,2,2,2,2,2,2,2},
|
||||||
|
{64,34,16,28,16,51,47,2,2,2,6,18,39,39,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,12,2},
|
||||||
|
{74,26,44,25,50,24,54,39,58,42,2,42,42,2,2,2,2,2,2,2,2,33,33,2,2,39,11,2,2,58,39,58},
|
||||||
|
{70,22,50,22,16,9,25,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{74,21,17,25,35,33,10,2,10,20,20,57,57,57,2,2,57,2,2,2,2,2,2,2,13,2,2,2,2,2,2,2},
|
||||||
|
{71,68,68,27,71,39,81,44,2,2,2,12,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{55,30,85,42,16,36,45,67,2,2,68,2,2,2,2,2,2,2,68,10,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{64,17,24,26,49,12,10,39,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,59,2,2},
|
||||||
|
{68,57,23,38,61,38,13,13,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,68,15,2,44,44,44,2,2,2},
|
||||||
|
{94,28,58,29,13,5,15,8,66,2,2,2,39,39,15,66,2,2,6,6,2,2,66,66,66,66,2,2,2,2,2,66},
|
||||||
|
{94,85,9,41,41,37,29,29,17,2,2,2,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,8,8},
|
||||||
|
{89,32,75,77,77,13,2,30,30,2,2,2,2,2,2,2,2,2,2,67,67,2,2,2,2,2,2,2,2,8,19,32},
|
||||||
|
{70,45,58,63,67,10,72,72,70,6,2,36,2,70,70,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{101,33,76,13,45,63,2,2,6,19,2,2,32,32,32,32,32,65,2,63,63,11,11,11,19,19,19,19,9,63,63,63},
|
||||||
|
{70,89,44,37,19,45,2,2,2,8,10,8,54,54,80,80,80,80,80,2,116,2,116,2,2,80,40,51,100,100,8,2},
|
||||||
|
{71,54,83,51,42,98,2,2,8,8,14,30,93,22,15,15,30,30,30,44,44,44,2,2,22,22,22,117,44,11,11,11},
|
||||||
|
{109,37,51,113,17,10,2,2,17,17,55,2,55,55,55,55,55,55,2,2,2,57,48,48,55,55,2,2,55,2,2,55},
|
||||||
|
{75,38,68,89,11,52,2,2,81,39,2,38,2,2,2,2,2,2,2,2,2,2,2,19,2,2,2,2,2,2,2,2},
|
||||||
|
{81,84,35,34,20,93,2,12,12,12,2,96,2,96,96,2,96,2,2,2,2,2,2,2,2,2,2,2,2,56,56,56},
|
||||||
|
{109,72,60,96,67,32,85,84,27,91,91,2,10,29,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{104,32,56,46,77,11,35,35,24,56,19,2,2,2,78,2,2,75,2,2,2,2,78,2,2,2,2,2,2,2,2,2},
|
||||||
|
{81,103,25,35,28,15,20,20,20,2,2,2,2,20,20,20,107,107,2,2,2,2,2,2,2,2,2,2,2,2,13,13},
|
||||||
|
{119,75,42,29,74,23,54,36,39,2,2,4,4,19,19,2,2,2,2,2,2,2,2,54,2,2,2,2,2,2,2,54},
|
||||||
|
{115,73,22,102,75,138,16,73,50,16,2,50,2,2,2,133,2,2,2,2,2,2,2,2,2,2,2,2,2,33,33,33},
|
||||||
|
{119,48,66,51,14,22,20,20,2,2,2,2,2,60,2,2,2,2,2,2,2,2,60,2,2,2,2,2,2,60,2,65},
|
||||||
|
{121,94,80,29,51,69,42,36,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,17,2,2},
|
||||||
|
{129,123,41,79,43,34,24,11,2,2,4,2,2,2,2,75,16,16,16,75,75,75,16,16,16,25,2,99,2,2,75,16},
|
||||||
|
{128,33,35,68,22,8,62,94,2,2,2,62,62,2,98,2,2,4,98,2,2,32,81,32,32,32,98,98,98,98,98,98},
|
||||||
|
{101,109,154,15,57,6,27,36,2,2,37,37,2,2,2,2,2,2,2,107,2,2,2,107,107,2,2,2,2,2,2,2},
|
||||||
|
{106,40,24,38,61,118,106,106,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{149,111,58,79,127,13,41,33,27,16,30,2,61,2,72,2,2,2,2,2,2,2,2,2,2,2,2,75,75,2,2,2},
|
||||||
|
{105,92,43,156,25,53,57,115,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{99,40,62,67,66,29,99,99,99,78,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,79},
|
||||||
|
{109,42,96,95,66,41,103,84,13,103,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{111,72,16,89,25,86,117,29,14,14,2,2,2,2,2,60,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{106,72,49,94,140,44,97,157,75,2,2,4,123,123,2,2,123,123,123,123,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{115,67,74,32,43,50,21,36,135,36,85,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{151,71,157,42,41,37,80,27,18,2,2,2,2,2,2,2,2,2,2,2,2,2,115,128,128,128,128,128,32,2,128,80},
|
||||||
|
{119,91,38,30,92,44,32,76,22,2,34,2,2,2,2,2,2,2,2,2,2,2,2,2,2,129,2,2,129,2,2,2},
|
||||||
|
{121,126,31,52,120,37,57,10,171,2,2,2,2,35,35,35,2,2,97,97,97,97,97,97,97,35,35,35,97,97,97,2},
|
||||||
|
{155,86,49,104,87,94,64,45,61,91,91,91,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{164,121,44,166,47,33,7,15,13,2,2,122,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{128,120,133,17,71,52,25,107,42,21,21,2,2,2,2,4,4,96,2,9,9,2,9,94,94,94,94,94,94,94,94,96},
|
||||||
|
{179,82,157,76,61,35,13,90,197,2,69,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,39,39},
|
||||||
|
{136,136,148,63,66,10,169,95,95,163,30,28,28,2,41,130,2,2,2,21,2,2,2,2,2,2,2,2,2,2,2,36},
|
||||||
|
{131,40,112,63,55,30,53,79,79,79,2,79,2,2,2,2,2,79,2,2,2,2,14,36,2,21,21,21,21,2,2,91},
|
||||||
|
{165,81,92,48,9,110,12,40,40,34,2,2,2,107,107,107,2,107,2,2,2,2,2,2,2,2,2,2,2,15,41,41},
|
||||||
|
{169,66,170,97,35,56,55,86,32,32,2,2,2,2,14,2,40,2,37,2,2,37,40,40,40,2,2,2,37,37,37,37},
|
||||||
|
{135,63,126,156,70,18,49,143,6,117,2,109,109,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{179,104,117,56,132,56,190,130,130,15,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{193,59,51,68,68,15,170,170,170,143,143,12,2,2,2,63,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{145,101,56,65,23,76,110,2,4,4,4,146,146,146,2,146,2,2,2,2,2,2,2,2,2,2,2,2,2,2,146,146},
|
||||||
|
{144,129,26,98,36,46,47,52,52,52,82,2,2,2,2,2,17,2,2,2,2,2,2,2,2,2,2,2,2,91,2,2},
|
||||||
|
{145,78,166,171,56,20,63,2,2,33,33,33,33,2,78,47,47,47,47,47,2,2,2,2,2,78,78,78,2,2,2,2},
|
||||||
|
{191,69,176,54,47,75,167,2,2,2,188,188,188,30,30,2,67,67,117,2,117,117,117,2,2,36,2,2,2,2,2,2},
|
||||||
|
{186,96,29,122,47,96,170,157,157,157,157,108,159,2,195,195,26,26,26,26,26,2,2,2,2,132,132,132,2,2,2,2},
|
||||||
|
{151,118,226,91,54,49,33,2,2,2,2,4,4,4,143,143,2,2,143,25,25,25,2,143,143,143,143,143,143,143,143,143},
|
||||||
|
{144,91,237,82,81,75,138,163,163,163,117,117,44,2,44,136,136,136,136,2,2,2,2,2,122,122,122,122,2,2,2,136},
|
||||||
|
{189,78,178,64,118,27,189,2,2,67,67,110,110,110,110,2,28,28,2,2,2,2,2,2,2,102,2,2,2,2,2,2},
|
||||||
|
{165,202,83,76,125,65,42,2,44,44,23,2,23,23,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{209,204,92,75,85,146,104,2,7,18,8,2,2,2,204,95,95,95,2,2,2,95,95,95,95,95,95,95,2,2,2,95},
|
||||||
|
{169,68,89,16,193,82,33,262,262,175,148,148,148,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{171,162,78,43,61,17,112,10,171,182,118,33,2,2,2,2,118,2,2,2,2,2,2,151,2,2,2,2,2,2,2,2},
|
||||||
|
{211,121,119,55,90,211,96,89,225,25,178,36,36,36,2,2,108,2,2,2,2,2,2,2,2,2,2,2,2,184,2,2},
|
||||||
|
{154,101,83,17,16,210,41,79,70,158,2,27,27,2,2,2,2,2,2,2,2,2,2,2,2,153,2,2,2,2,2,2},
|
||||||
|
{169,179,130,79,148,180,136,17,47,119,2,119,119,169,169,2,169,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{241,171,148,31,172,34,66,60,156,140,2,2,2,75,75,2,2,2,2,2,2,2,190,190,2,2,2,30,2,2,2,2},
|
||||||
|
{229,189,183,106,118,138,82,149,265,39,2,2,265,2,2,2,2,2,2,130,2,2,2,71,71,2,2,2,71,2,2,71},
|
||||||
|
{165,157,127,21,64,15,80,130,130,130,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,74,2},
|
||||||
|
{221,130,203,84,83,83,29,121,54,54,2,141,2,2,94,94,94,4,4,4,2,4,2,2,2,54,54,108,16,16,94,52},
|
||||||
|
{230,166,20,160,121,102,153,94,16,67,2,2,2,2,2,2,97,97,97,2,2,97,97,2,97,97,97,97,97,97,97,97},
|
||||||
|
{181,79,137,119,139,24,77,17,50,25,25,25,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{239,242,192,40,41,62,124,193,193,31,193,2,2,2,2,2,2,2,2,2,2,2,2,148,2,2,2,2,2,2,2,2},
|
||||||
|
{239,178,73,122,239,51,95,48,78,88,78,2,2,2,2,2,2,2,2,2,2,2,144,144,2,2,144,144,144,2,144,144},
|
||||||
|
{234,117,198,34,143,21,74,6,252,252,98,2,2,2,2,197,38,2,2,2,2,2,47,2,47,47,47,47,2,2,2,47},
|
||||||
|
{179,110,38,28,58,39,16,29,42,125,202,8,8,129,4,4,2,2,2,67,67,2,2,2,2,2,2,8,67,67,2,2},
|
||||||
|
{246,53,189,50,18,59,179,179,7,137,137,2,2,103,103,103,103,40,40,40,2,2,2,2,73,73,73,2,103,103,103,103},
|
||||||
|
{239,133,87,92,193,12,206,238,238,238,31,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{191,244,60,193,18,32,193,104,74,125,125,66,2,2,2,2,2,2,2,2,2,2,125,125,2,125,125,125,2,2,2,2},
|
||||||
|
{177,74,90,91,172,219,63,84,32,2,2,196,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{253,143,54,39,122,32,75,107,234,2,6,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{282,89,71,88,30,23,81,105,105,2,2,105,105,131,107,2,2,2,2,2,195,195,2,2,29,29,21,21,128,195,195,195},
|
||||||
|
{259,115,171,40,156,71,67,24,24,2,2,2,24,4,4,4,2,234,2,2,2,2,2,2,2,2,2,74,74,2,2,2},
|
||||||
|
{264,237,49,203,247,108,75,75,75,2,2,32,16,8,16,16,16,164,14,164,2,2,32,16,8,16,16,32,42,42,42,2},
|
||||||
|
{264,106,89,51,29,226,23,286,286,151,151,151,151,151,2,2,2,2,2,2,31,31,31,2,2,2,2,2,2,2,2,284},
|
||||||
|
{194,215,82,23,213,23,108,127,74,2,201,32,178,2,285,2,2,2,2,285,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{196,267,251,111,231,14,30,52,95,2,154,53,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{266,67,22,101,102,157,53,95,130,2,42,76,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{281,205,107,178,236,122,122,316,76,215,215,2,60,2,2,2,2,2,2,227,2,2,2,2,2,2,2,2,27,2,2,2},
|
||||||
|
{271,89,65,195,132,162,102,45,56,174,104,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{200,169,170,121,155,68,131,167,78,113,113,2,2,64,2,2,2,2,2,2,2,2,2,2,2,2,2,173,2,2,2,2},
|
||||||
|
{288,143,265,264,71,19,231,169,27,27,27,2,2,2,2,2,2,2,2,2,2,2,2,2,51,2,2,2,2,2,2,2},
|
||||||
|
{311,141,96,173,90,119,134,151,35,252,39,2,39,39,2,2,2,2,2,2,2,2,2,113,113,2,2,2,2,2,2,113},
|
||||||
|
{311,230,52,138,225,346,162,216,216,91,160,182,91,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{275,167,128,244,184,184,44,210,237,139,139,139,139,2,2,2,2,2,2,2,2,2,2,73,2,2,2,2,2,2,2,2},
|
||||||
|
{176,156,83,135,46,197,108,63,33,33,33,2,133,2,213,213,213,213,133,133,2,133,2,2,133,133,2,2,2,2,2,2},
|
||||||
|
{283,125,141,192,89,181,106,208,124,124,2,112,112,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{289,191,171,152,191,173,54,13,21,56,56,56,2,2,2,2,2,2,2,2,2,220,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{334,305,132,132,99,126,54,116,164,105,2,105,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,287,2,2,2,2},
|
||||||
|
{240,166,44,193,153,333,15,99,246,99,2,2,99,99,2,2,2,2,195,195,195,2,195,195,2,263,263,2,195,195,195,263},
|
||||||
|
{246,194,265,79,225,65,24,62,46,181,2,2,2,314,2,2,2,2,2,2,2,215,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{229,334,285,302,21,26,24,97,64,40,2,2,2,231,231,231,231,65,2,148,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{251,295,55,249,135,173,164,78,261,261,2,2,2,2,114,2,2,2,2,2,256,142,142,2,2,2,2,2,2,2,2,185},
|
||||||
|
{232,153,55,60,181,79,107,70,29,35,2,2,58,58,2,58,2,2,2,2,61,61,2,61,61,2,2,61,61,90,2,90},
|
||||||
|
{246,116,45,146,109,90,32,103,133,119,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{246,113,146,232,162,262,204,47,45,331,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{360,150,84,275,13,26,368,49,244,244,63,63,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{239,295,174,87,30,87,85,36,103,36,2,278,2,2,2,2,2,2,163,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{356,300,75,310,123,301,200,107,183,37,218,37,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{358,207,168,150,150,21,156,50,195,275,275,275,2,2,2,2,2,251,2,2,2,251,251,251,251,251,251,251,251,251,2,2},
|
||||||
|
{322,194,234,62,236,147,239,400,255,255,80,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{326,276,134,100,143,113,115,221,13,339,194,194,194,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{337,132,27,45,14,81,110,84,238,224,211,2,29,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{192,213,113,174,403,117,342,342,311,35,35,2,2,2,2,2,2,2,2,101,2,2,2,2,2,2,2,2,2,101,101,101},
|
||||||
|
{264,273,316,53,40,330,51,285,115,219,147,2,2,2,335,2,2,2,2,2,173,2,173,2,2,173,173,173,173,173,173,83},
|
||||||
|
{254,293,407,118,54,296,160,231,4,4,93,2,2,2,2,2,60,61,2,2,120,127,127,127,88,88,88,88,88,88,88,88},
|
||||||
|
{341,78,336,263,281,164,99,334,296,114,109,2,163,163,163,163,2,2,2,2,2,2,2,125,125,292,292,292,292,125,125,125},
|
||||||
|
{355,87,212,100,89,210,133,344,120,45,45,138,138,138,138,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{274,141,46,219,158,284,38,79,73,185,35,6,81,2,2,2,2,53,2,2,81,81,2,81,2,2,2,53,53,53,53,53},
|
||||||
|
{349,303,439,19,95,240,174,191,2,162,162,2,2,2,76,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{360,91,201,205,67,181,59,77,2,44,103,103,103,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,125},
|
||||||
|
{283,154,261,91,77,147,227,105,116,311,256,256,2,116,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,32,2},
|
||||||
|
{287,288,111,89,249,370,55,16,248,67,67,115,2,2,134,134,2,2,2,2,2,2,2,2,2,2,2,2,2,22,22,22},
|
||||||
|
{284,270,282,37,29,181,160,49,285,285,374,250,2,374,374,2,2,2,179,179,35,2,179,179,2,179,179,2,2,285,285,285},
|
||||||
|
{359,305,52,36,243,231,7,92,2,68,68,307,62,45,2,2,112,311,311,311,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{288,119,218,137,364,38,27,380,2,2,211,23,33,2,2,2,2,2,225,225,225,2,2,225,225,225,2,2,2,2,2,2},
|
||||||
|
{277,155,232,309,370,365,348,75,214,214,214,4,4,2,2,2,210,210,210,210,210,210,210,2,2,2,2,2,2,2,2,2},
|
||||||
|
{292,204,91,41,124,190,107,322,125,125,125,125,125,25,25,62,2,2,146,146,2,2,62,146,2,146,114,146,114,2,2,2},
|
||||||
|
{282,195,192,409,68,99,253,106,2,2,2,231,55,55,2,323,323,55,55,285,285,285,285,2,2,2,2,2,2,285,285,323},
|
||||||
|
{299,122,174,403,113,77,63,275,2,2,2,138,276,227,38,227,2,237,2,2,2,2,2,2,2,2,2,2,352,352,352,2},
|
||||||
|
{282,222,268,86,21,109,353,408,2,2,2,2,135,12,12,216,241,241,241,241,241,241,241,241,241,303,303,303,135,135,135,2},
|
||||||
|
{374,94,89,257,137,246,186,196,2,2,2,2,2,454,122,122,122,122,2,2,2,28,28,94,94,94,94,94,122,122,122,122},
|
||||||
|
{288,92,62,428,122,153,481,66,2,2,2,250,250,177,177,177,177,279,279,279,279,279,279,279,2,2,279,177,177,177,177,177},
|
||||||
|
{288,370,141,284,207,192,450,67,2,2,2,183,217,217,217,183,183,167,202,202,202,202,167,167,2,2,2,164,164,80,167,167},
|
||||||
|
{286,293,199,39,158,332,242,103,2,2,2,408,266,315,2,2,365,253,315,315,315,315,315,2,2,315,2,2,2,2,2,2},
|
||||||
|
{407,83,435,187,40,16,52,65,2,2,244,39,77,119,119,2,2,2,119,342,342,2,2,2,2,2,342,2,2,58,58,119},
|
||||||
|
{398,88,78,57,260,203,203,43,131,131,131,204,204,322,204,2,102,2,325,325,325,325,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{390,174,70,155,163,67,225,49,2,34,34,151,151,2,2,111,2,2,111,111,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{393,129,393,169,23,192,168,47,2,2,312,150,71,2,150,2,2,2,61,2,2,61,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{408,136,71,63,63,159,222,68,181,181,124,227,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{294,169,79,242,160,123,178,290,186,186,56,399,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{415,228,69,68,193,122,21,362,33,22,362,57,2,2,2,2,46,46,196,196,196,2,196,196,196,2,196,2,2,2,2,2},
|
||||||
|
{415,130,241,185,312,175,309,199,94,281,47,47,2,2,2,2,206,307,221,2,2,2,2,2,239,239,239,239,239,206,206,206},
|
||||||
|
{417,238,147,165,346,19,92,164,266,291,291,43,2,2,2,345,2,2,2,345,345,2,2,2,2,2,345,2,2,2,2,2},
|
||||||
|
{456,192,86,182,35,174,342,102,210,210,210,393,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,256,256,158},
|
||||||
|
{307,255,92,38,325,61,103,246,176,319,80,89,2,241,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{432,168,63,154,166,46,479,145,144,288,288,288,288,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{341,256,113,85,188,233,161,29,110,167,91,91,253,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{311,360,312,158,73,16,106,209,472,48,24,203,203,2,2,2,2,234,234,234,2,234,234,203,2,2,2,234,234,234,234,234},
|
||||||
|
{437,196,161,100,132,246,395,187,35,35,35,2,2,35,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{438,174,338,145,155,276,422,374,4,463,463,99,224,70,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{426,225,211,130,325,283,353,96,282,23,299,2,2,2,63,63,2,276,276,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{430,101,288,38,200,332,325,193,123,123,88,2,2,2,2,2,231,231,139,139,139,139,139,139,139,139,139,139,139,139,139,139},
|
||||||
|
{434,143,308,389,365,363,174,63,121,125,260,2,2,260,260,2,2,2,2,2,2,2,2,2,2,258,2,2,2,258,2,2},
|
||||||
|
{453,123,201,141,229,223,234,494,102,102,102,2,2,102,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,252},
|
||||||
|
{438,168,65,264,304,74,168,88,114,132,187,2,127,127,2,2,2,2,2,81,81,56,2,2,2,307,2,2,2,2,81,81},
|
||||||
|
{324,181,141,129,33,171,173,291,227,373,52,301,301,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{448,119,431,111,135,50,242,95,148,49,49,49,68,2,2,2,2,2,2,2,2,49,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{335,114,55,47,33,173,287,345,198,198,136,238,238,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{468,377,243,237,332,512,27,167,22,169,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{456,162,188,223,408,209,28,164,299,299,258,186,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{445,391,115,226,96,456,239,214,556,158,158,282,2,2,2,2,2,2,2,2,2,2,2,2,2,331,2,2,2,2,2,2},
|
||||||
|
{360,397,130,172,407,479,295,13,38,199,199,346,2,2,2,2,2,2,145,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{512,136,129,361,180,61,274,128,422,27,292,165,2,2,2,2,2,2,363,117,117,117,117,2,2,2,2,363,2,2,2,2},
|
||||||
|
{478,433,483,302,200,227,273,27,171,171,371,102,2,2,2,2,2,20,2,2,2,2,2,2,2,2,403,403,2,2,2,2},
|
||||||
|
{485,158,454,86,212,60,93,40,209,188,188,106,2,231,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{390,448,111,145,47,555,367,317,315,52,429,435,429,429,2,2,2,2,2,2,2,2,229,2,2,229,2,2,2,229,2,2},
|
||||||
|
{490,331,187,398,407,373,497,219,423,423,378,378,2,419,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{378,406,112,198,539,550,516,59,240,240,23,316,2,122,2,2,2,2,2,2,2,2,2,2,111,111,2,2,2,95,2,2},
|
||||||
|
{474,373,248,330,40,113,105,273,103,407,2,165,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{495,406,306,239,172,323,236,50,37,435,2,310,56,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{498,447,112,241,552,119,227,189,140,140,140,140,140,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{505,132,169,418,342,28,319,301,172,530,317,317,335,2,2,2,2,2,2,376,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{397,393,191,269,462,151,264,134,307,307,2,163,163,2,2,2,2,2,2,2,2,2,2,2,2,2,159,2,2,2,2,2},
|
||||||
|
{485,491,325,149,122,145,228,100,311,64,2,62,137,2,137,2,2,2,2,2,2,2,392,2,2,2,2,2,2,2,2,2},
|
||||||
|
{364,462,360,383,182,187,123,69,129,146,2,156,149,2,149,2,2,2,2,2,2,2,303,303,303,2,2,2,2,2,149,266},
|
||||||
|
{507,195,130,401,363,171,483,20,86,464,2,89,89,2,26,2,2,2,2,2,425,425,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{380,220,87,122,242,78,207,371,95,305,2,2,2,2,440,440,445,358,358,331,331,358,445,445,445,445,445,445,445,445,445,445},
|
||||||
|
{507,221,247,137,182,90,28,207,325,438,2,2,2,2,2,187,232,438,2,2,68,37,37,37,37,37,37,37,37,37,161,2},
|
||||||
|
{509,265,101,126,203,86,152,416,352,85,2,2,2,284,391,368,2,2,152,2,2,2,325,2,2,2,2,2,2,2,2,2},
|
||||||
|
{572,359,332,480,68,535,59,504,365,21,2,2,246,54,246,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{415,178,178,372,415,400,73,82,348,99,2,23,325,44,2,2,2,2,2,2,2,2,325,2,2,2,2,2,2,2,2,2},
|
||||||
|
{430,275,236,361,42,552,368,236,653,74,65,458,288,307,307,2,2,2,2,2,2,2,65,65,2,2,2,2,2,2,2,2},
|
||||||
|
{434,139,58,437,130,441,188,15,63,145,145,145,300,2,2,2,2,300,2,2,2,2,2,2,2,2,401,401,401,401,401,401},
|
||||||
|
{542,138,266,514,552,202,103,197,574,48,2,96,96,2,2,96,96,217,2,2,2,2,2,2,2,2,2,2,2,2,2,217},
|
||||||
|
{546,494,72,272,550,219,213,209,169,404,69,464,86,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{602,466,332,458,99,244,255,183,446,670,2,186,323,2,2,2,2,2,2,2,2,2,2,2,2,2,2,292,165,165,165,165},
|
||||||
|
{422,413,561,110,242,62,436,478,18,150,606,88,643,2,249,2,2,2,2,456,2,2,2,2,2,2,2,2,2,2,2,456},
|
||||||
|
{522,141,154,253,264,53,120,93,274,52,44,203,556,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{600,249,375,555,421,322,317,84,517,517,268,106,353,2,2,2,2,2,2,2,2,2,268,2,2,2,2,2,2,302,2,2},
|
||||||
|
{555,516,310,438,290,559,52,265,248,193,285,441,285,285,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{555,300,232,386,470,300,355,177,57,407,450,279,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{544,177,79,306,256,402,205,496,398,115,115,43,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{534,274,194,220,575,81,206,544,341,85,137,429,429,429,429,344,2,2,2,2,2,315,315,315,315,315,315,72,72,72,2,2},
|
||||||
|
{400,136,112,136,273,277,205,578,122,122,230,230,2,2,2,2,2,2,2,2,2,2,2,2,2,2,302,2,2,2,2,2},
|
||||||
|
{576,421,115,52,253,373,17,657,43,178,178,58,485,485,485,485,485,485,2,2,2,159,159,159,159,2,619,2,2,2,2,2},
|
||||||
|
{576,301,142,329,96,41,302,528,126,112,206,206,2,2,2,2,2,2,206,206,2,206,206,2,191,206,206,191,191,191,191,206},
|
||||||
|
{548,538,508,250,539,102,73,285,119,433,480,480,2,2,2,480,480,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{622,526,294,56,498,176,237,351,25,26,474,55,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{446,163,469,481,240,278,51,373,491,13,22,419,2,2,2,2,2,2,2,2,2,176,176,2,2,2,2,2,2,2,2,2},
|
||||||
|
{445,223,102,108,120,166,68,214,737,504,96,96,206,377,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,39,39,528},
|
||||||
|
{453,121,489,84,434,505,78,575,468,372,468,468,83,468,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{425,355,128,58,194,82,438,117,10,34,34,35,112,107,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{432,479,328,443,253,634,271,429,406,543,406,543,543,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{433,294,192,205,152,70,99,68,392,169,309,390,390,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,199,2,2,2},
|
||||||
|
{456,383,487,311,57,579,673,264,582,187,184,43,43,2,2,2,2,501,501,501,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{437,561,384,619,363,420,614,117,217,247,405,142,142,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{434,372,239,508,478,26,375,255,151,151,650,112,251,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{437,133,516,423,305,90,135,25,266,487,6,286,286,2,2,2,2,2,2,2,2,2,2,2,2,510,510,2,2,2,2,2},
|
||||||
|
{463,341,170,401,178,79,305,98,162,166,32,392,335,335,335,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{610,477,478,516,318,184,267,423,190,494,494,2,336,336,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{611,211,491,224,47,54,124,268,271,271,223,2,2,2,2,2,2,2,2,2,2,2,2,359,2,2,2,2,2,2,2,2},
|
||||||
|
{590,463,461,162,162,622,167,254,29,377,377,75,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{478,388,612,404,491,561,180,80,262,58,94,2,2,275,2,2,2,2,2,151,2,2,2,2,2,312,312,312,2,2,2,275},
|
||||||
|
{629,225,67,623,298,588,354,49,41,185,176,63,63,63,2,2,2,2,2,2,2,2,2,2,2,2,8,435,32,32,435,435},
|
||||||
|
{671,275,392,298,612,328,337,215,58,58,124,2,2,490,392,2,2,2,125,457,457,2,2,2,2,2,2,2,2,2,2,457},
|
||||||
|
{448,126,129,168,209,340,40,96,509,509,509,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{667,246,160,68,737,203,168,628,46,128,358,2,2,2,121,121,2,2,2,2,2,2,560,121,2,2,2,2,2,2,2,121},
|
||||||
|
{635,212,284,356,187,591,275,361,194,317,488,2,2,2,2,2,2,97,6,2,6,247,2,2,2,2,2,2,2,2,2,6},
|
||||||
|
{612,395,104,86,264,321,521,325,252,53,178,100,100,100,16,343,343,343,343,343,2,2,2,2,2,2,2,2,2,343,343,343},
|
||||||
|
{486,428,287,472,292,141,504,178,585,98,282,2,2,2,2,2,2,2,2,2,2,2,2,284,284,284,78,284,2,2,2,2},
|
||||||
|
{612,327,212,565,450,385,201,649,423,491,106,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{462,579,236,447,60,162,427,258,73,742,742,2,742,742,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{495,440,89,439,65,207,459,407,139,131,624,2,380,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{469,507,276,227,66,237,260,386,27,666,31,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{646,393,273,238,24,13,253,127,368,316,316,316,150,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{626,196,111,465,386,431,181,414,614,391,349,318,389,2,389,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{667,257,290,122,109,523,95,26,282,49,374,236,236,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,88,2,2},
|
||||||
|
{653,169,261,533,488,282,213,443,337,480,503,174,534,2,2,2,2,2,534,2,2,2,2,534,2,2,2,2,534,2,2,2},
|
||||||
|
{670,555,160,90,604,604,50,459,376,545,316,180,526,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{639,253,95,380,108,448,223,254,381,30,6,644,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{642,160,702,90,157,254,278,521,650,277,74,554,122,2,2,2,2,2,2,517,174,174,174,2,2,2,2,2,2,2,2,2},
|
||||||
|
{678,254,190,197,637,49,130,25,374,357,357,411,643,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,537,2,2},
|
||||||
|
{512,347,65,546,434,87,18,123,672,412,316,6,699,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{657,233,108,38,147,53,136,168,408,477,477,279,268,289,2,2,2,2,2,2,289,2,2,2,2,2,2,2,2,289,289,2},
|
||||||
|
{498,431,217,101,78,143,111,113,181,825,458,140,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{660,624,376,472,165,66,158,308,492,779,305,305,2,576,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{521,249,388,155,467,245,134,311,72,312,312,623,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{408,348,216,299,302,668,347,63,172,141,272,168,678,2,2,2,512,2,2,2,2,4,2,2,2,494,64,64,64,128,16,512},
|
||||||
|
{669,421,230,70,212,845,237,347,148,76,823,472,2,2,2,132,2,2,2,2,2,2,2,383,132,383,2,2,383,383,383,383},
|
||||||
|
{693,530,139,82,780,416,270,278,330,484,484,200,2,2,2,2,137,94,2,2,2,2,2,2,2,2,484,2,2,2,2,2},
|
||||||
|
{672,150,164,622,196,75,302,119,42,314,314,132,60,60,60,298,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{705,302,411,705,691,160,809,40,32,867,826,826,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{684,229,138,46,407,399,82,254,267,31,31,45,2,209,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{707,323,409,27,31,157,492,463,886,412,251,251,304,190,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{715,521,636,304,402,459,435,571,611,214,214,43,43,358,2,2,2,2,358,2,2,2,2,2,2,358,358,358,2,2,358,358},
|
||||||
|
{768,224,219,425,467,147,151,643,316,263,263,263,263,263,2,2,2,2,2,272,139,2,2,2,2,2,2,2,2,2,272,53},
|
||||||
|
{555,543,434,78,850,174,277,194,4,100,471,69,69,424,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{690,206,572,877,600,129,288,52,19,147,222,222,147,147,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{793,279,264,566,252,495,872,492,482,107,294,503,350,350,2,2,2,2,2,2,2,285,285,273,273,273,273,2,2,2,2,2},
|
||||||
|
{703,427,225,320,136,47,103,547,239,217,73,68,68,204,204,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{791,275,60,137,352,839,67,476,356,216,216,563,563,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{703,312,472,588,228,512,386,668,477,617,389,389,389,2,296,2,2,2,2,343,343,2,2,343,343,2,2,617,617,617,617,2},
|
||||||
|
{709,509,697,145,252,194,304,192,192,623,623,4,423,2,2,2,199,423,2,2,2,222,222,2,2,623,623,623,623,623,2,222},
|
||||||
|
{587,453,117,107,672,86,248,568,568,294,294,513,78,2,2,164,82,2,2,2,2,22,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{741,466,378,135,737,131,159,469,59,2,59,59,187,2,204,2,2,2,2,2,2,2,2,2,798,2,2,798,798,798,798,798},
|
||||||
|
{539,310,463,103,553,45,609,326,197,2,62,113,272,2,62,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{750,703,182,242,92,335,272,466,594,2,701,569,474,129,140,140,2,507,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{547,210,113,361,584,121,65,307,98,2,2,552,514,514,2,514,207,514,514,514,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{555,229,328,91,272,815,483,749,468,2,92,92,4,92,2,2,2,258,258,258,2,258,258,2,2,2,2,258,2,2,258,258},
|
||||||
|
{580,145,358,434,630,73,604,366,366,2,2,398,398,207,2,207,487,2,2,487,207,2,2,207,207,207,2,2,2,2,207,207},
|
||||||
|
{457,520,93,460,275,525,300,184,354,147,147,147,147,179,82,82,82,82,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{872,630,513,218,719,174,197,104,86,281,281,281,541,642,281,94,2,45,94,2,335,335,2,2,2,2,2,2,2,2,2,84},
|
||||||
|
{765,421,129,298,867,365,222,476,401,142,90,22,22,88,226,657,2,2,477,2,2,2,2,2,226,226,2,226,2,2,2,226},
|
||||||
|
{833,634,228,520,113,329,279,420,581,2,2,385,385,110,450,2,733,2,2,2,561,561,2,561,2,2,2,2,2,2,2,2},
|
||||||
|
{587,553,360,539,227,800,312,143,536,2,2,2,64,64,64,2,2,2,179,179,493,2,2,184,184,184,58,2,2,2,493,493},
|
||||||
|
{744,466,389,280,229,134,363,177,389,2,2,2,536,273,536,536,536,536,168,45,45,45,45,2,2,2,2,2,2,2,2,2},
|
||||||
|
{841,222,158,469,253,91,347,241,766,2,2,2,88,88,88,439,439,439,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{462,653,478,67,269,150,474,711,220,669,669,669,669,669,390,352,325,2,229,545,545,545,545,545,545,545,545,2,545,352,309,352},
|
||||||
|
{468,430,849,689,202,427,45,34,105,2,2,2,2,4,4,4,4,4,4,4,2,2,2,4,4,4,4,4,2,2,2,2},
|
||||||
|
{610,289,503,744,775,512,605,454,484,2,2,2,444,466,145,631,2,631,631,631,631,631,631,631,631,631,2,2,631,631,631,858},
|
||||||
|
{792,169,306,843,246,123,293,229,483,2,2,2,165,163,163,163,163,440,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{563,325,717,766,440,705,290,123,228,2,2,2,32,64,146,2,2,2,116,79,79,2,146,146,79,79,79,2,2,146,146,79},
|
||||||
|
{795,185,350,211,82,537,106,680,62,2,2,537,423,423,423,2,2,501,501,2,501,2,501,2,2,2,2,2,2,2,2,2},
|
||||||
|
{633,425,295,548,497,163,381,461,89,2,2,831,583,896,38,2,625,2,2,2,276,276,2,2,276,2,2,2,2,2,2,2},
|
||||||
|
{767,318,84,97,208,387,423,196,417,2,396,396,396,396,396,128,128,2,2,2,328,328,4,4,4,4,101,2,2,328,82,16},
|
||||||
|
{802,533,869,638,67,192,805,223,219,2,2,191,178,178,77,77,2,2,2,2,431,431,2,2,2,431,431,2,2,431,2,2},
|
||||||
|
{781,638,410,399,336,465,856,426,28,2,4,4,6,6,2,2,2,449,372,372,449,449,449,2,2,449,449,449,449,449,449,2},
|
||||||
|
{807,377,237,443,388,286,158,349,491,32,32,260,260,260,2,2,260,615,615,615,2,2,260,260,260,260,260,615,615,615,615,615},
|
||||||
|
{780,359,766,618,41,596,86,636,287,707,707,96,49,373,613,373,2,2,2,2,2,2,2,613,613,613,2,2,2,2,2,2},
|
||||||
|
{788,497,334,93,319,169,273,540,904,2,903,569,569,569,272,272,2,2,2,2,571,571,571,571,571,571,571,571,571,571,571,571},
|
||||||
|
{814,652,456,774,624,870,27,739,464,2,108,578,578,561,295,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{818,280,99,873,165,426,341,74,479,342,727,684,684,662,662,2,2,2,2,2,2,662,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{593,411,953,203,89,57,785,354,349,424,424,707,707,707,829,2,2,2,2,2,670,670,670,2,2,424,424,424,2,2,670,424},
|
||||||
|
{629,560,621,245,683,633,495,551,472,2,31,74,489,684,555,684,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{901,490,693,410,666,119,703,593,201,61,70,70,774,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,418,418},
|
||||||
|
{669,321,391,548,189,157,337,42,796,871,276,622,30,2,2,2,2,2,2,2,580,580,107,2,2,2,2,2,434,434,434,434},
|
||||||
|
{610,236,633,300,681,358,72,281,148,466,466,283,275,2,386,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{929,360,102,893,329,136,515,33,170,581,268,35,777,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{859,584,475,745,506,900,40,869,143,612,175,275,209,12,12,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{822,581,76,382,72,347,964,324,137,61,61,28,623,351,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{655,330,324,151,166,431,58,174,142,115,1003,66,724,778,2,2,2,503,503,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{867,820,301,252,61,331,105,309,562,218,365,326,768,672,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{623,330,182,489,212,223,741,490,40,412,801,681,681,801,2,2,71,2,2,2,2,2,2,427,2,2,2,2,2,2,2,2},
|
||||||
|
{859,844,510,859,118,190,550,29,159,622,622,382,258,382,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{612,237,272,53,534,682,372,935,494,536,536,599,599,599,2,536,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{843,730,235,233,816,495,598,134,131,604,227,378,378,553,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{667,397,121,526,321,660,848,729,357,137,268,711,521,521,2,2,2,2,2,2,2,2,2,2,2,2,2,194,2,2,2,521},
|
||||||
|
{670,595,333,257,907,413,548,341,327,350,612,700,700,700,700,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{678,274,695,790,169,701,707,1084,470,123,846,846,217,121,317,2,2,2,83,83,83,83,83,83,83,83,83,2,2,2,2,2},
|
||||||
|
{877,181,375,79,199,256,223,295,135,371,395,354,2,307,944,2,813,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{882,417,475,424,311,646,346,207,74,157,590,356,2,2,324,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{708,442,186,698,345,103,687,463,163,416,416,107,2,2,2,375,375,416,6,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{865,675,786,568,112,197,225,348,372,497,215,215,2,2,2,2,159,159,150,224,224,141,2,2,2,2,141,141,141,141,141,141},
|
||||||
|
{693,726,117,167,535,725,224,78,716,100,460,299,2,2,2,2,921,744,2,2,2,2,2,378,2,2,178,178,178,2,178,178},
|
||||||
|
{697,540,358,391,932,309,103,73,35,353,353,503,2,2,353,134,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{982,579,548,413,416,103,71,101,1039,526,684,684,2,2,656,2,2,2,2,2,2,2,2,2,2,2,656,656,656,2,656,656},
|
||||||
|
{695,881,335,126,429,476,772,667,974,98,433,49,129,129,2,2,2,2,2,2,2,2,2,2,544,2,544,2,2,2,2,544},
|
||||||
|
{705,770,134,178,940,944,654,600,46,797,797,591,2,145,616,2,2,2,2,2,2,389,389,2,122,2,2,2,389,389,909,389},
|
||||||
|
{988,271,675,163,379,108,48,472,870,485,485,18,2,485,528,528,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{865,827,614,74,725,685,724,190,178,272,835,722,2,35,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{923,397,722,186,203,575,24,144,36,526,206,787,12,100,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{927,493,988,194,97,1006,377,578,105,248,707,784,98,784,2,2,2,2,2,2,2,2,2,370,370,2,370,2,2,2,2,2},
|
||||||
|
{900,455,485,601,353,69,67,965,25,226,314,314,883,923,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{903,259,153,106,289,916,861,41,441,368,131,131,262,671,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{945,358,160,196,82,403,362,195,376,877,521,336,521,77,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{912,516,108,555,306,274,55,197,565,174,659,208,441,441,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{753,242,194,619,345,94,463,485,163,85,412,575,270,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{915,210,456,377,303,237,225,521,621,175,569,20,124,2,601,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{672,652,792,253,796,404,171,90,406,433,43,159,72,2,2,372,2,540,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{733,439,537,37,149,650,916,443,743,621,921,664,664,2,2,2,2,2,682,523,523,523,2,2,523,523,523,523,523,523,523,523},
|
||||||
|
{982,344,812,567,243,52,246,369,439,205,600,739,730,2,2,2,61,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{982,604,126,65,633,657,22,776,161,45,725,44,4,2,2,2,2,2,2,2,2,2,269,269,2,2,2,2,2,2,2,2},
|
||||||
|
{745,600,284,1117,459,1135,300,52,845,331,334,334,334,2,334,334,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{936,409,217,57,574,395,481,245,548,268,447,598,375,2,192,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{986,241,233,45,721,325,350,222,35,1065,1065,1065,1065,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{755,796,877,981,259,194,1180,215,90,658,662,662,662,2,36,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{981,626,987,827,466,458,578,346,475,223,223,223,342,1058,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,728},
|
||||||
|
{949,422,941,491,66,786,592,429,307,123,40,478,478,478,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{992,723,625,251,431,544,309,466,700,644,484,837,904,320,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1077,496,819,340,974,122,39,1209,819,18,461,648,648,394,2,2,2,2,2,2,61,2,2,2,2,2,394,2,2,2,2,394},
|
||||||
|
{999,674,212,673,279,579,462,754,89,866,345,110,110,887,2,2,2,2,2,707,707,2,2,2,2,2,2,2,2,2,2,707},
|
||||||
|
{1083,356,367,357,559,213,606,477,71,103,790,103,299,299,2,2,2,2,2,2,406,406,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1005,260,389,960,501,714,118,73,334,1019,704,204,504,205,822,822,2,2,2,2,2,2,2,2,2,2,684,2,2,2,2,2},
|
||||||
|
{738,749,769,610,306,326,328,578,479,840,840,840,68,192,2,150,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1010,937,449,474,154,456,766,318,275,444,709,2,778,778,778,806,779,779,2,2,2,2,2,2,2,2,806,2,2,2,287,287},
|
||||||
|
{1011,780,134,945,183,42,741,25,252,164,205,222,222,222,147,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1094,640,912,223,67,472,623,623,1244,65,1009,1209,1209,812,387,2,2,2,513,2,2,2,2,2,2,2,2,2,2,2,1209,234},
|
||||||
|
{722,375,264,390,515,498,1161,391,884,551,238,2,2,825,549,2,2,2,551,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1022,409,93,359,983,345,280,280,104,940,940,2,2,382,1039,2,2,2,2,831,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{997,525,680,120,466,728,288,110,1082,544,572,2,2,663,290,290,2,2,754,2,2,2,2,2,582,582,582,582,582,2,2,2},
|
||||||
|
{1055,395,795,561,222,85,294,433,377,89,89,2,2,2,456,821,2,2,821,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1128,788,124,501,561,1015,419,787,48,620,705,2,2,2,2,88,18,2,215,215,215,2,2,215,215,2,2,2,215,2,2,2},
|
||||||
|
{807,433,721,434,449,242,170,842,21,4,642,2,2,2,2,2,4,4,4,4,2,856,856,856,885,885,856,856,856,856,856,885},
|
||||||
|
{1004,719,1041,460,551,516,135,417,130,698,698,2,2,2,655,655,655,655,655,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1017,568,930,1113,556,1299,114,881,690,475,641,2,2,2,779,779,103,2,528,2,2,2,2,2,2,528,528,2,2,910,910,2},
|
||||||
|
{814,473,286,752,476,779,420,569,742,164,490,2,2,2,793,812,812,812,2,812,812,2,2,526,526,812,526,2,2,2,526,526},
|
||||||
|
{818,301,273,664,206,971,895,590,912,523,523,2,2,452,384,255,2,130,130,130,130,865,2,2,2,255,2,2,2,2,2,2},
|
||||||
|
{820,249,292,1017,1017,143,403,37,433,456,515,2,2,69,640,2,2,2,2,2,2,2,2,2,2,2,2,824,824,824,2,2},
|
||||||
|
{865,1132,428,582,254,408,536,376,825,116,116,1266,1266,1266,705,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{635,503,594,203,456,1246,221,396,1151,178,66,2,781,587,86,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1157,395,446,280,1130,695,668,271,111,882,477,615,615,615,2,2,2,2,2,2,2,2,615,615,615,615,615,615,615,2,305,2},
|
||||||
|
{830,397,932,519,818,113,367,694,88,535,535,414,343,175,2,2,2,2,2,2,2,2,2,2,414,864,2,2,864,864,864,864},
|
||||||
|
{793,463,329,730,390,551,968,92,511,470,424,563,672,563,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1050,749,809,479,87,757,288,172,597,722,4,418,418,390,2,2,2,2,2,390,390,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1090,255,271,110,159,235,158,236,271,815,1300,416,416,416,2,2,416,416,2,2,2,399,791,791,2,791,2,2,2,2,791,791},
|
||||||
|
{1058,417,271,172,312,363,184,191,28,183,759,214,759,39,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1057,385,263,395,901,274,727,340,1117,263,813,870,858,429,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1102,846,985,1085,764,124,764,51,874,612,478,801,478,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1120,665,311,695,319,1033,511,297,602,1030,1030,714,240,240,2,2,2,2,2,2,2,2,2,2,2,2,2,953,2,2,2,2},
|
||||||
|
{1106,662,258,190,1315,214,530,263,318,904,877,1317,318,2,510,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1206,469,299,1052,655,114,189,213,321,188,64,475,475,2,2,662,662,662,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1120,1159,358,347,838,207,357,167,476,52,672,38,822,2,2,2,2,2,2,213,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1076,596,553,545,79,727,881,121,298,169,639,368,695,115,115,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1130,177,84,673,350,543,543,95,128,954,430,884,884,2,884,884,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{820,461,681,382,273,273,358,274,274,91,887,676,386,2,676,676,2,2,2,2,2,2,2,200,2,2,2,2,200,2,2,2},
|
||||||
|
{1091,946,437,51,527,802,597,639,587,645,510,586,586,2,2,2,2,2,2,2,2,2,2,2,2,2,2,168,168,168,168,168},
|
||||||
|
{1148,585,868,1282,666,417,733,1231,515,332,1213,337,337,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1103,276,174,408,233,170,955,108,530,354,585,38,677,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,476},
|
||||||
|
{1167,478,1169,1053,563,371,108,772,413,497,1338,991,660,2,2,2,2,2,2,2,2,2,2,2,2,27,2,2,2,2,2,2},
|
||||||
|
{1116,331,280,422,1109,341,570,243,849,241,566,61,608,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{898,782,478,1208,196,983,608,537,196,1141,141,296,715,715,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1099,1187,300,240,268,413,1366,634,184,768,773,365,783,224,783,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{904,660,1283,46,33,124,416,218,152,970,1241,305,307,307,307,260,894,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1127,553,287,58,739,99,514,739,766,42,580,241,598,598,936,936,936,629,629,629,629,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1142,370,287,925,307,1232,129,11,1284,1056,33,33,536,521,2,1286,2,2,2,2,2,2,2,2,2,2,2,2,847,847,847,847},
|
||||||
|
{1297,600,419,985,846,493,186,109,147,239,197,762,762,327,327,1004,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1181,615,482,653,238,130,313,506,98,1314,730,730,730,730,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{921,613,628,1288,111,150,191,233,633,83,387,602,105,394,2,2,2,2,2,2,2,351,2,2,351,351,351,2,2,2,351,351},
|
||||||
|
{1192,555,586,516,1288,733,64,653,364,273,421,215,75,75,2,2,2,2,2,2,953,953,953,953,8,383,383,2,161,383,953,953},
|
||||||
|
{1160,617,505,1205,374,906,23,408,194,91,91,91,585,984,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1203,1101,497,352,254,309,464,123,607,1080,265,1145,1145,1145,284,284,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1210,656,1026,782,802,442,1319,734,794,165,165,796,93,796,2,829,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{963,646,721,1161,219,667,1088,485,692,692,663,535,553,662,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,686,686,2},
|
||||||
|
{941,231,1038,309,173,770,413,560,855,660,721,1103,721,721,721,2,2,2,2,2,2,2,2,2,2,2,2,174,2,2,2,2},
|
||||||
|
{1213,305,656,983,1399,1196,692,986,9,339,754,308,2,308,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1330,671,528,831,1426,735,33,425,364,119,363,978,2,761,483,476,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1190,286,513,881,390,215,387,130,749,554,1110,519,160,160,160,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1247,353,973,217,1044,1318,1115,319,203,390,1244,225,2,2,508,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{893,560,132,1420,721,191,568,799,412,22,322,93,2,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{882,1038,211,110,942,337,1305,1225,661,183,381,381,2,2,2,2,347,2,2,2,2,2,2,2,600,431,431,431,431,431,431,431},
|
||||||
|
{1208,486,343,725,677,1204,135,139,924,170,1111,317,2,2,2,2,202,706,202,107,107,107,2,2,706,706,107,107,2,2,2,706},
|
||||||
|
{1259,1017,456,298,443,838,137,744,551,334,36,951,2,2,2,699,718,2,2,984,2,2,2,2,2,2,984,984,2,2,2,2},
|
||||||
|
{1212,1186,641,284,565,636,895,82,690,117,184,184,2,2,2,397,902,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1263,370,132,635,381,47,537,179,1192,301,1282,33,2,2,2,1553,2,2,2,2,2,2,2,2,2,2,2,307,307,2,2,2},
|
||||||
|
{1015,593,112,1408,51,104,199,221,931,1010,928,928,2,2,878,878,2,2,2,2,731,731,2,731,731,2,731,2,731,731,731,2},
|
||||||
|
{1223,434,851,152,140,1495,190,397,925,37,1080,430,2,2,204,2,759,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{939,1070,1288,254,973,901,321,109,568,713,336,988,2,946,262,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1276,636,569,258,325,675,342,85,88,579,833,833,833,833,520,2,2,2,2,520,520,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1288,1398,789,514,151,600,1618,1194,1419,441,234,204,1191,438,828,2,857,857,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1401,402,525,293,97,223,452,808,61,169,1023,1023,886,886,1023,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1001,644,263,164,136,939,624,95,489,1023,1107,331,331,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1401,741,509,797,47,157,1256,482,1513,899,736,780,780,210,2,2,2,2,783,783,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1047,880,369,402,641,446,639,586,277,396,419,275,825,820,2,2,2,238,238,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1273,701,831,1294,1580,137,162,415,563,11,92,116,116,116,2,2,2,2,2,2,1029,1029,1029,504,504,877,877,877,877,877,1029,1029},
|
||||||
|
{1335,400,315,412,172,125,568,1024,58,601,398,985,640,577,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1057,1198,146,529,284,1286,160,135,75,686,648,1425,821,586,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1422,838,234,554,736,243,344,526,1108,33,1303,699,249,305,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1279,681,423,813,806,269,412,420,985,485,761,1013,649,796,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{938,614,523,557,898,624,178,461,287,985,371,371,260,613,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1040,998,324,93,887,497,1326,443,152,1193,595,80,80,80,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1027,1128,114,395,357,417,848,22,389,1257,734,838,838,301,900,2,90,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1040,420,960,882,64,661,292,146,976,427,689,248,248,248,638,2,2,2,2,2,2,2,2,2,2,2,2,861,861,861,2,861},
|
||||||
|
{1041,1090,651,130,72,389,171,237,516,777,937,937,937,168,168,2,336,2,2,2,2,2,2,2,2,2,992,2,992,2,992,2},
|
||||||
|
{987,1280,1245,1300,926,676,56,546,541,690,84,42,1000,1383,1383,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1058,454,1557,191,129,297,695,1390,1274,460,923,923,923,2,4,1059,2,2,2,2,2,2,2,2,2,2,2,2,2,1059,2,2},
|
||||||
|
{1327,572,282,1022,907,1276,409,643,1050,633,187,187,187,2,228,45,2,2,2,2,2,2,320,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1395,529,461,402,194,392,122,781,111,162,780,593,593,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1062,212,784,63,252,873,1302,1108,1380,84,1375,1375,1375,2,2,2,375,374,2,980,2,2,2,980,980,980,2,2,2,2,2,2},
|
||||||
|
{1384,549,430,781,946,879,901,924,741,114,14,451,36,2,2,2,2,287,287,287,803,803,803,803,2,2,2,803,803,803,803,803},
|
||||||
|
{1413,627,1329,1092,526,197,31,417,1149,981,964,1003,685,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,717,717,2,2},
|
||||||
|
{1084,1174,1601,949,910,960,500,461,1290,23,1042,636,212,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1091,793,1353,208,506,599,846,503,1011,247,289,61,1050,61,61,61,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1533,978,284,156,914,162,685,1184,252,1375,189,256,640,2,640,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1128,398,791,1170,76,661,408,259,756,495,79,553,10,10,1532,1532,1532,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1040,704,618,854,374,1470,274,383,941,519,351,351,351,351,351,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1427,988,498,1529,99,678,1323,149,33,426,543,543,335,1507,772,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1102,349,490,266,144,220,599,437,743,764,647,1128,605,265,324,324,324,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1118,724,1322,405,199,614,1087,885,1313,317,769,660,660,1158,535,2,2,2,373,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1120,772,743,488,346,126,784,584,943,153,311,133,133,969,605,605,2,2,2,2,2,2,2,605,2,2,2,2,2,2,2,2},
|
||||||
|
{1441,791,233,141,141,316,89,296,462,1263,758,482,599,599,578,341,2,2,2,2,2,2,2,2,2,2,2,525,525,525,2,2},
|
||||||
|
{1413,406,700,547,1166,250,518,543,104,331,205,205,691,691,2,2,118,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1485,400,1497,168,82,680,1103,554,249,702,493,101,296,236,2,236,236,944,944,2,2,394,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1139,809,117,522,955,1096,1120,1470,116,184,1565,1565,557,557,2,2,2,2,2,829,1326,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1142,984,1044,590,340,241,662,357,366,1305,2,125,631,474,2,2,2,980,2,2,2,2,2,2,2,2,2,2,2,2,2,1273},
|
||||||
|
{1487,1010,320,966,785,847,954,1060,138,856,966,966,966,703,2,703,703,2,2,2,2,2,2,2,2,2,2,2,2,1279,2,1279},
|
||||||
|
{1495,1178,874,415,1100,368,1057,1228,562,215,31,31,680,680,680,1208,2,2,2,2,2,2,2,2,1208,2,2,2,2,1208,1208,2},
|
||||||
|
{1617,289,1033,169,355,260,30,45,721,906,88,44,44,418,417,218,2,2,846,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1623,499,308,1058,1184,1230,63,1515,433,110,763,763,422,954,954,954,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1531,621,210,755,482,82,1308,317,427,168,2,232,116,190,701,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,701},
|
||||||
|
{1532,575,1245,360,249,630,133,1406,920,1539,63,63,76,82,82,2,2,2,770,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1102,785,118,93,1491,988,275,53,1328,26,2,2,240,647,240,761,761,761,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1478,722,113,1534,1751,115,1728,1234,777,282,508,508,1184,63,1184,855,855,2,2,2,738,738,578,578,2,2,2,2,2,2,2,2},
|
||||||
|
{1482,961,1093,556,1746,628,427,689,510,751,684,37,37,1229,1256,882,1507,1507,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1228,425,1030,699,407,171,568,925,1104,97,2,2,1286,1286,1286,502,2,1219,1219,1219,1290,2,1219,1219,1219,1219,2,2,2,59,2,2},
|
||||||
|
{1547,657,777,695,1254,224,933,367,212,385,2,2,2,1422,749,245,885,710,2,2,710,710,710,45,710,710,710,710,2,336,710,2},
|
||||||
|
{1559,462,850,289,1570,71,512,858,810,835,2,2,2,2,1028,1205,1205,546,546,546,1205,1205,1205,1205,1205,2,1205,1205,1205,1205,1205,1205},
|
||||||
|
{1192,888,701,164,131,613,282,237,525,366,2,2,2,2,1737,845,845,750,2,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,2,1261,1261},
|
||||||
|
{1128,393,1522,96,160,581,540,120,441,176,2,2,2,2,2,2,1427,551,1102,1102,328,328,592,592,592,592,592,592,592,592,592,592},
|
||||||
|
{1567,1265,372,1633,613,484,243,1523,21,275,2,2,2,431,431,431,431,2,2,978,489,889,889,889,889,889,889,889,2,2,2,2},
|
||||||
|
{1522,1422,1017,124,499,451,731,1112,1355,1355,2,2,2,854,854,336,854,336,1297,2,2,2,193,193,193,193,193,2,2,2,2,2},
|
||||||
|
{1605,1499,454,1072,686,732,309,295,940,551,2,2,880,264,264,973,2,2,72,314,2,2,2,890,890,2,2,2,2,2,2,2},
|
||||||
|
{1598,397,1471,1471,1162,866,236,948,1557,737,2,2,153,737,1408,765,765,608,2,2,2,171,608,608,608,608,2,608,608,2,2,2},
|
||||||
|
{1598,434,107,270,148,1317,835,123,642,1236,2,2,67,633,771,878,771,878,878,2,2,2,771,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1628,1502,1042,822,80,403,1335,684,464,426,671,671,336,336,336,2,425,896,2,2,2,2,1337,1337,1337,1337,1337,1337,2,2,2,2},
|
||||||
|
{1607,1503,1072,471,221,277,854,1236,263,752,2,694,1657,934,553,2,2,2,498,498,2,802,2,46,2,2,2,2,2,2,2,2},
|
||||||
|
{1756,1359,698,1584,446,724,729,419,660,1305,2,244,244,244,540,540,540,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1263,835,1533,789,1259,174,1497,557,644,203,2,289,604,434,434,434,2,844,844,2,2,2,1111,1111,1111,2,2,2,2,2,2,2},
|
||||||
|
{1797,904,172,659,349,177,692,448,1141,990,640,99,1073,806,640,640,2,640,640,911,911,911,640,640,640,640,2,2,2,2,2,2},
|
||||||
|
{1276,442,1008,1352,243,162,711,301,552,1002,668,668,384,71,384,384,2,2,2,2,2,727,727,727,777,777,777,777,777,777,2,777},
|
||||||
|
{1600,1130,171,1113,813,722,117,990,37,24,969,94,825,1398,1398,1398,1398,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1682,449,1067,393,136,854,36,492,637,1053,247,1111,1111,1111,2,247,247,247,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1601,697,532,408,697,1140,1568,47,1499,780,1171,318,318,318,2,2,2,2,318,318,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1283,1078,791,873,655,412,389,835,292,958,1245,678,1611,1519,2,2,185,2,2,2,2,2,2,1245,1245,2,2,2,2,2,2,1245},
|
||||||
|
{1822,589,236,205,797,39,241,1048,181,386,102,102,102,111,1361,1361,1361,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1342,705,302,595,1200,52,83,647,519,139,103,103,103,513,2,513,2,2,2,2,2,513,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1636,974,279,419,893,1608,1491,156,1486,115,730,730,863,509,924,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1732,1771,584,533,297,1056,669,293,146,311,1176,311,590,590,277,2,2,2,2,2,2,2,2,2,539,539,2,2,2,2,2,2},
|
||||||
|
{1360,383,1470,502,1010,153,1588,619,1246,396,1107,1107,112,423,423,2,2,2,2,2,202,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1747,611,1788,1446,152,1335,710,1040,639,1279,788,788,265,1441,107,2,2,2,2,1441,1441,1441,1441,938,938,938,938,2,2,867,867,1441},
|
||||||
|
{1682,867,333,102,628,891,654,506,995,684,961,563,1313,1313,1313,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1875,1576,924,677,461,134,1525,1619,44,701,299,743,728,791,791,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,791,791},
|
||||||
|
{1744,1011,935,492,158,1645,795,1056,74,679,367,675,675,1229,1229,1229,2,2,2,2,2,2,2,2,2,2,2,2,2,1229,2,2},
|
||||||
|
{1763,1018,1859,432,717,723,874,1294,1050,1800,1237,619,1074,2,10,1237,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1376,652,461,225,361,936,1073,1279,149,619,983,511,1994,2,2,1076,1076,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1780,1739,1357,1684,1586,736,208,966,1691,339,339,128,128,2,2,128,128,128,2,2,128,2,2,2,2,1929,2,2,338,2,2,338},
|
||||||
|
{1289,907,228,665,1695,1735,489,214,762,1777,321,1674,932,2,2,2,2,1358,709,2,1959,1959,372,2,2,372,372,2,2,372,372,372},
|
||||||
|
{1802,1645,453,1079,604,618,334,855,541,167,37,88,849,2,2,518,518,2,2,530,2,2,2,2,2,2,2,119,119,2,2,2},
|
||||||
|
{1322,512,560,432,365,87,1835,1137,515,1271,1739,309,309,1229,1229,1229,2,2,2,2,2,2,2,2,416,416,416,416,2,2,2,2},
|
||||||
|
{1444,394,1613,796,645,1406,186,158,402,1364,314,588,606,2,577,117,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1325,1300,1353,1575,33,730,46,1476,84,84,189,457,352,2,1479,2,2,2,2,2,2,2,2,2,2,2,2,1565,2,2,2,2},
|
||||||
|
{1343,365,790,1047,983,1015,918,1469,1416,126,1238,1238,1238,1238,151,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1861,1487,419,97,799,1791,458,1029,370,627,57,414,414,1540,247,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1480,1131,1089,1688,340,962,505,1816,139,44,1350,403,1385,1996,173,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1328,601,601,617,554,467,391,1545,162,1361,807,1565,1565,243,1344,2,725,510,510,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1892,441,977,228,1252,604,735,136,889,878,1319,1319,2127,2127,1963,367,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1898,787,769,1166,799,479,1066,390,821,1061,201,201,1339,703,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1850,1476,792,840,2037,229,1578,526,431,1485,1450,1001,1001,1001,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1948,1530,576,582,1069,119,2131,41,1178,1677,1677,1677,325,346,2,2,2,2,2,2,1401,2,33,2,2,2,2,2,2,71,71,71},
|
||||||
|
{1540,791,518,419,1130,1068,299,1386,1378,134,859,859,71,162,2,71,71,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1889,1210,1246,1326,668,1199,77,565,1277,1607,874,1433,1433,77,2,681,2,2,2,2,2,2,2,679,2,2,2,2,2,2,2,2},
|
||||||
|
{1520,1107,1082,687,484,1732,676,1595,467,653,1091,428,2113,332,332,332,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1534,854,2007,1207,947,1773,1571,1505,909,1471,1655,1655,2334,1327,409,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2145,1069,662,709,737,1141,1737,827,1384,1628,107,107,1032,277,277,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1600,1823,1698,1268,623,583,1932,1674,522,529,1862,1281,246,989,246,2,246,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1570,1504,1414,1143,1999,1932,1015,1015,556,514,626,79,2,79,1795,1461,1461,2,2,2,2,2,2,2,1461,1461,1461,1461,1461,2,2,2},
|
||||||
|
{1976,1433,820,504,421,1007,388,1083,635,82,1524,750,2,2,870,106,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2008,1773,416,1954,1314,742,1694,505,202,1747,785,375,2,2,2,477,1538,477,2,2,2,2,2,1309,1309,1309,1309,2,2,2,1309,2},
|
||||||
|
{1480,807,1596,520,1139,213,1581,460,923,617,1305,939,2,2,2,2,53,53,1589,284,2,2,1589,1589,1589,1589,1589,1589,1589,1589,1589,1589},
|
||||||
|
{1628,846,1504,138,464,401,501,506,967,1027,1540,1035,2,1921,1539,1539,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2304,1948,316,1063,237,607,1143,2575,1388,1022,127,251,2,438,1570,1570,1570,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1600,1338,196,1510,1371,1138,957,169,545,1176,1131,2460,1708,541,541,2,363,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1736,2186,725,1844,1638,825,592,648,193,1241,462,462,45,264,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}
|
||||||
|
};
|
881
src/external/libCuba/src/divonne/KorobovCoeff.c-9689
vendored
Normal file
881
src/external/libCuba/src/divonne/KorobovCoeff.c-9689
vendored
Normal file
@ -0,0 +1,881 @@
|
|||||||
|
#define KOROBOV_MINDIM 2
|
||||||
|
#define KOROBOV_MAXDIM 33
|
||||||
|
#define MAXPRIME 9689
|
||||||
|
|
||||||
|
#define Hash(x) ((19945 - x)*(-47 + x))/121634
|
||||||
|
|
||||||
|
static int prime[] = {
|
||||||
|
FIRST,47,53,59,67,71,79,83,89,97,103,109,113,127,131,137,139,149,151,
|
||||||
|
157,163,173,179,181,191,193,199,211,223,227,229,233,239,241,251,257,263,
|
||||||
|
269,277,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,
|
||||||
|
389,397,401,409,419,421,431,433,439,443,449,457,461,467,479,487,491,499,
|
||||||
|
503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,
|
||||||
|
619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,
|
||||||
|
743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,
|
||||||
|
863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,
|
||||||
|
997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,
|
||||||
|
1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,
|
||||||
|
1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,
|
||||||
|
1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,
|
||||||
|
1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,
|
||||||
|
1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,
|
||||||
|
1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,
|
||||||
|
1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,
|
||||||
|
1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,
|
||||||
|
1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,
|
||||||
|
2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,
|
||||||
|
2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,
|
||||||
|
2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,
|
||||||
|
2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,
|
||||||
|
2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,
|
||||||
|
2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,
|
||||||
|
2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,
|
||||||
|
2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,
|
||||||
|
2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,
|
||||||
|
3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,
|
||||||
|
3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,
|
||||||
|
3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,
|
||||||
|
3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,
|
||||||
|
3511,3517,3527,3529,3533,3539,3547,3557,3571,3581,3583,3593,3607,3613,
|
||||||
|
3623,3631,3643,3659,3671,3673,3677,3691,3701,3709,3719,3733,3739,3761,
|
||||||
|
3767,3769,3779,3793,3797,3803,3821,3833,3847,3851,3853,3863,3877,3889,
|
||||||
|
3907,3911,3917,3929,3943,3947,3967,3989,4001,4003,4007,4013,4019,4027,
|
||||||
|
4049,4051,4057,4073,4079,4091,4099,4111,4127,4133,4139,4153,4159,4177,
|
||||||
|
4201,4211,4217,4219,4229,4231,4243,4259,4271,4283,4289,4297,4327,4337,
|
||||||
|
4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4451,4463,4481,
|
||||||
|
4483,4493,4507,4517,4523,4547,4549,4561,4567,4583,4597,4603,4621,4637,
|
||||||
|
4639,4651,4663,4673,4691,4703,4721,4723,4733,4751,4759,4783,4787,4789,
|
||||||
|
4801,4813,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4943,4957,
|
||||||
|
4969,4987,4993,5003,5021,5023,5039,5051,5059,5077,5087,5101,5119,5147,
|
||||||
|
5153,5167,5171,5179,5189,5209,5227,5231,5237,5261,5273,5281,5297,5309,
|
||||||
|
5323,5333,5347,5351,5381,5387,5399,5413,5431,5437,5449,5471,5479,5501,
|
||||||
|
5507,5519,5531,5557,5563,5573,5591,5623,5639,5641,5647,5657,5669,5683,
|
||||||
|
5701,5711,5737,5743,5749,5779,5783,5801,5813,5827,5843,5857,5869,5881,
|
||||||
|
5903,5923,5927,5953,5981,5987,6007,6011,6029,6037,6053,6067,6089,6101,
|
||||||
|
6113,6131,6151,6163,6173,6197,6211,6229,6247,6257,6277,6287,6311,6323,
|
||||||
|
6343,6359,6373,6389,6421,6427,6449,6469,6481,6491,6521,6529,6547,6563,
|
||||||
|
6581,6599,6619,6637,6653,6673,6691,6709,6733,6737,6763,6781,6803,6823,
|
||||||
|
6841,6863,6883,6899,6917,6947,6961,6983,7001,7019,7043,7057,7079,7103,
|
||||||
|
7127,7151,7159,7187,7211,7229,7253,7283,7297,7321,7349,7369,7393,7417,
|
||||||
|
7433,7459,7487,7507,7537,7561,7583,7607,7639,7669,7687,7717,7741,7759,
|
||||||
|
7793,7823,7853,7883,7907,7937,7963,7993,8039,8059,8093,8123,8161,8191,
|
||||||
|
8221,8263,8297,8329,8369,8419,8447,8501,8527,8563,8609,8663,8699,8747,
|
||||||
|
8803,8849,8893,8963,9029,9091,9157,9239,9319,9413,9533,MarkLast(9689)
|
||||||
|
};
|
||||||
|
|
||||||
|
static short coeff[][32] = {
|
||||||
|
{13,11,10,3,9,2,2,2,2,9,2,2,7,2,2,2,2,2,2,6,2,2,2,13,11,10,3,9,2,2,2,2},
|
||||||
|
{23,17,12,11,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,12,12,14,14,14},
|
||||||
|
{18,14,5,14,2,2,19,19,25,25,18,18,18,2,2,2,2,2,2,2,2,2,2,2,25,6,2,2,2,18,14,5},
|
||||||
|
{18,13,23,5,2,12,6,12,12,12,10,10,16,2,16,16,2,2,2,2,2,2,2,10,2,2,2,2,10,2,2,2},
|
||||||
|
{21,22,7,21,2,20,20,2,2,2,2,22,2,2,2,2,2,2,2,6,6,21,2,2,2,2,2,2,2,2,6,6},
|
||||||
|
{29,19,27,32,6,8,2,2,2,2,2,8,8,2,2,2,2,9,9,9,9,2,2,2,2,2,2,2,9,9,2,2},
|
||||||
|
{30,19,24,16,22,8,2,2,22,5,9,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{34,28,13,28,27,27,2,4,2,2,2,16,16,4,20,20,36,20,36,5,5,5,36,36,5,5,5,7,5,7,7,2},
|
||||||
|
{35,19,33,8,21,30,8,2,4,2,4,4,2,2,2,2,2,2,2,2,2,17,2,2,11,25,11,17,17,17,17,17},
|
||||||
|
{37,21,35,29,27,19,19,2,2,2,5,15,2,2,15,15,19,19,19,19,19,2,2,2,2,2,19,2,2,2,2,2},
|
||||||
|
{45,44,13,25,17,47,30,2,30,2,2,2,2,2,2,2,2,2,19,19,19,17,17,2,2,2,2,2,2,2,2,2},
|
||||||
|
{35,22,37,9,35,12,35,8,2,2,50,50,2,2,32,32,32,31,13,8,8,8,2,22,50,9,9,9,22,22,22,10},
|
||||||
|
{29,24,43,36,49,2,2,8,4,25,49,25,2,2,8,10,10,10,5,5,5,40,10,33,40,40,2,27,10,25,25,25},
|
||||||
|
{50,18,32,39,21,2,2,2,4,4,36,36,14,14,14,14,2,2,2,17,17,17,16,16,2,14,14,14,14,2,2,2},
|
||||||
|
{31,28,45,20,18,43,43,13,28,2,2,2,31,31,31,31,31,2,2,2,43,43,2,2,2,2,2,2,2,2,30,2},
|
||||||
|
{39,15,41,7,24,2,2,30,40,2,2,25,25,25,25,2,2,2,2,2,2,6,6,2,25,2,5,2,2,25,2,2},
|
||||||
|
{44,20,29,39,7,21,21,21,2,2,45,2,2,2,49,49,49,49,49,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{56,20,22,13,18,35,35,6,2,4,2,4,2,2,2,23,16,16,4,23,2,34,52,2,34,2,4,2,2,2,23,16},
|
||||||
|
{46,32,17,18,29,27,31,31,31,2,2,4,15,2,2,2,2,2,2,2,2,2,2,2,2,2,23,32,32,32,15,15},
|
||||||
|
{62,42,43,17,23,13,13,2,2,13,2,2,2,2,2,2,2,10,2,2,2,2,9,10,2,2,2,19,9,9,9,9},
|
||||||
|
{64,34,16,28,16,51,47,2,2,2,6,18,39,39,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,12,2},
|
||||||
|
{74,26,44,25,50,24,54,39,58,42,2,42,42,2,2,2,2,2,2,2,2,33,33,2,2,39,11,2,2,58,39,58},
|
||||||
|
{70,22,50,22,16,9,25,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{74,21,17,25,35,33,10,2,10,20,20,57,57,57,2,2,57,2,2,2,2,2,2,2,13,2,2,2,2,2,2,2},
|
||||||
|
{81,18,10,11,47,38,71,37,2,37,2,2,2,2,2,26,26,26,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{55,30,85,42,16,36,45,67,2,2,68,2,2,2,2,2,2,2,68,10,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{64,17,24,26,49,12,10,39,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,59,2,2},
|
||||||
|
{68,57,23,38,61,38,13,13,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,68,15,2,44,44,44,2,2,2},
|
||||||
|
{94,28,58,29,13,5,15,8,66,2,2,2,39,39,15,66,2,2,6,6,2,2,66,66,66,66,2,2,2,2,2,66},
|
||||||
|
{94,85,9,41,41,37,29,29,17,2,2,2,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,8,8},
|
||||||
|
{89,32,75,77,77,13,2,30,30,2,2,2,2,2,2,2,2,2,2,67,67,2,2,2,2,2,2,2,2,8,19,32},
|
||||||
|
{70,45,58,63,67,10,72,72,70,6,2,36,2,70,70,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{101,33,76,13,45,63,2,2,6,19,2,2,32,32,32,32,32,65,2,63,63,11,11,11,19,19,19,19,9,63,63,63},
|
||||||
|
{70,89,44,37,19,45,2,2,2,8,10,8,54,54,80,80,80,80,80,2,116,2,116,2,2,80,40,51,100,100,8,2},
|
||||||
|
{71,54,83,51,42,98,2,2,8,8,14,30,93,22,15,15,30,30,30,44,44,44,2,2,22,22,22,117,44,11,11,11},
|
||||||
|
{109,37,51,113,17,10,2,2,17,17,55,2,55,55,55,55,55,55,2,2,2,57,48,48,55,55,2,2,55,2,2,55},
|
||||||
|
{75,38,68,89,11,52,2,2,81,39,2,38,2,2,2,2,2,2,2,2,2,2,2,19,2,2,2,2,2,2,2,2},
|
||||||
|
{81,84,35,34,20,93,2,12,12,12,2,96,2,96,96,2,96,2,2,2,2,2,2,2,2,2,2,2,2,56,56,56},
|
||||||
|
{104,32,56,46,77,11,35,35,24,56,19,2,2,2,78,2,2,75,2,2,2,2,78,2,2,2,2,2,2,2,2,2},
|
||||||
|
{81,103,25,35,28,15,20,20,20,2,2,2,2,20,20,20,107,107,2,2,2,2,2,2,2,2,2,2,2,2,13,13},
|
||||||
|
{119,75,42,29,74,23,54,36,39,2,2,4,4,19,19,2,2,2,2,2,2,2,2,54,2,2,2,2,2,2,2,54},
|
||||||
|
{115,73,22,102,75,138,16,73,50,16,2,50,2,2,2,133,2,2,2,2,2,2,2,2,2,2,2,2,2,33,33,33},
|
||||||
|
{119,48,66,51,14,22,20,20,2,2,2,2,2,60,2,2,2,2,2,2,2,2,60,2,2,2,2,2,2,60,2,65},
|
||||||
|
{121,94,80,29,51,69,42,36,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,17,2,2},
|
||||||
|
{129,123,41,79,43,34,24,11,2,2,4,2,2,2,2,75,16,16,16,75,75,75,16,16,16,25,2,99,2,2,75,16},
|
||||||
|
{128,33,35,68,22,8,62,94,2,2,2,62,62,2,98,2,2,4,98,2,2,32,81,32,32,32,98,98,98,98,98,98},
|
||||||
|
{101,109,154,15,57,6,27,36,2,2,37,37,2,2,2,2,2,2,2,107,2,2,2,107,107,2,2,2,2,2,2,2},
|
||||||
|
{106,40,24,38,61,118,106,106,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{149,111,58,79,127,13,41,33,27,16,30,2,61,2,72,2,2,2,2,2,2,2,2,2,2,2,2,75,75,2,2,2},
|
||||||
|
{105,92,43,156,25,53,57,115,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{99,40,62,67,66,29,99,99,99,78,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,79},
|
||||||
|
{109,42,96,95,66,41,103,84,13,103,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{111,72,16,89,25,86,117,29,14,14,2,2,2,2,2,60,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{106,72,49,94,140,44,97,157,75,2,2,4,123,123,2,2,123,123,123,123,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{115,67,74,32,43,50,21,36,135,36,85,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{151,71,157,42,41,37,80,27,18,2,2,2,2,2,2,2,2,2,2,2,2,2,115,128,128,128,128,128,32,2,128,80},
|
||||||
|
{119,91,38,30,92,44,32,76,22,2,34,2,2,2,2,2,2,2,2,2,2,2,2,2,2,129,2,2,129,2,2,2},
|
||||||
|
{121,126,31,52,120,37,57,10,171,2,2,2,2,35,35,35,2,2,97,97,97,97,97,97,97,35,35,35,97,97,97,2},
|
||||||
|
{155,86,49,104,87,94,64,45,61,91,91,91,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{164,121,44,166,47,33,7,15,13,2,2,122,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{128,120,133,17,71,52,25,107,42,21,21,2,2,2,2,4,4,96,2,9,9,2,9,94,94,94,94,94,94,94,94,96},
|
||||||
|
{179,82,157,76,61,35,13,90,197,2,69,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,39,39},
|
||||||
|
{136,136,148,63,66,10,169,95,95,163,30,28,28,2,41,130,2,2,2,21,2,2,2,2,2,2,2,2,2,2,2,36},
|
||||||
|
{131,40,112,63,55,30,53,79,79,79,2,79,2,2,2,2,2,79,2,2,2,2,14,36,2,21,21,21,21,2,2,91},
|
||||||
|
{165,81,92,48,9,110,12,40,40,34,2,2,2,107,107,107,2,107,2,2,2,2,2,2,2,2,2,2,2,15,41,41},
|
||||||
|
{169,66,170,97,35,56,55,86,32,32,2,2,2,2,14,2,40,2,37,2,2,37,40,40,40,2,2,2,37,37,37,37},
|
||||||
|
{135,63,126,156,70,18,49,143,6,117,2,109,109,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{193,59,51,68,68,15,170,170,170,143,143,12,2,2,2,63,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{145,101,56,65,23,76,110,2,4,4,4,146,146,146,2,146,2,2,2,2,2,2,2,2,2,2,2,2,2,2,146,146},
|
||||||
|
{144,129,26,98,36,46,47,52,52,52,82,2,2,2,2,2,17,2,2,2,2,2,2,2,2,2,2,2,2,91,2,2},
|
||||||
|
{145,78,166,171,56,20,63,2,2,33,33,33,33,2,78,47,47,47,47,47,2,2,2,2,2,78,78,78,2,2,2,2},
|
||||||
|
{191,69,176,54,47,75,167,2,2,2,188,188,188,30,30,2,67,67,117,2,117,117,117,2,2,36,2,2,2,2,2,2},
|
||||||
|
{186,96,29,122,47,96,170,157,157,157,157,108,159,2,195,195,26,26,26,26,26,2,2,2,2,132,132,132,2,2,2,2},
|
||||||
|
{151,118,226,91,54,49,33,2,2,2,2,4,4,4,143,143,2,2,143,25,25,25,2,143,143,143,143,143,143,143,143,143},
|
||||||
|
{144,91,237,82,81,75,138,163,163,163,117,117,44,2,44,136,136,136,136,2,2,2,2,2,122,122,122,122,2,2,2,136},
|
||||||
|
{189,78,178,64,118,27,189,2,2,67,67,110,110,110,110,2,28,28,2,2,2,2,2,2,2,102,2,2,2,2,2,2},
|
||||||
|
{165,202,83,76,125,65,42,2,44,44,23,2,23,23,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{209,204,92,75,85,146,104,2,7,18,8,2,2,2,204,95,95,95,2,2,2,95,95,95,95,95,95,95,2,2,2,95},
|
||||||
|
{169,68,89,16,193,82,33,262,262,175,148,148,148,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{171,162,78,43,61,17,112,10,171,182,118,33,2,2,2,2,118,2,2,2,2,2,2,151,2,2,2,2,2,2,2,2},
|
||||||
|
{211,121,119,55,90,211,96,89,225,25,178,36,36,36,2,2,108,2,2,2,2,2,2,2,2,2,2,2,2,184,2,2},
|
||||||
|
{154,101,83,17,16,210,41,79,70,158,2,27,27,2,2,2,2,2,2,2,2,2,2,2,2,153,2,2,2,2,2,2},
|
||||||
|
{169,179,130,79,148,180,136,17,47,119,2,119,119,169,169,2,169,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{241,171,148,31,172,34,66,60,156,140,2,2,2,75,75,2,2,2,2,2,2,2,190,190,2,2,2,30,2,2,2,2},
|
||||||
|
{229,189,183,106,118,138,82,149,265,39,2,2,265,2,2,2,2,2,2,130,2,2,2,71,71,2,2,2,71,2,2,71},
|
||||||
|
{165,157,127,21,64,15,80,130,130,130,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,74,2},
|
||||||
|
{221,130,203,84,83,83,29,121,54,54,2,141,2,2,94,94,94,4,4,4,2,4,2,2,2,54,54,108,16,16,94,52},
|
||||||
|
{230,166,20,160,121,102,153,94,16,67,2,2,2,2,2,2,97,97,97,2,2,97,97,2,97,97,97,97,97,97,97,97},
|
||||||
|
{181,79,137,119,139,24,77,17,50,25,25,25,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{239,242,192,40,41,62,124,193,193,31,193,2,2,2,2,2,2,2,2,2,2,2,2,148,2,2,2,2,2,2,2,2},
|
||||||
|
{239,178,73,122,239,51,95,48,78,88,78,2,2,2,2,2,2,2,2,2,2,2,144,144,2,2,144,144,144,2,144,144},
|
||||||
|
{234,117,198,34,143,21,74,6,252,252,98,2,2,2,2,197,38,2,2,2,2,2,47,2,47,47,47,47,2,2,2,47},
|
||||||
|
{179,110,38,28,58,39,16,29,42,125,202,8,8,129,4,4,2,2,2,67,67,2,2,2,2,2,2,8,67,67,2,2},
|
||||||
|
{246,53,189,50,18,59,179,179,7,137,137,2,2,103,103,103,103,40,40,40,2,2,2,2,73,73,73,2,103,103,103,103},
|
||||||
|
{239,133,87,92,193,12,206,238,238,238,31,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{191,244,60,193,18,32,193,104,74,125,125,66,2,2,2,2,2,2,2,2,2,2,125,125,2,125,125,125,2,2,2,2},
|
||||||
|
{177,74,90,91,172,219,63,84,32,2,2,196,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{253,143,54,39,122,32,75,107,234,2,6,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{282,89,71,88,30,23,81,105,105,2,2,105,105,131,107,2,2,2,2,2,195,195,2,2,29,29,21,21,128,195,195,195},
|
||||||
|
{259,115,171,40,156,71,67,24,24,2,2,2,24,4,4,4,2,234,2,2,2,2,2,2,2,2,2,74,74,2,2,2},
|
||||||
|
{264,237,49,203,247,108,75,75,75,2,2,32,16,8,16,16,16,164,14,164,2,2,32,16,8,16,16,32,42,42,42,2},
|
||||||
|
{264,106,89,51,29,226,23,286,286,151,151,151,151,151,2,2,2,2,2,2,31,31,31,2,2,2,2,2,2,2,2,284},
|
||||||
|
{194,215,82,23,213,23,108,127,74,2,201,32,178,2,285,2,2,2,2,285,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{196,267,251,111,231,14,30,52,95,2,154,53,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{266,67,22,101,102,157,53,95,130,2,42,76,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{281,205,107,178,236,122,122,316,76,215,215,2,60,2,2,2,2,2,2,227,2,2,2,2,2,2,2,2,27,2,2,2},
|
||||||
|
{271,89,65,195,132,162,102,45,56,174,104,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{200,169,170,121,155,68,131,167,78,113,113,2,2,64,2,2,2,2,2,2,2,2,2,2,2,2,2,173,2,2,2,2},
|
||||||
|
{288,143,265,264,71,19,231,169,27,27,27,2,2,2,2,2,2,2,2,2,2,2,2,2,51,2,2,2,2,2,2,2},
|
||||||
|
{311,141,96,173,90,119,134,151,35,252,39,2,39,39,2,2,2,2,2,2,2,2,2,113,113,2,2,2,2,2,2,113},
|
||||||
|
{311,230,52,138,225,346,162,216,216,91,160,182,91,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{275,167,128,244,184,184,44,210,237,139,139,139,139,2,2,2,2,2,2,2,2,2,2,73,2,2,2,2,2,2,2,2},
|
||||||
|
{176,156,83,135,46,197,108,63,33,33,33,2,133,2,213,213,213,213,133,133,2,133,2,2,133,133,2,2,2,2,2,2},
|
||||||
|
{283,125,141,192,89,181,106,208,124,124,2,112,112,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{289,191,171,152,191,173,54,13,21,56,56,56,2,2,2,2,2,2,2,2,2,220,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{334,305,132,132,99,126,54,116,164,105,2,105,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,287,2,2,2,2},
|
||||||
|
{240,166,44,193,153,333,15,99,246,99,2,2,99,99,2,2,2,2,195,195,195,2,195,195,2,263,263,2,195,195,195,263},
|
||||||
|
{246,194,265,79,225,65,24,62,46,181,2,2,2,314,2,2,2,2,2,2,2,215,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{229,334,285,302,21,26,24,97,64,40,2,2,2,231,231,231,231,65,2,148,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{251,295,55,249,135,173,164,78,261,261,2,2,2,2,114,2,2,2,2,2,256,142,142,2,2,2,2,2,2,2,2,185},
|
||||||
|
{232,153,55,60,181,79,107,70,29,35,2,2,58,58,2,58,2,2,2,2,61,61,2,61,61,2,2,61,61,90,2,90},
|
||||||
|
{246,116,45,146,109,90,32,103,133,119,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{246,113,146,232,162,262,204,47,45,331,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{360,150,84,275,13,26,368,49,244,244,63,63,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{239,295,174,87,30,87,85,36,103,36,2,278,2,2,2,2,2,2,163,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{356,300,75,310,123,301,200,107,183,37,218,37,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{358,207,168,150,150,21,156,50,195,275,275,275,2,2,2,2,2,251,2,2,2,251,251,251,251,251,251,251,251,251,2,2},
|
||||||
|
{322,194,234,62,236,147,239,400,255,255,80,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{326,276,134,100,143,113,115,221,13,339,194,194,194,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{337,132,27,45,14,81,110,84,238,224,211,2,29,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{192,213,113,174,403,117,342,342,311,35,35,2,2,2,2,2,2,2,2,101,2,2,2,2,2,2,2,2,2,101,101,101},
|
||||||
|
{264,273,316,53,40,330,51,285,115,219,147,2,2,2,335,2,2,2,2,2,173,2,173,2,2,173,173,173,173,173,173,83},
|
||||||
|
{254,293,407,118,54,296,160,231,4,4,93,2,2,2,2,2,60,61,2,2,120,127,127,127,88,88,88,88,88,88,88,88},
|
||||||
|
{341,78,336,263,281,164,99,334,296,114,109,2,163,163,163,163,2,2,2,2,2,2,2,125,125,292,292,292,292,125,125,125},
|
||||||
|
{355,87,212,100,89,210,133,344,120,45,45,138,138,138,138,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{274,141,46,219,158,284,38,79,73,185,35,6,81,2,2,2,2,53,2,2,81,81,2,81,2,2,2,53,53,53,53,53},
|
||||||
|
{349,303,439,19,95,240,174,191,2,162,162,2,2,2,76,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{360,91,201,205,67,181,59,77,2,44,103,103,103,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,125},
|
||||||
|
{283,154,261,91,77,147,227,105,116,311,256,256,2,116,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,32,2},
|
||||||
|
{287,288,111,89,249,370,55,16,248,67,67,115,2,2,134,134,2,2,2,2,2,2,2,2,2,2,2,2,2,22,22,22},
|
||||||
|
{284,270,282,37,29,181,160,49,285,285,374,250,2,374,374,2,2,2,179,179,35,2,179,179,2,179,179,2,2,285,285,285},
|
||||||
|
{359,305,52,36,243,231,7,92,2,68,68,307,62,45,2,2,112,311,311,311,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{288,119,218,137,364,38,27,380,2,2,211,23,33,2,2,2,2,2,225,225,225,2,2,225,225,225,2,2,2,2,2,2},
|
||||||
|
{277,155,232,309,370,365,348,75,214,214,214,4,4,2,2,2,210,210,210,210,210,210,210,2,2,2,2,2,2,2,2,2},
|
||||||
|
{292,204,91,41,124,190,107,322,125,125,125,125,125,25,25,62,2,2,146,146,2,2,62,146,2,146,114,146,114,2,2,2},
|
||||||
|
{282,195,192,409,68,99,253,106,2,2,2,231,55,55,2,323,323,55,55,285,285,285,285,2,2,2,2,2,2,285,285,323},
|
||||||
|
{299,122,174,403,113,77,63,275,2,2,2,138,276,227,38,227,2,237,2,2,2,2,2,2,2,2,2,2,352,352,352,2},
|
||||||
|
{282,222,268,86,21,109,353,408,2,2,2,2,135,12,12,216,241,241,241,241,241,241,241,241,241,303,303,303,135,135,135,2},
|
||||||
|
{374,94,89,257,137,246,186,196,2,2,2,2,2,454,122,122,122,122,2,2,2,28,28,94,94,94,94,94,122,122,122,122},
|
||||||
|
{288,92,62,428,122,153,481,66,2,2,2,250,250,177,177,177,177,279,279,279,279,279,279,279,2,2,279,177,177,177,177,177},
|
||||||
|
{288,370,141,284,207,192,450,67,2,2,2,183,217,217,217,183,183,167,202,202,202,202,167,167,2,2,2,164,164,80,167,167},
|
||||||
|
{286,293,199,39,158,332,242,103,2,2,2,408,266,315,2,2,365,253,315,315,315,315,315,2,2,315,2,2,2,2,2,2},
|
||||||
|
{407,83,435,187,40,16,52,65,2,2,244,39,77,119,119,2,2,2,119,342,342,2,2,2,2,2,342,2,2,58,58,119},
|
||||||
|
{398,88,78,57,260,203,203,43,131,131,131,204,204,322,204,2,102,2,325,325,325,325,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{390,174,70,155,163,67,225,49,2,34,34,151,151,2,2,111,2,2,111,111,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{393,129,393,169,23,192,168,47,2,2,312,150,71,2,150,2,2,2,61,2,2,61,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{408,136,71,63,63,159,222,68,181,181,124,227,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{294,169,79,242,160,123,178,290,186,186,56,399,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{415,228,69,68,193,122,21,362,33,22,362,57,2,2,2,2,46,46,196,196,196,2,196,196,196,2,196,2,2,2,2,2},
|
||||||
|
{415,130,241,185,312,175,309,199,94,281,47,47,2,2,2,2,206,307,221,2,2,2,2,2,239,239,239,239,239,206,206,206},
|
||||||
|
{417,238,147,165,346,19,92,164,266,291,291,43,2,2,2,345,2,2,2,345,345,2,2,2,2,2,345,2,2,2,2,2},
|
||||||
|
{456,192,86,182,35,174,342,102,210,210,210,393,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,256,256,158},
|
||||||
|
{307,255,92,38,325,61,103,246,176,319,80,89,2,241,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{432,168,63,154,166,46,479,145,144,288,288,288,288,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{341,256,113,85,188,233,161,29,110,167,91,91,253,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{311,360,312,158,73,16,106,209,472,48,24,203,203,2,2,2,2,234,234,234,2,234,234,203,2,2,2,234,234,234,234,234},
|
||||||
|
{437,196,161,100,132,246,395,187,35,35,35,2,2,35,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{438,174,338,145,155,276,422,374,4,463,463,99,224,70,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{426,225,211,130,325,283,353,96,282,23,299,2,2,2,63,63,2,276,276,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{430,101,288,38,200,332,325,193,123,123,88,2,2,2,2,2,231,231,139,139,139,139,139,139,139,139,139,139,139,139,139,139},
|
||||||
|
{434,143,308,389,365,363,174,63,121,125,260,2,2,260,260,2,2,2,2,2,2,2,2,2,2,258,2,2,2,258,2,2},
|
||||||
|
{453,123,201,141,229,223,234,494,102,102,102,2,2,102,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,252},
|
||||||
|
{438,168,65,264,304,74,168,88,114,132,187,2,127,127,2,2,2,2,2,81,81,56,2,2,2,307,2,2,2,2,81,81},
|
||||||
|
{324,181,141,129,33,171,173,291,227,373,52,301,301,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{448,119,431,111,135,50,242,95,148,49,49,49,68,2,2,2,2,2,2,2,2,49,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{335,114,55,47,33,173,287,345,198,198,136,238,238,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{468,377,243,237,332,512,27,167,22,169,14,14,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{456,162,188,223,408,209,28,164,299,299,258,186,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{445,391,115,226,96,456,239,214,556,158,158,282,2,2,2,2,2,2,2,2,2,2,2,2,2,331,2,2,2,2,2,2},
|
||||||
|
{360,397,130,172,407,479,295,13,38,199,199,346,2,2,2,2,2,2,145,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{512,136,129,361,180,61,274,128,422,27,292,165,2,2,2,2,2,2,363,117,117,117,117,2,2,2,2,363,2,2,2,2},
|
||||||
|
{478,433,483,302,200,227,273,27,171,171,371,102,2,2,2,2,2,20,2,2,2,2,2,2,2,2,403,403,2,2,2,2},
|
||||||
|
{485,158,454,86,212,60,93,40,209,188,188,106,2,231,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{390,448,111,145,47,555,367,317,315,52,429,435,429,429,2,2,2,2,2,2,2,2,229,2,2,229,2,2,2,229,2,2},
|
||||||
|
{490,331,187,398,407,373,497,219,423,423,378,378,2,419,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{378,406,112,198,539,550,516,59,240,240,23,316,2,122,2,2,2,2,2,2,2,2,2,2,111,111,2,2,2,95,2,2},
|
||||||
|
{474,373,248,330,40,113,105,273,103,407,2,165,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{495,406,306,239,172,323,236,50,37,435,2,310,56,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{498,447,112,241,552,119,227,189,140,140,140,140,140,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{505,132,169,418,342,28,319,301,172,530,317,317,335,2,2,2,2,2,2,376,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{397,393,191,269,462,151,264,134,307,307,2,163,163,2,2,2,2,2,2,2,2,2,2,2,2,2,159,2,2,2,2,2},
|
||||||
|
{485,491,325,149,122,145,228,100,311,64,2,62,137,2,137,2,2,2,2,2,2,2,392,2,2,2,2,2,2,2,2,2},
|
||||||
|
{364,462,360,383,182,187,123,69,129,146,2,156,149,2,149,2,2,2,2,2,2,2,303,303,303,2,2,2,2,2,149,266},
|
||||||
|
{507,195,130,401,363,171,483,20,86,464,2,89,89,2,26,2,2,2,2,2,425,425,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{380,220,87,122,242,78,207,371,95,305,2,2,2,2,440,440,445,358,358,331,331,358,445,445,445,445,445,445,445,445,445,445},
|
||||||
|
{507,221,247,137,182,90,28,207,325,438,2,2,2,2,2,187,232,438,2,2,68,37,37,37,37,37,37,37,37,37,161,2},
|
||||||
|
{509,265,101,126,203,86,152,416,352,85,2,2,2,284,391,368,2,2,152,2,2,2,325,2,2,2,2,2,2,2,2,2},
|
||||||
|
{572,359,332,480,68,535,59,504,365,21,2,2,246,54,246,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{415,178,178,372,415,400,73,82,348,99,2,23,325,44,2,2,2,2,2,2,2,2,325,2,2,2,2,2,2,2,2,2},
|
||||||
|
{430,275,236,361,42,552,368,236,653,74,65,458,288,307,307,2,2,2,2,2,2,2,65,65,2,2,2,2,2,2,2,2},
|
||||||
|
{434,139,58,437,130,441,188,15,63,145,145,145,300,2,2,2,2,300,2,2,2,2,2,2,2,2,401,401,401,401,401,401},
|
||||||
|
{542,138,266,514,552,202,103,197,574,48,2,96,96,2,2,96,96,217,2,2,2,2,2,2,2,2,2,2,2,2,2,217},
|
||||||
|
{546,494,72,272,550,219,213,209,169,404,69,464,86,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{602,466,332,458,99,244,255,183,446,670,2,186,323,2,2,2,2,2,2,2,2,2,2,2,2,2,2,292,165,165,165,165},
|
||||||
|
{422,413,561,110,242,62,436,478,18,150,606,88,643,2,249,2,2,2,2,456,2,2,2,2,2,2,2,2,2,2,2,456},
|
||||||
|
{522,141,154,253,264,53,120,93,274,52,44,203,556,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{600,249,375,555,421,322,317,84,517,517,268,106,353,2,2,2,2,2,2,2,2,2,268,2,2,2,2,2,2,302,2,2},
|
||||||
|
{555,516,310,438,290,559,52,265,248,193,285,441,285,285,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{555,300,232,386,470,300,355,177,57,407,450,279,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{544,177,79,306,256,402,205,496,398,115,115,43,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{534,274,194,220,575,81,206,544,341,85,137,429,429,429,429,344,2,2,2,2,2,315,315,315,315,315,315,72,72,72,2,2},
|
||||||
|
{400,136,112,136,273,277,205,578,122,122,230,230,2,2,2,2,2,2,2,2,2,2,2,2,2,2,302,2,2,2,2,2},
|
||||||
|
{576,421,115,52,253,373,17,657,43,178,178,58,485,485,485,485,485,485,2,2,2,159,159,159,159,2,619,2,2,2,2,2},
|
||||||
|
{576,301,142,329,96,41,302,528,126,112,206,206,2,2,2,2,2,2,206,206,2,206,206,2,191,206,206,191,191,191,191,206},
|
||||||
|
{548,538,508,250,539,102,73,285,119,433,480,480,2,2,2,480,480,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{622,526,294,56,498,176,237,351,25,26,474,55,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{446,163,469,481,240,278,51,373,491,13,22,419,2,2,2,2,2,2,2,2,2,176,176,2,2,2,2,2,2,2,2,2},
|
||||||
|
{445,223,102,108,120,166,68,214,737,504,96,96,206,377,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,39,39,528},
|
||||||
|
{453,121,489,84,434,505,78,575,468,372,468,468,83,468,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{425,355,128,58,194,82,438,117,10,34,34,35,112,107,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{432,479,328,443,253,634,271,429,406,543,406,543,543,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{433,294,192,205,152,70,99,68,392,169,309,390,390,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,199,2,2,2},
|
||||||
|
{456,383,487,311,57,579,673,264,582,187,184,43,43,2,2,2,2,501,501,501,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{437,561,384,619,363,420,614,117,217,247,405,142,142,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{434,372,239,508,478,26,375,255,151,151,650,112,251,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{437,133,516,423,305,90,135,25,266,487,6,286,286,2,2,2,2,2,2,2,2,2,2,2,2,510,510,2,2,2,2,2},
|
||||||
|
{463,341,170,401,178,79,305,98,162,166,32,392,335,335,335,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{610,477,478,516,318,184,267,423,190,494,494,2,336,336,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{611,211,491,224,47,54,124,268,271,271,223,2,2,2,2,2,2,2,2,2,2,2,2,359,2,2,2,2,2,2,2,2},
|
||||||
|
{590,463,461,162,162,622,167,254,29,377,377,75,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{478,388,612,404,491,561,180,80,262,58,94,2,2,275,2,2,2,2,2,151,2,2,2,2,2,312,312,312,2,2,2,275},
|
||||||
|
{629,225,67,623,298,588,354,49,41,185,176,63,63,63,2,2,2,2,2,2,2,2,2,2,2,2,8,435,32,32,435,435},
|
||||||
|
{671,275,392,298,612,328,337,215,58,58,124,2,2,490,392,2,2,2,125,457,457,2,2,2,2,2,2,2,2,2,2,457},
|
||||||
|
{448,126,129,168,209,340,40,96,509,509,509,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{667,246,160,68,737,203,168,628,46,128,358,2,2,2,121,121,2,2,2,2,2,2,560,121,2,2,2,2,2,2,2,121},
|
||||||
|
{635,212,284,356,187,591,275,361,194,317,488,2,2,2,2,2,2,97,6,2,6,247,2,2,2,2,2,2,2,2,2,6},
|
||||||
|
{612,395,104,86,264,321,521,325,252,53,178,100,100,100,16,343,343,343,343,343,2,2,2,2,2,2,2,2,2,343,343,343},
|
||||||
|
{486,428,287,472,292,141,504,178,585,98,282,2,2,2,2,2,2,2,2,2,2,2,2,284,284,284,78,284,2,2,2,2},
|
||||||
|
{612,327,212,565,450,385,201,649,423,491,106,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{462,579,236,447,60,162,427,258,73,742,742,2,742,742,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{495,440,89,439,65,207,459,407,139,131,624,2,380,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{469,507,276,227,66,237,260,386,27,666,31,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{646,393,273,238,24,13,253,127,368,316,316,316,150,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{626,196,111,465,386,431,181,414,614,391,349,318,389,2,389,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{667,257,290,122,109,523,95,26,282,49,374,236,236,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,88,2,2},
|
||||||
|
{653,169,261,533,488,282,213,443,337,480,503,174,534,2,2,2,2,2,534,2,2,2,2,534,2,2,2,2,534,2,2,2},
|
||||||
|
{670,555,160,90,604,604,50,459,376,545,316,180,526,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{639,253,95,380,108,448,223,254,381,30,6,644,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{642,160,702,90,157,254,278,521,650,277,74,554,122,2,2,2,2,2,2,517,174,174,174,2,2,2,2,2,2,2,2,2},
|
||||||
|
{678,254,190,197,637,49,130,25,374,357,357,411,643,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,537,2,2},
|
||||||
|
{512,347,65,546,434,87,18,123,672,412,316,6,699,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{657,233,108,38,147,53,136,168,408,477,477,279,268,289,2,2,2,2,2,2,289,2,2,2,2,2,2,2,2,289,289,2},
|
||||||
|
{498,431,217,101,78,143,111,113,181,825,458,140,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{660,624,376,472,165,66,158,308,492,779,305,305,2,576,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{521,249,388,155,467,245,134,311,72,312,312,623,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{408,348,216,299,302,668,347,63,172,141,272,168,678,2,2,2,512,2,2,2,2,4,2,2,2,494,64,64,64,128,16,512},
|
||||||
|
{669,421,230,70,212,845,237,347,148,76,823,472,2,2,2,132,2,2,2,2,2,2,2,383,132,383,2,2,383,383,383,383},
|
||||||
|
{693,530,139,82,780,416,270,278,330,484,484,200,2,2,2,2,137,94,2,2,2,2,2,2,2,2,484,2,2,2,2,2},
|
||||||
|
{672,150,164,622,196,75,302,119,42,314,314,132,60,60,60,298,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{705,302,411,705,691,160,809,40,32,867,826,826,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{684,229,138,46,407,399,82,254,267,31,31,45,2,209,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{707,323,409,27,31,157,492,463,886,412,251,251,304,190,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{715,521,636,304,402,459,435,571,611,214,214,43,43,358,2,2,2,2,358,2,2,2,2,2,2,358,358,358,2,2,358,358},
|
||||||
|
{768,224,219,425,467,147,151,643,316,263,263,263,263,263,2,2,2,2,2,272,139,2,2,2,2,2,2,2,2,2,272,53},
|
||||||
|
{555,543,434,78,850,174,277,194,4,100,471,69,69,424,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{690,206,572,877,600,129,288,52,19,147,222,222,147,147,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{793,279,264,566,252,495,872,492,482,107,294,503,350,350,2,2,2,2,2,2,2,285,285,273,273,273,273,2,2,2,2,2},
|
||||||
|
{703,427,225,320,136,47,103,547,239,217,73,68,68,204,204,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{791,275,60,137,352,839,67,476,356,216,216,563,563,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{703,312,472,588,228,512,386,668,477,617,389,389,389,2,296,2,2,2,2,343,343,2,2,343,343,2,2,617,617,617,617,2},
|
||||||
|
{709,509,697,145,252,194,304,192,192,623,623,4,423,2,2,2,199,423,2,2,2,222,222,2,2,623,623,623,623,623,2,222},
|
||||||
|
{587,453,117,107,672,86,248,568,568,294,294,513,78,2,2,164,82,2,2,2,2,22,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{741,466,378,135,737,131,159,469,59,2,59,59,187,2,204,2,2,2,2,2,2,2,2,2,798,2,2,798,798,798,798,798},
|
||||||
|
{539,310,463,103,553,45,609,326,197,2,62,113,272,2,62,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{750,703,182,242,92,335,272,466,594,2,701,569,474,129,140,140,2,507,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{547,210,113,361,584,121,65,307,98,2,2,552,514,514,2,514,207,514,514,514,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{555,229,328,91,272,815,483,749,468,2,92,92,4,92,2,2,2,258,258,258,2,258,258,2,2,2,2,258,2,2,258,258},
|
||||||
|
{580,145,358,434,630,73,604,366,366,2,2,398,398,207,2,207,487,2,2,487,207,2,2,207,207,207,2,2,2,2,207,207},
|
||||||
|
{457,520,93,460,275,525,300,184,354,147,147,147,147,179,82,82,82,82,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{872,630,513,218,719,174,197,104,86,281,281,281,541,642,281,94,2,45,94,2,335,335,2,2,2,2,2,2,2,2,2,84},
|
||||||
|
{765,421,129,298,867,365,222,476,401,142,90,22,22,88,226,657,2,2,477,2,2,2,2,2,226,226,2,226,2,2,2,226},
|
||||||
|
{833,634,228,520,113,329,279,420,581,2,2,385,385,110,450,2,733,2,2,2,561,561,2,561,2,2,2,2,2,2,2,2},
|
||||||
|
{587,553,360,539,227,800,312,143,536,2,2,2,64,64,64,2,2,2,179,179,493,2,2,184,184,184,58,2,2,2,493,493},
|
||||||
|
{744,466,389,280,229,134,363,177,389,2,2,2,536,273,536,536,536,536,168,45,45,45,45,2,2,2,2,2,2,2,2,2},
|
||||||
|
{841,222,158,469,253,91,347,241,766,2,2,2,88,88,88,439,439,439,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{462,653,478,67,269,150,474,711,220,669,669,669,669,669,390,352,325,2,229,545,545,545,545,545,545,545,545,2,545,352,309,352},
|
||||||
|
{468,430,849,689,202,427,45,34,105,2,2,2,2,4,4,4,4,4,4,4,2,2,2,4,4,4,4,4,2,2,2,2},
|
||||||
|
{610,289,503,744,775,512,605,454,484,2,2,2,444,466,145,631,2,631,631,631,631,631,631,631,631,631,2,2,631,631,631,858},
|
||||||
|
{792,169,306,843,246,123,293,229,483,2,2,2,165,163,163,163,163,440,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{563,325,717,766,440,705,290,123,228,2,2,2,32,64,146,2,2,2,116,79,79,2,146,146,79,79,79,2,2,146,146,79},
|
||||||
|
{795,185,350,211,82,537,106,680,62,2,2,537,423,423,423,2,2,501,501,2,501,2,501,2,2,2,2,2,2,2,2,2},
|
||||||
|
{633,425,295,548,497,163,381,461,89,2,2,831,583,896,38,2,625,2,2,2,276,276,2,2,276,2,2,2,2,2,2,2},
|
||||||
|
{767,318,84,97,208,387,423,196,417,2,396,396,396,396,396,128,128,2,2,2,328,328,4,4,4,4,101,2,2,328,82,16},
|
||||||
|
{802,533,869,638,67,192,805,223,219,2,2,191,178,178,77,77,2,2,2,2,431,431,2,2,2,431,431,2,2,431,2,2},
|
||||||
|
{781,638,410,399,336,465,856,426,28,2,4,4,6,6,2,2,2,449,372,372,449,449,449,2,2,449,449,449,449,449,449,2},
|
||||||
|
{807,377,237,443,388,286,158,349,491,32,32,260,260,260,2,2,260,615,615,615,2,2,260,260,260,260,260,615,615,615,615,615},
|
||||||
|
{780,359,766,618,41,596,86,636,287,707,707,96,49,373,613,373,2,2,2,2,2,2,2,613,613,613,2,2,2,2,2,2},
|
||||||
|
{788,497,334,93,319,169,273,540,904,2,903,569,569,569,272,272,2,2,2,2,571,571,571,571,571,571,571,571,571,571,571,571},
|
||||||
|
{622,309,913,550,994,90,257,588,29,526,526,526,496,496,576,2,2,2,2,2,182,182,182,2,2,447,447,447,447,447,447,182},
|
||||||
|
{814,652,456,774,624,870,27,739,464,2,108,578,578,561,295,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{818,280,99,873,165,426,341,74,479,342,727,684,684,662,662,2,2,2,2,2,2,662,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{593,411,953,203,89,57,785,354,349,424,424,707,707,707,829,2,2,2,2,2,670,670,670,2,2,424,424,424,2,2,670,424},
|
||||||
|
{629,560,621,245,683,633,495,551,472,2,31,74,489,684,555,684,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{901,490,693,410,666,119,703,593,201,61,70,70,774,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,418,418},
|
||||||
|
{669,321,391,548,189,157,337,42,796,871,276,622,30,2,2,2,2,2,2,2,580,580,107,2,2,2,2,2,434,434,434,434},
|
||||||
|
{610,236,633,300,681,358,72,281,148,466,466,283,275,2,386,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{929,360,102,893,329,136,515,33,170,581,268,35,777,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{859,584,475,745,506,900,40,869,143,612,175,275,209,12,12,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{822,581,76,382,72,347,964,324,137,61,61,28,623,351,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{655,330,324,151,166,431,58,174,142,115,1003,66,724,778,2,2,2,503,503,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{867,820,301,252,61,331,105,309,562,218,365,326,768,672,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{623,330,182,489,212,223,741,490,40,412,801,681,681,801,2,2,71,2,2,2,2,2,2,427,2,2,2,2,2,2,2,2},
|
||||||
|
{859,844,510,859,118,190,550,29,159,622,622,382,258,382,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{612,237,272,53,534,682,372,935,494,536,536,599,599,599,2,536,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{843,730,235,233,816,495,598,134,131,604,227,378,378,553,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{667,397,121,526,321,660,848,729,357,137,268,711,521,521,2,2,2,2,2,2,2,2,2,2,2,2,2,194,2,2,2,521},
|
||||||
|
{939,783,796,676,259,643,103,289,15,471,80,80,2,239,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,888},
|
||||||
|
{670,595,333,257,907,413,548,341,327,350,612,700,700,700,700,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{678,274,695,790,169,701,707,1084,470,123,846,846,217,121,317,2,2,2,83,83,83,83,83,83,83,83,83,2,2,2,2,2},
|
||||||
|
{877,181,375,79,199,256,223,295,135,371,395,354,2,307,944,2,813,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{882,417,475,424,311,646,346,207,74,157,590,356,2,2,324,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{708,442,186,698,345,103,687,463,163,416,416,107,2,2,2,375,375,416,6,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{865,675,786,568,112,197,225,348,372,497,215,215,2,2,2,2,159,159,150,224,224,141,2,2,2,2,141,141,141,141,141,141},
|
||||||
|
{844,244,672,489,839,263,14,233,422,392,8,392,2,2,2,2,2,2,815,815,815,815,257,257,105,105,2,2,2,815,815,815},
|
||||||
|
{693,726,117,167,535,725,224,78,716,100,460,299,2,2,2,2,921,744,2,2,2,2,2,378,2,2,178,178,178,2,178,178},
|
||||||
|
{898,559,396,742,51,143,411,221,116,756,756,756,2,2,2,701,701,2,2,2,2,240,225,256,322,322,240,240,240,240,240,322},
|
||||||
|
{697,540,358,391,932,309,103,73,35,353,353,503,2,2,353,134,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{982,579,548,413,416,103,71,101,1039,526,684,684,2,2,656,2,2,2,2,2,2,2,2,2,2,2,656,656,656,2,656,656},
|
||||||
|
{695,881,335,126,429,476,772,667,974,98,433,49,129,129,2,2,2,2,2,2,2,2,2,2,544,2,544,2,2,2,2,544},
|
||||||
|
{859,361,215,569,255,378,543,436,220,34,105,105,816,816,816,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{705,770,134,178,940,944,654,600,46,797,797,591,2,145,616,2,2,2,2,2,2,389,389,2,122,2,2,2,389,389,909,389},
|
||||||
|
{642,757,247,513,372,54,546,971,271,61,61,1018,2,143,332,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{988,271,675,163,379,108,48,472,870,485,485,18,2,485,528,528,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{865,827,614,74,725,685,724,190,178,272,835,722,2,35,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{923,397,722,186,203,575,24,144,36,526,206,787,12,100,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{718,359,103,558,684,560,67,35,120,342,680,265,265,265,2,2,265,2,2,2,2,2,2,2,2,2,430,2,2,2,2,2},
|
||||||
|
{927,493,988,194,97,1006,377,578,105,248,707,784,98,784,2,2,2,2,2,2,2,2,2,370,370,2,370,2,2,2,2,2},
|
||||||
|
{900,455,485,601,353,69,67,965,25,226,314,314,883,923,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{903,259,153,106,289,916,861,41,441,368,131,131,262,671,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{945,358,160,196,82,403,362,195,376,877,521,336,521,77,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{912,516,108,555,306,274,55,197,565,174,659,208,441,441,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{753,242,194,619,345,94,463,485,163,85,412,575,270,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{940,226,320,666,269,54,542,174,109,290,754,524,649,2,202,2,2,2,2,2,2,2,776,202,776,776,776,2,2,202,202,202},
|
||||||
|
{915,210,456,377,303,237,225,521,621,175,569,20,124,2,601,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{672,652,792,253,796,404,171,90,406,433,43,159,72,2,2,372,2,540,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{733,439,537,37,149,650,916,443,743,621,921,664,664,2,2,2,2,2,682,523,523,523,2,2,523,523,523,523,523,523,523,523},
|
||||||
|
{982,344,812,567,243,52,246,369,439,205,600,739,730,2,2,2,61,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{982,604,126,65,633,657,22,776,161,45,725,44,4,2,2,2,2,2,2,2,2,2,269,269,2,2,2,2,2,2,2,2},
|
||||||
|
{745,600,284,1117,459,1135,300,52,845,331,334,334,334,2,334,334,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{936,409,217,57,574,395,481,245,548,268,447,598,375,2,192,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{986,241,233,45,721,325,350,222,35,1065,1065,1065,1065,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{755,796,877,981,259,194,1180,215,90,658,662,662,662,2,36,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{981,626,987,827,466,458,578,346,475,223,223,223,342,1058,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,728},
|
||||||
|
{949,422,941,491,66,786,592,429,307,123,40,478,478,478,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{992,723,625,251,431,544,309,466,700,644,484,837,904,320,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1077,496,819,340,974,122,39,1209,819,18,461,648,648,394,2,2,2,2,2,2,61,2,2,2,2,2,394,2,2,2,2,394},
|
||||||
|
{999,674,212,673,279,579,462,754,89,866,345,110,110,887,2,2,2,2,2,707,707,2,2,2,2,2,2,2,2,2,2,707},
|
||||||
|
{1083,356,367,357,559,213,606,477,71,103,790,103,299,299,2,2,2,2,2,2,406,406,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1005,260,389,960,501,714,118,73,334,1019,704,204,504,205,822,822,2,2,2,2,2,2,2,2,2,2,684,2,2,2,2,2},
|
||||||
|
{738,749,769,610,306,326,328,578,479,840,840,840,68,192,2,150,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1010,937,449,474,154,456,766,318,275,444,709,2,778,778,778,806,779,779,2,2,2,2,2,2,2,2,806,2,2,2,287,287},
|
||||||
|
{1011,780,134,945,183,42,741,25,252,164,205,222,222,222,147,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1118,427,294,404,268,217,922,515,19,1045,1045,2,833,291,448,2,2,2,2,2,2,2,2,2,175,2,2,2,2,2,2,2},
|
||||||
|
{1094,640,912,223,67,472,623,623,1244,65,1009,1209,1209,812,387,2,2,2,513,2,2,2,2,2,2,2,2,2,2,2,1209,234},
|
||||||
|
{722,375,264,390,515,498,1161,391,884,551,238,2,2,825,549,2,2,2,551,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{792,250,299,210,496,682,94,207,220,227,227,2,2,227,73,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1022,409,93,359,983,345,280,280,104,940,940,2,2,382,1039,2,2,2,2,831,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1027,925,413,335,327,826,250,122,293,773,564,541,420,420,420,774,763,2,2,2,2,2,2,900,110,110,2,763,2,2,2,2},
|
||||||
|
{1028,730,807,119,209,146,230,498,164,309,309,2,2,2,693,912,430,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{997,525,680,120,466,728,288,110,1082,544,572,2,2,663,290,290,2,2,754,2,2,2,2,2,582,582,582,582,582,2,2,2},
|
||||||
|
{1055,395,795,561,222,85,294,433,377,89,89,2,2,2,456,821,2,2,821,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{997,614,240,638,755,575,874,321,600,235,665,2,2,2,154,154,767,767,2,767,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{802,298,672,424,104,623,152,159,476,760,66,2,2,2,215,215,490,490,490,2,2,2,2,2,490,490,490,490,490,490,490,490},
|
||||||
|
{1128,788,124,501,561,1015,419,787,48,620,705,2,2,2,2,88,18,2,215,215,215,2,2,215,215,2,2,2,215,2,2,2},
|
||||||
|
{807,433,721,434,449,242,170,842,21,4,642,2,2,2,2,2,4,4,4,4,2,856,856,856,885,885,856,856,856,856,856,885},
|
||||||
|
{755,612,235,265,369,855,414,362,478,518,518,2,2,64,16,8,32,4,16,8,8,1041,501,1041,2,2,64,16,8,8,16,270},
|
||||||
|
{1004,719,1041,460,551,516,135,417,130,698,698,2,2,2,655,655,655,655,655,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1017,568,930,1113,556,1299,114,881,690,475,641,2,2,2,779,779,103,2,528,2,2,2,2,2,2,528,528,2,2,910,910,2},
|
||||||
|
{814,473,286,752,476,779,420,569,742,164,490,2,2,2,793,812,812,812,2,812,812,2,2,526,526,812,526,2,2,2,526,526},
|
||||||
|
{818,301,273,664,206,971,895,590,912,523,523,2,2,452,384,255,2,130,130,130,130,865,2,2,2,255,2,2,2,2,2,2},
|
||||||
|
{820,249,292,1017,1017,143,403,37,433,456,515,2,2,69,640,2,2,2,2,2,2,2,2,2,2,2,2,824,824,824,2,2},
|
||||||
|
{1078,527,589,244,170,892,827,606,1165,773,189,2,2,240,22,2,2,2,2,2,2,759,621,621,621,621,621,621,621,621,621,621},
|
||||||
|
{865,1132,428,582,254,408,536,376,825,116,116,1266,1266,1266,705,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1062,268,389,1325,598,276,1270,48,572,439,302,2,544,609,544,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1065,517,247,1142,247,674,385,120,592,177,98,2,956,364,275,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{635,503,594,203,456,1246,221,396,1151,178,66,2,781,587,86,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1157,395,446,280,1130,695,668,271,111,882,477,615,615,615,2,2,2,2,2,2,2,2,615,615,615,615,615,615,615,2,305,2},
|
||||||
|
{830,397,932,519,818,113,367,694,88,535,535,414,343,175,2,2,2,2,2,2,2,2,2,2,414,864,2,2,864,864,864,864},
|
||||||
|
{793,463,329,730,390,551,968,92,511,470,424,563,672,563,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1050,749,809,479,87,757,288,172,597,722,4,418,418,390,2,2,2,2,2,390,390,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1084,402,130,1077,276,154,1068,779,511,853,83,757,757,38,2,2,2,2,2,202,2,2,2,2,2,2,2,2,2,2,757,2},
|
||||||
|
{1090,255,271,110,159,235,158,236,271,815,1300,416,416,416,2,2,416,416,2,2,2,399,791,791,2,791,2,2,2,2,791,791},
|
||||||
|
{1058,417,271,172,312,363,184,191,28,183,759,214,759,39,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1057,385,263,395,901,274,727,340,1117,263,813,870,858,429,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1102,846,985,1085,764,124,764,51,874,612,478,801,478,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1120,665,311,695,319,1033,511,297,602,1030,1030,714,240,240,2,2,2,2,2,2,2,2,2,2,2,2,2,953,2,2,2,2},
|
||||||
|
{814,293,763,661,575,631,524,636,112,691,595,1103,405,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1106,662,258,190,1315,214,530,263,318,904,877,1317,318,2,510,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1206,469,299,1052,655,114,189,213,321,188,64,475,475,2,2,662,662,662,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1120,1159,358,347,838,207,357,167,476,52,672,38,822,2,2,2,2,2,2,213,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1076,596,553,545,79,727,881,121,298,169,639,368,695,115,115,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1130,177,84,673,350,543,543,95,128,954,430,884,884,2,884,884,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1222,412,430,707,691,746,131,607,311,607,112,217,912,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{820,461,681,382,273,273,358,274,274,91,887,676,386,2,676,676,2,2,2,2,2,2,2,200,2,2,2,2,200,2,2,2},
|
||||||
|
{1096,1166,209,407,1127,400,974,322,428,906,631,134,171,2,2,2,2,664,664,664,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1091,946,437,51,527,802,597,639,587,645,510,586,586,2,2,2,2,2,2,2,2,2,2,2,2,2,2,168,168,168,168,168},
|
||||||
|
{1148,585,868,1282,666,417,733,1231,515,332,1213,337,337,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1103,276,174,408,233,170,955,108,530,354,585,38,677,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,476},
|
||||||
|
{1167,478,1169,1053,563,371,108,772,413,497,1338,991,660,2,2,2,2,2,2,2,2,2,2,2,2,27,2,2,2,2,2,2},
|
||||||
|
{1108,437,1160,324,868,686,361,399,786,1161,1161,707,731,731,655,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1116,331,280,422,1109,341,570,243,849,241,566,61,608,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{898,782,478,1208,196,983,608,537,196,1141,141,296,715,715,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1099,1187,300,240,268,413,1366,634,184,768,773,365,783,224,783,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1158,945,300,1115,205,495,435,302,187,774,774,843,843,284,284,2,2,2,2,909,933,933,933,2,2,909,909,2,2,2,2,909},
|
||||||
|
{904,660,1283,46,33,124,416,218,152,970,1241,305,307,307,307,260,894,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1127,553,287,58,739,99,514,739,766,42,580,241,598,598,936,936,936,629,629,629,629,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1142,370,287,925,307,1232,129,11,1284,1056,33,33,536,521,2,1286,2,2,2,2,2,2,2,2,2,2,2,2,847,847,847,847},
|
||||||
|
{1140,814,528,677,84,1192,305,637,335,451,103,325,77,969,2,651,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1297,600,419,985,846,493,186,109,147,239,197,762,762,327,327,1004,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1181,615,482,653,238,130,313,506,98,1314,730,730,730,730,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{921,613,628,1288,111,150,191,233,633,83,387,602,105,394,2,2,2,2,2,2,2,351,2,2,351,351,351,2,2,2,351,351},
|
||||||
|
{1192,555,586,516,1288,733,64,653,364,273,421,215,75,75,2,2,2,2,2,2,953,953,953,953,8,383,383,2,161,383,953,953},
|
||||||
|
{1160,617,505,1205,374,906,23,408,194,91,91,91,585,984,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1203,1101,497,352,254,309,464,123,607,1080,265,1145,1145,1145,284,284,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1210,656,1026,782,802,442,1319,734,794,165,165,796,93,796,2,829,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{963,646,721,1161,219,667,1088,485,692,692,663,535,553,662,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,686,686,2},
|
||||||
|
{966,590,140,297,189,844,633,12,847,742,742,244,281,34,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{941,231,1038,309,173,770,413,560,855,660,721,1103,721,721,721,2,2,2,2,2,2,2,2,2,2,2,2,174,2,2,2,2},
|
||||||
|
{1213,305,656,983,1399,1196,692,986,9,339,754,308,2,308,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{972,768,1109,523,642,546,1452,29,1296,13,813,813,2,1496,2,2,2,2,2,2,2,165,165,165,165,165,165,2,2,2,2,544},
|
||||||
|
{1330,671,528,831,1426,735,33,425,364,119,363,978,2,761,483,476,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1188,217,838,237,379,202,785,949,479,169,348,872,2,872,872,2,2,2,2,2,2,1028,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1190,286,513,881,390,215,387,130,749,554,1110,519,160,160,160,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1247,353,973,217,1044,1318,1115,319,203,390,1244,225,2,2,508,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{893,560,132,1420,721,191,568,799,412,22,322,93,2,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{987,774,678,175,145,264,588,97,1308,6,828,1129,2,2,2,45,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{955,980,753,96,574,259,1327,556,342,1415,1036,1036,478,478,478,478,507,2,2,2,2,151,2,2,317,2,2,2,2,2,595,595},
|
||||||
|
{882,1038,211,110,942,337,1305,1225,661,183,381,381,2,2,2,2,347,2,2,2,2,2,2,2,600,431,431,431,431,431,431,431},
|
||||||
|
{1208,486,343,725,677,1204,135,139,924,170,1111,317,2,2,2,2,202,706,202,107,107,107,2,2,706,706,107,107,2,2,2,706},
|
||||||
|
{1259,1017,456,298,443,838,137,744,551,334,36,951,2,2,2,699,718,2,2,984,2,2,2,2,2,2,984,984,2,2,2,2},
|
||||||
|
{1212,1186,641,284,565,636,895,82,690,117,184,184,2,2,2,397,902,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1263,370,132,635,381,47,537,179,1192,301,1282,33,2,2,2,1553,2,2,2,2,2,2,2,2,2,2,2,307,307,2,2,2},
|
||||||
|
{1223,433,252,572,424,82,221,107,382,430,203,461,2,915,362,964,2,2,964,2,2,2,2,2,964,964,964,964,964,485,485,485},
|
||||||
|
{1015,593,112,1408,51,104,199,221,931,1010,928,928,2,2,878,878,2,2,2,2,731,731,2,731,731,2,731,2,731,731,731,2},
|
||||||
|
{1220,410,1193,352,260,434,469,41,1090,961,961,728,2,2,330,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{898,1043,391,1289,29,830,184,321,1136,85,1133,1082,864,864,2,2,2,2,2,2,2,2,789,789,2,789,789,2,2,789,789,2},
|
||||||
|
{1223,434,851,152,140,1495,190,397,925,37,1080,430,2,2,204,2,759,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{989,1043,184,232,64,403,284,745,171,171,995,223,380,380,1400,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{939,1070,1288,254,973,901,321,109,568,713,336,988,2,946,262,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1276,636,569,258,325,675,342,85,88,579,833,833,833,833,520,2,2,2,2,520,520,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{982,508,815,214,206,602,448,685,446,572,1549,8,1047,1047,1047,2,2,2,2,2,2,2,363,502,2,2,71,363,2,2,363,363},
|
||||||
|
{1288,1398,789,514,151,600,1618,1194,1419,441,234,204,1191,438,828,2,857,857,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1002,342,1045,757,1008,979,322,240,1211,171,552,123,2,129,129,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1401,402,525,293,97,223,452,808,61,169,1023,1023,886,886,1023,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1001,644,263,164,136,939,624,95,489,1023,1107,331,331,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1011,475,845,532,567,951,663,295,877,1275,227,39,618,683,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1401,741,509,797,47,157,1256,482,1513,899,736,780,780,210,2,2,2,2,783,783,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1047,880,369,402,641,446,639,586,277,396,419,275,825,820,2,2,2,238,238,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1273,701,831,1294,1580,137,162,415,563,11,92,116,116,116,2,2,2,2,2,2,1029,1029,1029,504,504,877,877,877,877,877,1029,1029},
|
||||||
|
{1335,400,315,412,172,125,568,1024,58,601,398,985,640,577,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1453,947,486,485,453,415,1164,684,504,605,422,998,727,727,2,2,2,1136,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1057,1198,146,529,284,1286,160,135,75,686,648,1425,821,586,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1052,442,936,64,132,1378,1323,161,161,161,230,131,12,12,2,2,2,2,2,2,2,2,2,2,2,998,998,998,998,2,2,2},
|
||||||
|
{1422,838,234,554,736,243,344,526,1108,33,1303,699,249,305,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1279,681,423,813,806,269,412,420,985,485,761,1013,649,796,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{938,614,523,557,898,624,178,461,287,985,371,371,260,613,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1335,834,652,528,536,523,497,60,173,777,238,59,4,59,4,8,2,2,2,559,559,559,559,559,559,559,2,2,559,559,559,2},
|
||||||
|
{1040,998,324,93,887,497,1326,443,152,1193,595,80,80,80,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1302,1116,283,1006,891,838,768,373,468,968,1178,1178,1269,1269,876,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1027,1128,114,395,357,417,848,22,389,1257,734,838,838,301,900,2,90,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1072,724,717,877,873,369,1031,698,917,1641,1641,1641,53,549,549,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{987,1243,424,240,53,1150,558,292,1107,574,814,1474,1474,1068,1186,2,2,2,2,2,2,2,2,2,2,2,2,2,2,859,2,2},
|
||||||
|
{1040,420,960,882,64,661,292,146,976,427,689,248,248,248,638,2,2,2,2,2,2,2,2,2,2,2,2,861,861,861,2,861},
|
||||||
|
{1040,522,666,398,78,208,293,818,134,867,147,147,482,2,4,629,629,629,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{987,1280,1245,1300,926,676,56,546,541,690,84,42,1000,1383,1383,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1324,588,1378,592,1445,1029,759,1296,739,931,363,704,312,704,704,704,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1058,454,1557,191,129,297,695,1390,1274,460,923,923,923,2,4,1059,2,2,2,2,2,2,2,2,2,2,2,2,2,1059,2,2},
|
||||||
|
{1327,572,282,1022,907,1276,409,643,1050,633,187,187,187,2,228,45,2,2,2,2,2,2,320,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1395,958,237,101,559,891,560,47,524,747,197,589,589,917,887,887,887,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1395,529,461,402,194,392,122,781,111,162,780,593,593,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1378,541,848,848,347,856,102,104,183,156,395,130,1377,2,2,2,159,159,159,2,2,2,772,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1062,212,784,63,252,873,1302,1108,1380,84,1375,1375,1375,2,2,2,375,374,2,980,2,2,2,980,980,980,2,2,2,2,2,2},
|
||||||
|
{1384,549,430,781,946,879,901,924,741,114,14,451,36,2,2,2,2,287,287,287,803,803,803,803,2,2,2,803,803,803,803,803},
|
||||||
|
{1413,627,1329,1092,526,197,31,417,1149,981,964,1003,685,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,717,717,2,2},
|
||||||
|
{1084,1174,1601,949,910,960,500,461,1290,23,1042,636,212,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1420,531,626,738,376,537,814,206,990,235,847,812,201,201,201,201,726,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1420,624,363,537,1436,278,292,377,263,820,376,382,382,2,654,655,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1091,793,1353,208,506,599,846,503,1011,247,289,61,1050,61,61,61,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1533,978,284,156,914,162,685,1184,252,1375,189,256,640,2,640,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1531,692,414,277,541,1371,1447,682,536,109,432,1240,1240,2,1022,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1128,398,791,1170,76,661,408,259,756,495,79,553,10,10,1532,1532,1532,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1040,704,618,854,374,1470,274,383,941,519,351,351,351,351,351,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1427,988,498,1529,99,678,1323,149,33,426,543,543,335,1507,772,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1102,349,490,266,144,220,599,437,743,764,647,1128,605,265,324,324,324,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1118,496,645,592,354,1133,935,428,72,532,182,182,1370,660,123,2,294,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1102,1042,315,745,1006,771,630,68,587,1187,295,295,295,408,408,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1118,724,1322,405,199,614,1087,885,1313,317,769,660,660,1158,535,2,2,2,373,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1120,772,743,488,346,126,784,584,943,153,311,133,133,969,605,605,2,2,2,2,2,2,2,605,2,2,2,2,2,2,2,2},
|
||||||
|
{1404,284,176,590,1128,1371,322,543,1136,546,1315,174,174,777,777,891,2,2,2,2,2,2,2,579,579,579,579,2,2,2,2,2},
|
||||||
|
{1441,791,233,141,141,316,89,296,462,1263,758,482,599,599,578,341,2,2,2,2,2,2,2,2,2,2,2,525,525,525,2,2},
|
||||||
|
{1413,406,700,547,1166,250,518,543,104,331,205,205,691,691,2,2,118,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1485,400,1497,168,82,680,1103,554,249,702,493,101,296,236,2,236,236,944,944,2,2,394,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1127,869,558,533,1215,194,1762,784,593,777,1153,1079,1079,1079,2,2,2,330,1045,2,1045,1045,2,2,2,2,2,2,2,2,2,787},
|
||||||
|
{1459,1243,467,533,266,1364,1031,890,1402,486,1678,1678,93,978,2,2,2,978,947,947,2,978,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1139,809,117,522,955,1096,1120,1470,116,184,1565,1565,557,557,2,2,2,2,2,829,1326,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1142,984,1044,590,340,241,662,357,366,1305,2,125,631,474,2,2,2,980,2,2,2,2,2,2,2,2,2,2,2,2,2,1273},
|
||||||
|
{1469,1247,1277,616,209,486,106,552,219,217,471,272,272,1201,2,2,503,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1148,542,1478,496,950,464,1011,235,136,180,2,416,758,453,2,909,2,2,2,2,2,2,2,2,2,2,1019,1019,2,2,2,2},
|
||||||
|
{1495,1178,874,415,1100,368,1057,1228,562,215,31,31,680,680,680,1208,2,2,2,2,2,2,2,2,1208,2,2,2,2,1208,1208,2},
|
||||||
|
{1497,1166,1613,1403,107,803,993,539,1436,1289,2,240,334,634,532,1147,2,2,2,2,2,2,2,117,2,2,2,2,2,2,2,117},
|
||||||
|
{1617,289,1033,169,355,260,30,45,721,906,88,44,44,418,417,218,2,2,846,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1628,721,400,239,728,1336,984,425,65,120,1232,463,463,640,349,616,616,2,2,2,2,2,2,2,2,147,147,2,2,2,2,2},
|
||||||
|
{1628,286,541,530,1610,201,1220,1592,272,181,2,38,263,1586,1157,1157,1157,2,2,2,1157,1157,2,2,2,1157,2,2,2,2,1157,1157},
|
||||||
|
{1531,621,210,755,482,82,1308,317,427,168,2,232,116,190,701,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,701},
|
||||||
|
{1532,575,1245,360,249,630,133,1406,920,1539,63,63,76,82,82,2,2,2,770,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1102,785,118,93,1491,988,275,53,1328,26,2,2,240,647,240,761,761,761,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1478,722,113,1534,1751,115,1728,1234,777,282,508,508,1184,63,1184,855,855,2,2,2,738,738,578,578,2,2,2,2,2,2,2,2},
|
||||||
|
{1480,536,1421,164,429,84,970,1673,548,497,2,2,530,156,156,128,245,2,2,2,2,260,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1533,1302,1286,538,619,526,1669,145,1034,125,2,1038,1038,388,388,387,729,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1482,961,1093,556,1746,628,427,689,510,751,684,37,37,1229,1256,882,1507,1507,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1472,852,533,433,924,57,53,1036,410,675,1212,1212,1212,600,600,1212,1259,1245,1245,1245,1245,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1228,425,1030,699,407,171,568,925,1104,97,2,2,1286,1286,1286,502,2,1219,1219,1219,1290,2,1219,1219,1219,1219,2,2,2,59,2,2},
|
||||||
|
{1547,657,777,695,1254,224,933,367,212,385,2,2,2,1422,749,245,885,710,2,2,710,710,710,45,710,710,710,710,2,336,710,2},
|
||||||
|
{1678,466,549,145,351,816,1041,334,192,192,2,2,348,1017,130,4,4,180,180,180,180,512,2,2,2,512,512,512,512,512,128,8},
|
||||||
|
{1550,569,481,1041,1680,1114,1265,160,386,194,2,2,2,533,929,531,422,531,1355,1355,1355,1355,531,216,216,2,2,2,2,2,2,2},
|
||||||
|
{1559,462,850,289,1570,71,512,858,810,835,2,2,2,2,1028,1205,1205,546,546,546,1205,1205,1205,1205,1205,2,1205,1205,1205,1205,1205,1205},
|
||||||
|
{1192,888,701,164,131,613,282,237,525,366,2,2,2,2,1737,845,845,750,2,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,2,1261,1261},
|
||||||
|
{1208,426,412,1072,274,248,1544,627,9,458,2,2,2,2,2,2,270,270,270,150,715,282,150,150,150,150,150,150,150,150,150,150},
|
||||||
|
{1128,393,1522,96,160,581,540,120,441,176,2,2,2,2,2,2,1427,551,1102,1102,328,328,592,592,592,592,592,592,592,592,592,592},
|
||||||
|
{1202,538,171,1177,1090,690,1566,746,1012,1012,2,2,2,2,313,781,808,313,1125,1117,930,1117,1117,1117,1117,1117,1117,1117,1117,2,2,2},
|
||||||
|
{1567,1265,372,1633,613,484,243,1523,21,275,2,2,2,431,431,431,431,2,2,978,489,889,889,889,889,889,889,889,2,2,2,2},
|
||||||
|
{1566,982,815,133,891,412,1179,831,651,268,2,2,2,367,366,367,367,63,63,767,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1522,1422,1017,124,499,451,731,1112,1355,1355,2,2,2,854,854,336,854,336,1297,2,2,2,193,193,193,193,193,2,2,2,2,2},
|
||||||
|
{1160,1331,917,1696,401,547,122,592,863,863,2,2,703,703,703,703,495,495,495,2,2,495,495,495,495,495,269,2,2,2,269,269},
|
||||||
|
{1538,814,1027,677,524,226,756,202,242,102,2,2,912,564,1289,682,2,1125,1125,1125,1125,2,1289,1289,1289,1125,1125,1125,2,1289,1289,1289},
|
||||||
|
{1598,397,1471,1471,1162,866,236,948,1557,737,2,2,153,737,1408,765,765,608,2,2,2,171,608,608,608,608,2,608,608,2,2,2},
|
||||||
|
{1598,434,107,270,148,1317,835,123,642,1236,2,2,67,633,771,878,771,878,878,2,2,2,771,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1628,1502,1042,822,80,403,1335,684,464,426,671,671,336,336,336,2,425,896,2,2,2,2,1337,1337,1337,1337,1337,1337,2,2,2,2},
|
||||||
|
{1630,715,1368,1273,993,293,385,545,1267,896,1038,1038,270,1325,1325,2,2,961,961,961,961,961,961,2,2,961,961,2,2,961,2,961},
|
||||||
|
{1612,723,409,641,796,1087,1228,1398,623,262,740,740,870,870,397,2,2,893,893,2,2,1367,328,2,328,2,2,2,2,2,2,2},
|
||||||
|
{1614,588,652,105,441,844,734,912,532,878,1073,1073,62,1415,693,1431,1431,1431,1431,925,925,925,925,925,925,925,2,2,2,2,2,2},
|
||||||
|
{1607,1503,1072,471,221,277,854,1236,263,752,2,694,1657,934,553,2,2,2,498,498,2,802,2,46,2,2,2,2,2,2,2,2},
|
||||||
|
{1172,987,140,1964,584,600,852,1725,456,1199,718,718,791,981,791,2,2,2,2,2,1260,2,2,2,2,2,718,2,2,718,2,718},
|
||||||
|
{1746,771,620,415,1057,437,613,1034,1662,837,2,1149,1466,1149,1149,1149,1466,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1263,835,1533,789,1259,174,1497,557,644,203,2,289,604,434,434,434,2,844,844,2,2,2,1111,1111,1111,2,2,2,2,2,2,2},
|
||||||
|
{1272,884,388,1889,956,159,1172,595,219,645,2,629,107,107,1279,75,2,2,2,211,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1797,904,172,659,349,177,692,448,1141,990,640,99,1073,806,640,640,2,640,640,911,911,911,640,640,640,640,2,2,2,2,2,2},
|
||||||
|
{1276,442,1008,1352,243,162,711,301,552,1002,668,668,384,71,384,384,2,2,2,2,2,727,727,727,777,777,777,777,777,777,2,777},
|
||||||
|
{1600,1130,171,1113,813,722,117,990,37,24,969,94,825,1398,1398,1398,1398,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1198,496,714,609,644,1159,873,249,186,1539,136,239,379,1994,2,68,68,68,68,68,2,2,192,2,969,2,2,969,2,2,969,969},
|
||||||
|
{1678,1316,460,1133,1003,150,1236,1316,1417,218,1763,1763,77,77,2,1491,771,771,771,771,771,2,771,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1682,449,1067,393,136,854,36,492,637,1053,247,1111,1111,1111,2,247,247,247,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1288,1690,702,760,420,333,1213,1911,805,351,67,67,1568,1568,2,2,604,142,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1288,1858,152,894,346,104,997,203,249,1006,1278,1489,1489,555,2,2,2,1074,1074,518,2,2,518,2,2,518,2,2,2,2,2,2},
|
||||||
|
{1601,697,532,408,697,1140,1568,47,1499,780,1171,318,318,318,2,2,2,2,318,318,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1283,1078,791,873,655,412,389,835,292,958,1245,678,1611,1519,2,2,185,2,2,2,2,2,2,1245,1245,2,2,2,2,2,2,1245},
|
||||||
|
{1685,1610,1447,1093,1255,937,703,431,522,1384,988,988,253,988,2,1892,1892,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1822,589,236,205,797,39,241,1048,181,386,102,102,102,111,1361,1361,1361,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1233,843,813,157,396,669,1531,439,640,733,996,996,996,1566,951,608,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1342,705,302,595,1200,52,83,647,519,139,103,103,103,513,2,513,2,2,2,2,2,513,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1630,1244,142,767,1299,719,629,1716,419,837,1145,1136,1148,1405,1405,1405,2,2,2,2,2,309,309,309,309,309,2,2,2,2,2,2},
|
||||||
|
{1636,974,279,419,893,1608,1491,156,1486,115,730,730,863,509,924,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1318,1234,213,1089,1567,602,1330,404,467,718,249,215,354,177,59,332,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1732,1771,584,533,297,1056,669,293,146,311,1176,311,590,590,277,2,2,2,2,2,2,2,2,2,539,539,2,2,2,2,2,2},
|
||||||
|
{1026,512,1196,394,1259,1313,762,549,311,1576,1576,465,465,140,465,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1360,383,1470,502,1010,153,1588,619,1246,396,1107,1107,112,423,423,2,2,2,2,2,202,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1320,1636,858,1210,509,194,1575,154,1424,455,1860,832,1075,581,262,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1670,1350,689,1074,437,956,587,642,1154,439,196,1108,1108,1108,990,2,2,2,2,2,1112,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1873,890,920,874,591,651,768,478,331,76,760,760,760,760,67,2,2,2,2,1241,1241,1241,1241,2,2,2,2,2,2,2,1241,1241},
|
||||||
|
{1682,867,333,102,628,891,654,506,995,684,961,563,1313,1313,1313,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1672,1248,429,813,262,92,809,1248,560,1365,1392,753,753,1259,1261,2,2,2,2,2,2,2,2,177,177,2,2,2,2,2,2,2},
|
||||||
|
{1391,1598,1112,590,797,584,1354,47,1473,1291,1874,48,491,463,990,463,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1875,1576,924,677,461,134,1525,1619,44,701,299,743,728,791,791,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,791,791},
|
||||||
|
{1267,904,1187,1595,765,1451,494,1573,950,909,87,1265,757,1371,1005,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1360,1091,1478,1237,97,578,1616,494,1422,223,865,1092,359,2,1080,4,2,2,2,688,1965,2,1965,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1750,386,393,840,723,791,1707,1319,1525,83,1302,571,280,2,280,73,2,2,2,1207,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1763,1018,1859,432,717,723,874,1294,1050,1800,1237,619,1074,2,10,1237,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1376,652,461,225,361,936,1073,1279,149,619,983,511,1994,2,2,1076,1076,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1947,393,495,946,1375,391,2128,582,1143,695,1872,760,760,2,2,1456,974,974,435,974,974,435,974,2,974,974,2,2,2,2,2,2},
|
||||||
|
{1768,1463,531,1008,95,1677,362,1105,985,177,1682,1682,244,2,2,1234,1041,1041,1041,2,2,2,1041,1041,2,2,2,2,2,2,1894,2},
|
||||||
|
{1780,1739,1357,1684,1586,736,208,966,1691,339,339,128,128,2,2,128,128,128,2,2,128,2,2,2,2,1929,2,2,338,2,2,338},
|
||||||
|
{1387,1459,358,1409,1919,917,777,223,313,1847,1012,1024,1024,2,2,2,2,1420,1420,1428,1420,2,1420,1420,2,2,2,1420,1117,1117,1117,1117},
|
||||||
|
{1289,907,228,665,1695,1735,489,214,762,1777,321,1674,932,2,2,2,2,1358,709,2,1959,1959,372,2,2,372,372,2,2,372,372,372},
|
||||||
|
{1378,680,1117,1367,759,62,319,563,505,1138,1093,345,693,2,2,2,780,780,2,2,2,729,729,729,2,2,2,2,2,2,729,729},
|
||||||
|
{1802,1645,453,1079,604,618,334,855,541,167,37,88,849,2,2,518,518,2,2,530,2,2,2,2,2,2,2,119,119,2,2,2},
|
||||||
|
{1275,1612,143,1586,502,987,555,436,2236,1826,494,494,358,2,2,213,2,2,2,2,2,2,1585,1585,1585,1585,1585,1585,1585,1585,1585,1585},
|
||||||
|
{1322,512,560,432,365,87,1835,1137,515,1271,1739,309,309,1229,1229,1229,2,2,2,2,2,2,2,2,416,416,416,416,2,2,2,2},
|
||||||
|
{1758,835,287,888,391,875,1834,516,1432,1171,98,408,302,976,976,1963,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1444,394,1613,796,645,1406,186,158,402,1364,314,588,606,2,577,117,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1337,1391,137,371,165,87,1026,20,419,99,572,572,918,854,918,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1323,589,526,1555,1636,1172,86,42,1545,57,627,1769,1769,2,867,343,2,2,2,2,2,2,2,724,2,2,2,2,724,724,2,2},
|
||||||
|
{1323,1647,384,301,270,549,1098,1144,1066,55,88,1805,683,2,945,120,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1327,1075,539,1017,926,350,1102,236,494,1268,286,286,1293,267,227,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1472,661,1538,487,94,2209,563,138,881,1735,718,203,1382,1473,1473,1473,1473,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1413,766,349,1471,45,625,733,1082,170,58,1268,207,1081,1081,1081,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1861,1487,419,97,799,1791,458,1029,370,627,57,414,414,1540,247,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1881,716,268,387,2138,1212,999,408,1363,434,1429,1429,1648,1648,1007,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1480,1131,1089,1688,340,962,505,1816,139,44,1350,403,1385,1996,173,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1868,650,1146,1690,948,43,497,692,1628,1302,1302,108,462,731,731,2,2,2,2,2,2,2,185,185,185,2,2,2,2,2,2,2},
|
||||||
|
{2023,1204,531,733,1054,618,668,363,783,218,1302,2055,559,2055,2055,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1328,601,601,617,554,467,391,1545,162,1361,807,1565,1565,243,1344,2,725,510,510,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1808,1525,1129,652,1195,329,1410,558,1322,911,161,536,737,94,306,2,2,2,2,2,2,2,2,2,541,541,541,2,2,2,2,2},
|
||||||
|
{1911,1338,639,1106,854,128,19,1353,847,253,618,517,2054,2054,93,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1825,850,180,1483,864,953,50,81,106,432,1372,1372,1212,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1892,441,977,228,1252,604,735,136,889,878,1319,1319,2127,2127,1963,367,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1820,1553,536,1351,425,1268,227,1742,429,348,1397,552,1151,1151,2,180,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1453,1044,556,833,305,1493,989,1158,726,1790,532,1229,1229,1229,2,2,2,2,2,2,2,2,2,2,259,2,2,2,2,2,420,2},
|
||||||
|
{2059,592,492,973,137,1331,392,334,635,1480,2254,1796,1796,284,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1460,986,709,268,755,824,83,893,115,656,2071,1323,1001,144,2,2,2,2,2,2,2,2,1527,1527,1527,1527,1527,1527,1527,2,801,801},
|
||||||
|
{1850,1476,792,840,2037,229,1578,526,431,1485,1450,1001,1001,1001,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1922,1383,813,346,1247,666,1931,1111,2042,79,682,501,1349,1930,2,2,681,681,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1922,542,1739,625,88,1376,259,49,338,318,505,788,1314,657,2,2,2,1314,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1948,1530,576,582,1069,119,2131,41,1178,1677,1677,1677,325,346,2,2,2,2,2,2,1401,2,33,2,2,2,2,2,2,71,71,71},
|
||||||
|
{1928,1111,168,1252,1467,1083,1927,603,1278,714,1027,50,751,1970,2,2,2,2,621,2,100,2,2,10,10,2,2,2,2,793,793,793},
|
||||||
|
{1394,896,674,2350,1375,1599,1858,135,762,722,628,685,705,28,2,2,2,2,2,2,2,2,2,2,2,855,2,2,2,2,2,2},
|
||||||
|
{1540,791,518,419,1130,1068,299,1386,1378,134,859,859,71,162,2,71,71,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2107,709,828,154,542,184,1094,1665,307,1549,177,2007,85,773,2,2,2,2,2,2,2,2,2,2,2,697,2,2,2,2,697,2},
|
||||||
|
{1977,1218,244,365,576,666,761,238,629,913,1907,986,1351,986,704,1257,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1496,1912,1291,1053,510,2322,1048,1530,2223,673,894,594,628,332,2,2,2,2,2,295,295,295,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1520,1107,1082,687,484,1732,676,1595,467,653,1091,428,2113,332,332,332,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1905,612,920,848,562,2032,230,1305,1073,851,731,798,798,357,516,2,2,2,2,2,2,2,2,1465,1465,373,2,2,2,2,2,2},
|
||||||
|
{1428,1062,1016,75,297,1130,533,768,464,753,48,1510,1510,418,375,1626,2,221,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1396,729,1710,337,371,489,1341,2117,132,1870,853,853,408,1079,328,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1978,1051,977,588,1423,1001,508,409,825,497,659,1063,384,463,463,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1534,854,2007,1207,947,1773,1571,1505,909,1471,1655,1655,2334,1327,409,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2157,2106,679,238,378,49,1101,588,811,1313,1556,2301,475,812,812,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2187,1515,549,1416,1073,1613,47,1046,390,252,1214,1404,1404,933,1013,2,2,2,1025,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2145,1069,662,709,737,1141,1737,827,1384,1628,107,107,1032,277,277,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2173,1379,155,393,1578,610,1911,899,697,58,185,597,597,1249,1369,2,2,2,2,1369,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1413,1589,1603,2268,520,333,1416,859,1619,867,1154,512,1291,413,413,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1600,1823,1698,1268,623,583,1932,1674,522,529,1862,1281,246,989,246,2,246,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1559,992,174,1313,612,1487,1487,461,702,37,1660,839,2,95,1628,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2066,1719,710,1294,2041,377,1005,690,132,756,1618,187,187,726,187,615,615,2,2,2,2,851,2,2,2,2,2,2,2,2,2,744},
|
||||||
|
{2192,1029,310,1609,592,1542,265,117,2006,82,162,205,2,2009,2009,1201,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1570,1504,1414,1143,1999,1932,1015,1015,556,514,626,79,2,79,1795,1461,1461,2,2,2,2,2,2,2,1461,1461,1461,1461,1461,2,2,2},
|
||||||
|
{1562,937,1964,934,1349,378,459,109,1676,1655,1339,1809,2,768,768,188,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1965,949,1057,1043,2256,1571,970,348,69,1324,1174,485,105,105,105,2172,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2044,1869,838,1424,1097,155,1142,230,1335,420,235,1510,2,431,425,622,2,2,2,2,2,625,2,2,2,625,625,2,2,2,2,2},
|
||||||
|
{1976,1433,820,504,421,1007,388,1083,635,82,1524,750,2,2,870,106,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1990,1948,1138,1787,253,115,312,1912,341,1624,260,1783,1315,1315,790,790,790,790,790,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1993,585,327,1393,1013,1671,1758,1436,1989,1217,1109,1476,2,2,1042,756,1042,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2056,1062,1605,1943,680,445,113,857,650,1388,2016,1231,2,2,1292,1292,1292,2,1039,1039,1039,1039,1039,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2008,1773,416,1954,1314,742,1694,505,202,1747,785,375,2,2,2,477,1538,477,2,2,2,2,2,1309,1309,1309,1309,2,2,2,1309,2},
|
||||||
|
{1658,1008,258,749,427,1071,2052,263,1047,2152,1602,1602,2,2,2,1311,669,669,2,1897,1897,1897,669,669,669,669,669,669,669,669,669,669},
|
||||||
|
{2258,1887,1875,1021,863,604,543,1115,509,1243,312,213,2,2,2,2,335,770,770,2,1143,567,2,2,567,567,567,411,2,2,2,411},
|
||||||
|
{2266,1872,991,1468,1168,939,907,833,624,701,386,1713,2,2,2,2,2,931,861,381,1299,2,861,2,2,2,861,861,861,861,861,2},
|
||||||
|
{2273,1510,803,2278,842,1245,1389,230,822,1564,113,1276,2,2,2,2,1350,273,273,2,2,2,2,2,1281,1281,1281,2,2,1281,1281,1281},
|
||||||
|
{2278,1028,548,373,190,1443,614,2386,1940,930,557,2069,2,2,2,558,112,103,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2108,776,1568,342,2215,1882,681,1292,1601,586,1481,618,1930,1930,1930,1930,2146,89,89,2,2,2,2,2,2,2,1171,2,2,2,2,2},
|
||||||
|
{2139,2177,1652,392,715,605,778,632,472,1619,64,64,2,2,2,1747,859,2,2,2,2,2,216,216,216,216,1747,1747,1747,1747,1747,1747},
|
||||||
|
{1492,448,271,135,1288,417,130,83,235,2313,482,746,2,2,746,609,611,611,611,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1628,846,1504,138,464,401,501,506,967,1027,1540,1035,2,1921,1539,1539,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1630,1677,1624,301,1038,909,887,374,411,143,1021,174,2,1393,19,634,2,2,2,2,2,2,2,873,2,2,873,873,2,2,2,2},
|
||||||
|
{1654,1131,2054,994,2170,548,801,252,87,219,488,2239,2,1232,1839,1822,2,2,2,968,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2065,1520,1423,1797,899,1425,1801,776,2365,58,646,695,2,998,998,1342,2,2,2,2,2,2,2,2,2,2,2,2,1150,1150,2,2},
|
||||||
|
{2304,1948,316,1063,237,607,1143,2575,1388,1022,127,251,2,438,1570,1570,1570,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2177,710,1912,617,809,1078,199,905,673,519,457,52,2,1348,1348,410,2,2,2,2,2,340,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2073,1543,1586,1296,2466,753,455,46,119,1694,2035,1592,206,206,206,2,2,2,2,2,2,2,2,1172,2,2,2,2,2,2,2,2},
|
||||||
|
{2075,1056,874,2101,566,1790,1333,386,538,1560,2254,331,717,717,717,454,454,2,2,2,2,2,2,2,2,2,2,2,454,454,2,2},
|
||||||
|
{1670,977,1540,553,855,1729,239,757,191,62,732,549,1092,1092,199,199,199,199,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2096,1155,2257,125,1986,245,1208,2146,2287,680,1413,73,467,1410,1410,2,2,2,2,2,133,133,133,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1538,1026,2157,1457,1784,2559,184,29,614,273,697,697,1922,697,697,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2106,856,1025,382,389,272,425,672,1021,216,601,292,510,510,876,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1662,608,2478,266,1330,505,40,2058,964,724,596,1221,1221,310,42,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1600,1338,196,1510,1371,1138,957,169,545,1176,1131,2460,1708,541,541,2,363,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1682,1008,737,444,822,999,2066,283,646,1860,1008,778,1178,1178,458,1743,2,2,2,2,2,2,2,2,2,2,2,2,2,1743,1743,1743},
|
||||||
|
{2132,756,1097,166,202,411,640,717,514,1389,633,633,633,633,633,633,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2386,748,620,478,647,898,320,53,1115,190,60,1860,1860,802,802,2,2,2,2,1264,1346,1346,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2125,996,1081,124,1140,628,1668,1913,151,2495,523,430,260,708,2190,2190,2190,2,2,2,2,2,1660,2,2,497,497,497,497,497,497,2},
|
||||||
|
{1602,1489,895,383,56,698,2081,1728,794,789,16,16,797,302,52,2,2,2,2,2,2,2,2,2,2,797,797,797,797,797,797,1808},
|
||||||
|
{2210,606,901,547,131,1924,1852,1271,194,766,390,390,520,795,1429,1429,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1731,599,817,724,718,1038,1082,2503,1341,936,421,1802,1304,1304,1491,186,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1614,1058,847,689,749,1028,1047,1474,117,1369,1442,1442,1540,700,104,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1733,679,2041,2420,326,934,1172,1431,193,370,1073,1073,1073,260,2,2,2,2,2,2,2,2,2,2,2,2,1193,2,2,2,2,2},
|
||||||
|
{2168,1532,769,2570,1303,357,1793,1633,1226,1025,205,1218,1984,764,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2234,1706,356,581,532,933,1704,387,1345,1345,34,135,350,307,614,614,307,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1656,2093,354,310,306,1553,106,459,175,55,1482,958,254,254,2,356,356,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1654,1035,330,533,1446,953,499,142,1527,1748,265,1437,265,510,2,2,2,2,2,2,2,1835,1835,1835,1835,2,2,2,2,2,2,2},
|
||||||
|
{1600,479,1457,246,2025,618,1612,2139,169,1492,1097,1327,2007,2007,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1744,447,845,2145,748,1555,1193,1312,916,1770,1294,546,794,323,2,2,2,2,2,1733,1733,2,2,1730,2,1733,1733,2,2,1733,551,551},
|
||||||
|
{1766,1558,1901,1393,987,1859,815,1165,50,2065,88,88,1453,1453,2,2,2,995,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1615,1267,1242,1494,399,663,68,1209,1573,528,640,1200,248,640,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1678,592,1351,509,312,721,163,1597,1262,199,2643,1330,1661,992,2,2,719,2,2,2,2,2,2,2,2,2,2,2,2,2,1704,2},
|
||||||
|
{2207,970,838,2043,1016,561,267,329,584,608,679,303,832,1613,959,959,959,1409,1409,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2217,352,447,914,1200,561,614,1616,509,2292,1114,1114,1229,52,1053,1053,1053,2,2,2,2,2,2,2,2,2,2,2,2,2,795,795},
|
||||||
|
{2313,595,1593,1951,133,282,372,2396,1117,226,2104,267,374,267,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2312,1231,1604,997,652,1096,1070,320,481,662,911,1610,342,2527,606,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2245,1541,1828,783,615,428,1282,1892,848,1219,2465,314,314,314,2,2,2,2,2,2,2,2,2,2,2,2,1323,2,2,2,2,1323},
|
||||||
|
{2522,1030,324,1264,628,1339,480,234,2351,1085,1979,2333,1339,1356,1356,2286,2,2,2,2,2,2,2,2,2,2,2,2,2530,2,2,2},
|
||||||
|
{2519,1136,612,209,994,1179,1060,2621,130,485,661,1444,2122,124,258,1114,2,2,806,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2524,1894,253,2072,1242,355,888,1362,28,480,452,1216,595,545,354,1145,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2569,1356,1053,410,437,58,1508,831,2272,383,1725,615,1191,1191,1191,2493,186,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2386,1106,709,251,784,929,1551,2481,304,2148,1546,955,2453,866,866,2,2,2264,2264,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2228,1163,1995,649,1000,680,325,1591,774,767,711,711,1418,524,711,401,976,2,2,2,2,2005,2005,2,2,2,2,2,2,1390,1390,2},
|
||||||
|
{2362,1706,564,1088,1296,1267,70,1015,496,1298,758,154,240,240,154,154,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1715,2260,357,557,783,1195,2288,1997,1120,144,247,175,1277,203,203,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2294,2360,1353,748,1439,226,940,2316,1112,1527,214,1406,1429,712,1124,2,595,595,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2303,1018,316,280,1616,909,97,1126,1295,736,216,54,2045,726,1673,2,2,2,2,2,779,779,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2390,491,1217,1148,2314,2250,2180,308,613,662,1346,1346,1346,1280,778,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1732,527,1303,664,71,294,404,917,1074,180,2618,2412,441,1987,1750,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1695,1287,1346,1181,1412,1653,830,2025,957,1720,1614,887,964,964,964,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1756,2308,1986,101,957,633,1940,1002,390,1237,95,1441,95,95,705,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2461,1412,540,1183,229,300,47,585,518,402,1863,1863,560,1326,1326,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1707,717,366,287,1883,50,599,1371,474,1551,947,2142,1885,947,2008,1004,1004,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2632,567,1149,1227,1156,2052,643,1585,1197,581,63,718,699,149,149,1940,2,2,2,2,2,2,2,2,2,2,2,2146,2,2,2,2},
|
||||||
|
{1773,2024,377,340,1938,103,1180,600,199,848,2449,2449,506,506,762,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2435,1920,394,1482,266,1637,911,1697,1689,1249,1085,1085,397,2292,1355,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2345,662,270,324,1061,1080,1952,593,1480,2111,2667,2093,2059,2120,955,1447,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1777,455,1487,1190,455,1542,977,2308,437,1129,410,856,1420,412,412,766,2,2034,2034,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2662,2224,1142,656,59,598,730,458,226,1151,741,1286,1015,2,688,2017,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2666,768,529,990,2329,130,1678,2466,318,1083,387,1524,511,2,731,731,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2501,1216,246,1278,718,704,2019,88,273,1203,67,1488,1828,2,2,1489,1489,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2474,2292,1818,2061,2833,751,2172,1708,1210,1675,370,131,163,2,2,163,163,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1751,1575,889,828,82,1956,712,499,1420,1686,339,2326,2035,2,2,558,558,2,1234,2,2,2,2,2,2,2,2,2,2,2,1239,1239},
|
||||||
|
{2522,1148,1943,168,218,252,543,1535,2004,130,353,353,42,2,2,2,1173,1173,2,1547,2,2,2,2,2,2,2,1547,1173,1547,1547,2},
|
||||||
|
{2695,432,1213,579,865,1637,1857,84,447,155,2492,347,1980,2,2,2,1155,1155,1155,2,1933,1933,1933,2,2,2,2,2,2,2,1901,1901},
|
||||||
|
{1808,1683,474,1761,106,602,1416,217,1351,1602,366,393,1966,2,2,2,2,2,378,378,606,606,606,2,2,2,2,2,919,919,919,919},
|
||||||
|
{2428,1576,1692,449,2012,240,1167,418,272,1557,2197,645,645,2,2,2,2,2,2150,2150,2,2,562,715,2,2,2,81,81,2,2,2},
|
||||||
|
{2727,781,1689,1709,997,2563,1032,468,44,992,1214,725,75,2,2,2,2,360,360,380,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1948,1085,1344,2090,1435,2389,3193,1007,1003,244,667,1838,2062,2,2,2,1802,299,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2433,932,689,818,2014,1498,749,1645,867,1627,47,1766,2193,2,2,2030,2030,2,430,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2463,712,1525,2092,2942,352,761,242,2178,2339,483,1905,1347,2,2,65,529,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2547,920,386,925,74,579,323,2319,520,2332,1535,751,1591,2,770,770,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2452,2588,2055,665,818,2622,413,1260,965,211,989,1219,166,2,1251,1251,2,1256,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1957,2311,993,276,293,2826,1087,880,927,1811,1122,2974,2974,2,2,590,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2552,998,533,827,1619,831,1861,918,750,1955,241,1899,448,2151,2151,449,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1860,579,1000,1575,898,170,185,1032,293,2754,438,459,459,2,1199,1199,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2602,2417,1888,2528,1410,669,1543,233,814,2478,225,1449,1449,224,1671,1671,2,2,931,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1889,2527,1366,1371,387,925,1751,162,250,1064,292,467,467,546,1244,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2492,1186,1350,1616,2749,1962,33,708,279,813,1390,489,1203,268,173,2410,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2500,1575,423,541,561,380,262,1564,1923,1242,2084,1758,1283,2213,924,924,2,2,2,2,2,2,2,2,2,2,2,1827,1827,2,2,2},
|
||||||
|
{1842,1736,489,743,1539,1681,683,1412,1418,312,2778,2778,1975,1975,803,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2824,1183,2201,278,241,2230,1591,1648,1036,818,1321,1312,754,813,813,813,813,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1900,2506,952,1059,163,870,681,1235,1271,1188,2071,1705,1183,648,404,2,2,2,2,2,2,2,2,2236,2236,2,2,2,2,2,2,2},
|
||||||
|
{2662,1443,2327,132,490,1149,1572,744,429,621,1763,2383,1903,1246,964,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2673,2182,1307,1776,1233,1828,1828,340,249,216,503,160,160,582,926,2129,2129,2129,2129,2129,2129,2129,2129,2129,2129,2129,2129,2,1018,1018,1103,1103},
|
||||||
|
{2042,620,1074,2057,2758,859,815,1127,766,1693,252,808,981,416,416,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2102,881,2170,1673,705,101,58,1712,1568,214,758,488,1007,269,243,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2692,2665,961,1478,324,429,1311,376,1648,130,2083,1047,409,343,343,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2122,1087,563,1669,647,2996,151,2458,250,310,71,1348,355,965,2815,1333,1333,2,2,2,2,2218,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1952,1968,2260,2945,2464,1055,2626,570,1316,1828,1828,970,970,221,220,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2072,1947,1779,254,2822,1552,855,804,3452,202,695,82,684,208,1270,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1947,1699,1341,486,1765,1960,264,899,1082,1674,987,1878,930,1008,930,930,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1953,1527,1643,591,1517,2427,1232,1555,2542,495,675,2534,2534,3106,83,3106,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2744,1728,2213,792,761,1667,1908,31,447,442,815,2865,762,762,762,762,2,2,2,2,2,2,2,2,2,2,2,2,649,649,649,2},
|
||||||
|
{2722,1406,1257,807,2191,3017,1330,1023,602,2124,794,530,733,733,1083,2528,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{1963,1525,437,398,609,393,2420,3059,435,1251,1977,1672,450,1960,1954,1960,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2626,2468,2838,845,2060,218,1080,912,911,1973,1365,920,1316,1316,2,1316,1316,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2734,1727,1743,1026,809,1154,779,244,1238,1616,812,784,825,1810,1810,1810,1810,1559,1559,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2180,2262,1651,204,3193,2121,2725,1016,629,1834,603,2848,26,26,728,728,728,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2648,1328,2578,133,1377,105,2485,2139,323,1045,145,761,1201,1848,2,814,814,814,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2999,358,250,1379,102,2349,1491,2074,42,376,2811,1220,296,296,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2810,1274,499,742,1724,425,190,1561,1302,2603,2255,917,661,661,2,2,2,495,2,2,2,2,2,2,2,2,2,2575,2,2,2,2},
|
||||||
|
{2150,589,876,1616,2655,432,902,1028,433,1375,574,1400,1400,1400,2,2,2,2,2,1529,1529,1529,1529,1529,1529,1529,1529,1529,1529,1529,1529,1529},
|
||||||
|
{1665,1856,201,824,796,249,1217,590,1375,1175,1599,824,824,3319,2,2,2,601,1961,1961,2,2,2,1961,2,2,2,2,2,2,1961,2},
|
||||||
|
{2704,2239,1260,140,2161,2781,1840,574,2353,343,3218,61,2108,2038,1873,2,1833,1408,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2173,876,802,2197,3338,176,1783,224,1763,1160,1264,1264,2864,554,2,552,552,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2708,1663,2279,824,836,1598,2101,1620,1202,1606,1368,1079,1167,1999,2848,2848,2848,1101,1101,1101,2,2,2,662,2,2,2,2272,2,2,2,2},
|
||||||
|
{1987,1463,2328,1890,1443,2086,283,2895,522,1577,1514,1657,2605,891,2,1181,1181,2,2,2121,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2173,1637,1139,905,1802,1378,296,439,1507,1017,1427,209,708,462,1508,1508,1508,2,2,2,2,2,2,2,2,2,2,2240,2240,1459,1459,1459},
|
||||||
|
{2206,1526,628,2877,802,2587,1253,1258,1044,2195,3246,40,2898,2898,1704,598,2,2145,2,2,2,2145,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2182,618,1022,1433,1138,1580,2590,149,796,2090,743,294,294,1117,720,3003,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2025,1805,1466,1213,2006,1903,568,1700,1355,865,1783,1006,1006,1070,1070,268,2,2,2,2,2388,2388,845,845,845,2,2,2,2,2,2,2},
|
||||||
|
{2185,1038,3050,1461,2270,2159,958,1637,233,2483,525,987,437,437,437,3065,2,2,2160,2160,2,2,2,2,2,2,2,2,2,2,2160,2160},
|
||||||
|
{2083,1465,847,1450,502,447,2168,794,1761,1324,162,188,2853,2853,636,973,2,563,2,2,2,2,2,2,2,2089,2089,2089,2089,2089,2,2},
|
||||||
|
{2923,2303,203,508,472,648,3169,269,515,3147,2415,1700,1700,1700,1461,1461,1461,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2300,1116,1555,2794,1095,998,1999,894,963,753,324,2130,2675,2675,554,2045,2,2,2,2,2,2,2,2130,2130,2130,2,2,2,2,2,2},
|
||||||
|
{2103,768,702,1548,1486,2228,2846,861,665,1497,1046,1046,2252,394,394,1901,1155,2,2,2,2,2,2,2,2,2,2,2,192,192,192,192},
|
||||||
|
{2923,640,661,2179,1207,182,872,171,738,269,1372,222,908,2069,2069,2,1550,516,2,2,2,2,2,2,2,2,2,2,1109,2,2,2},
|
||||||
|
{2833,2005,387,733,562,468,317,224,94,478,1606,2522,1606,2001,1087,2,2,1087,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2125,2479,1749,1226,1169,1681,459,652,1087,2211,1613,686,2213,1689,2446,2,2,2925,2925,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2953,1059,205,3093,138,132,2148,1345,1499,216,151,1296,2446,1610,1632,2,2,2,2,4,4,2,2,2,987,987,2,2,2,2,2,2},
|
||||||
|
{3199,1431,593,2050,2785,507,1540,1103,1740,459,62,1766,1781,1121,1600,2,1600,1600,125,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2258,1714,415,373,1919,2605,693,827,1918,496,1479,1903,86,1083,415,2,2,38,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{3289,2032,329,2169,2323,1599,517,1704,1847,804,632,40,40,40,40,40,40,40,40,2,2,1600,2,2,1600,2,2,2,2,2,2,2},
|
||||||
|
{2165,2725,2293,368,705,3063,494,103,12,1332,175,2331,3144,2165,1709,1709,2090,2,2,2,2,1363,1363,2,566,2,2,2,2,2,2,2},
|
||||||
|
{2300,1070,2169,2540,734,1002,912,1386,2215,224,1285,880,2052,2052,1301,959,563,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{3267,1852,1037,648,611,1250,432,853,1467,179,715,2,2033,841,2607,2607,2607,2607,2,2,2,2,1874,1874,2,1874,899,2,2,2,2,2},
|
||||||
|
{2348,2565,794,859,1740,1596,532,462,457,1014,1227,2,2761,954,249,249,2,458,458,2,2,2,2,2,909,909,2,2,2,2,2,2},
|
||||||
|
{3038,2399,1450,1276,1222,727,552,646,1055,2351,686,63,252,504,3166,1802,2,2,1165,1165,1165,2,2,2,2,1165,1165,1165,2,2,1165,2},
|
||||||
|
{3038,2519,1494,107,2597,802,535,1669,1695,1928,1940,1580,1580,85,2274,1551,2,2,2431,560,560,560,2,2,1098,2,2,2,2,2,2,2},
|
||||||
|
{3040,1044,1927,1952,1479,3124,1373,1990,588,2550,1277,2,629,2671,1842,2712,840,1702,2,1669,2,1347,2,2,2,2,1669,1669,1669,1669,2,1669},
|
||||||
|
{3056,1567,691,1243,653,751,248,842,1954,480,458,2,2,2451,934,3172,3556,2259,2312,2,2562,2562,2,2,2562,2562,2562,2562,2562,2,2,2},
|
||||||
|
{2959,2553,1333,877,2492,3169,2498,686,2030,2820,3233,1313,1313,1471,1471,1471,1471,2,2,1471,1471,2,2,1481,2,1887,2,2,2,2,2,2},
|
||||||
|
{3398,964,862,301,1705,2002,310,644,144,1091,1507,2,2,2460,496,496,2517,2517,1842,2,2,1964,2,2,2,2,2,1676,2,2,2,2},
|
||||||
|
{2379,3034,166,302,2108,1078,2976,68,158,134,1567,2,2,1514,1514,1514,1883,1883,2,2,1883,1883,1883,1883,1883,1883,1883,1883,1883,2,2,2},
|
||||||
|
{2386,1270,1204,1032,1474,224,496,2296,1536,1219,311,2,2,2,2,1238,2108,2108,2108,2108,2108,2108,2108,2108,1444,1444,1444,1444,1444,1444,1444,2},
|
||||||
|
{2431,739,2488,1386,1632,2107,2602,2139,1751,349,3147,2,2,64,16,8,32,4,4,32,728,728,728,728,2,2,64,16,8,180,180,180},
|
||||||
|
{3405,2142,1621,110,2112,2097,807,740,747,282,372,2,2,2,2,2493,2493,2493,1299,2,132,1872,2,1843,2,2,2,2,2,2,2,2},
|
||||||
|
{3157,1230,685,1513,663,1335,2100,1441,1826,1670,1539,2,2,2,2899,2899,1378,54,2,46,46,2,2,1362,1362,2,2,2,2,2,2,2},
|
||||||
|
{2415,822,3658,449,1980,891,129,823,1787,621,514,2668,2668,2668,2668,2668,666,269,2830,2,2,2,2,241,370,370,370,370,2,2,2,2},
|
||||||
|
{2463,2664,2825,1208,882,629,428,428,356,343,1730,2,769,769,769,1714,769,2,2,955,769,2,2,955,955,955,2,2,2,955,955,955},
|
||||||
|
{2447,1588,1077,831,1413,2362,1499,1812,1112,815,129,1034,1034,1867,194,518,1454,723,723,1251,2,160,2,2,1251,1251,2,2,2,2,2,2},
|
||||||
|
{3094,1638,1514,843,1503,1884,1481,727,723,1319,226,2,676,2401,1699,562,639,639,1176,2,2,2,2,824,2,2,2,2,2,2,2,2},
|
||||||
|
{3125,2004,547,2986,2919,471,948,1747,201,1862,802,2,1238,1277,1277,1277,2,2,1245,1245,1245,2,2,2743,1245,1245,2,2,2,2,2,2},
|
||||||
|
{2582,2469,533,1726,1575,1505,2448,2031,1257,427,588,1633,202,3553,1938,672,195,195,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2378,636,1958,1628,1255,2285,2208,1626,719,2944,1086,1436,1436,1719,2111,655,2637,2637,2,2,2,2637,2637,2,2637,2637,2637,2637,2637,2,2637,2637},
|
||||||
|
{2372,3079,2161,515,368,847,955,1257,1937,315,2666,1938,1723,1252,1252,362,362,2,2205,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2518,2060,1055,362,1455,1899,1105,1560,2237,2451,2080,181,2346,181,1829,1829,1829,2,2,1509,1509,1509,2,1509,2,2,2,2,2,2,2,2},
|
||||||
|
{3580,1671,674,1838,814,1409,323,3021,1047,2579,2579,2968,2968,102,2656,2638,2638,4006,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{3194,1576,1084,859,2879,1600,953,1429,471,867,1105,1490,293,293,293,2,2,198,2619,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{3215,2004,3333,2271,3283,1660,2135,1696,1413,1362,834,253,253,253,3802,2,2,2,1881,690,690,2,2,2,1881,1881,1881,1881,1881,2,1881,1881},
|
||||||
|
{3719,2441,2094,1665,1707,1827,1310,230,1635,143,386,1029,1070,1062,1062,2,1062,1062,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{3249,1309,1232,472,711,2557,1479,1027,145,489,1377,2928,2928,3522,3522,3522,968,415,415,2,2,2,2,1332,1332,1332,2,1332,2891,2,1332,2891},
|
||||||
|
{2462,1962,257,2244,1966,1905,204,262,799,319,752,1696,971,971,3781,1426,1426,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{3434,3131,1399,3413,1533,281,3288,1242,810,135,2506,2506,1742,946,1015,1044,1044,1044,2,2,2,2,1044,1837,1837,1837,1837,1837,2,2,2,2},
|
||||||
|
{2518,1200,631,596,1946,365,2960,413,592,3878,242,2714,2364,1402,1402,2322,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{3362,2012,1759,2002,1365,150,3120,471,1590,3246,1296,196,196,196,2984,2323,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{3382,899,3140,2860,1155,1840,2822,355,1753,1856,1018,822,52,52,52,1102,1102,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2728,1334,274,1330,2674,2614,931,2250,883,1506,2193,1345,1089,500,2,219,390,2,2,2,2,2,2,2,390,2,2,2,2,2,2,2},
|
||||||
|
{3911,3343,202,675,1733,71,166,176,1323,2864,899,2155,1108,2172,2,2,1829,2172,1107,2,2,2,2,1107,1107,1107,2,2,2,1107,2,2},
|
||||||
|
{2757,3466,1411,1168,340,2760,1053,524,53,2090,1227,26,260,830,2,2,2,1139,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
|
||||||
|
{2662,902,2371,1920,1097,1476,1008,1012,3556,468,3374,2560,591,1446,2,298,298,149,149,149,149,149,3135,3135,3135,3135,3135,2,2,2,2,2},
|
||||||
|
{2861,1407,1848,245,2186,1209,164,2577,625,132,657,2333,2333,2213,2213,2213,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}
|
||||||
|
};
|
2
src/external/libCuba/src/divonne/Makefile.am
vendored
2
src/external/libCuba/src/divonne/Makefile.am
vendored
@ -3,7 +3,7 @@
|
|||||||
c_sources = Divonne.c
|
c_sources = Divonne.c
|
||||||
|
|
||||||
AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE
|
AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE
|
||||||
AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS)
|
AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS) "-Dcubafun_=libDivonnecubafun_"
|
||||||
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libdivonne.la
|
noinst_LTLIBRARIES = libdivonne.la
|
||||||
|
125
src/external/libCuba/src/divonne/Rule.c
vendored
125
src/external/libCuba/src/divonne/Rule.c
vendored
@ -4,14 +4,10 @@
|
|||||||
code lifted with minor modifications from DCUHRE
|
code lifted with minor modifications from DCUHRE
|
||||||
by J. Berntsen, T. Espelid, and A. Genz
|
by J. Berntsen, T. Espelid, and A. Genz
|
||||||
this file is part of Divonne
|
this file is part of Divonne
|
||||||
last modified 26 Jul 13 th
|
last modified 7 May 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define NextSet(p) p = (Set *)((char *)p + setsize)
|
|
||||||
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
static void Rule13Alloc(This *t)
|
static void Rule13Alloc(This *t)
|
||||||
{
|
{
|
||||||
static creal w[][nrules] = {
|
static creal w[][nrules] = {
|
||||||
@ -153,7 +149,7 @@ static void Rule13Alloc(This *t)
|
|||||||
-s->weight[r + 1]/s->weight[r];
|
-s->weight[r + 1]/s->weight[r];
|
||||||
real sum = 0;
|
real sum = 0;
|
||||||
for( x = first; x <= last; NextSet(x) )
|
for( x = first; x <= last; NextSet(x) )
|
||||||
sum += x->n*fabs(x->weight[r + 1] + scale*x->weight[r]);
|
sum += x->n*fabsx(x->weight[r + 1] + scale*x->weight[r]);
|
||||||
s->scale[r] = scale;
|
s->scale[r] = scale;
|
||||||
s->norm[r] = 1/sum;
|
s->norm[r] = 1/sum;
|
||||||
}
|
}
|
||||||
@ -298,7 +294,7 @@ static void Rule11Alloc(This *t)
|
|||||||
-s->weight[r + 1]/s->weight[r];
|
-s->weight[r + 1]/s->weight[r];
|
||||||
real sum = 0;
|
real sum = 0;
|
||||||
for( x = first; x <= last; NextSet(x) )
|
for( x = first; x <= last; NextSet(x) )
|
||||||
sum += x->n*fabs(x->weight[r + 1] + scale*x->weight[r]);
|
sum += x->n*fabsx(x->weight[r + 1] + scale*x->weight[r]);
|
||||||
s->scale[r] = scale;
|
s->scale[r] = scale;
|
||||||
s->norm[r] = 1/sum;
|
s->norm[r] = 1/sum;
|
||||||
}
|
}
|
||||||
@ -309,32 +305,55 @@ static void Rule11Alloc(This *t)
|
|||||||
static void Rule9Alloc(This *t)
|
static void Rule9Alloc(This *t)
|
||||||
{
|
{
|
||||||
static creal w[] = {
|
static creal w[] = {
|
||||||
-.0023611709677855117884, .11415390023857325268,
|
RC(-.002361170967785511788400941242259231309691),
|
||||||
-.63833920076702389094, .74849988504685208004,
|
RC(.1141539002385732526821323741697655347686),
|
||||||
-.0014324017033399125142, .057471507864489725949,
|
RC(-.6383392007670238909386026193674701393074),
|
||||||
-.14225104571434243234, -.062875028738286979989,
|
RC(.7484998850468520800423030047583803945205),
|
||||||
.254591133248959089, -1.207328566678236261,
|
RC(-.001432401703339912514196154599769007103671),
|
||||||
.89567365764160676508, -.36479356986049146661,
|
RC(.05747150786448972594860897296200006759892),
|
||||||
.0035417564516782676826, -.072609367395893679605,
|
RC(-.1422510457143424323449521620935950679394),
|
||||||
.10557491625218991012, .0021486025550098687713,
|
RC(-.06287502873828697998942424881040490136987),
|
||||||
-.032268563892953949998, .010636783990231217481,
|
RC(.2545911332489590890011611142429070613156),
|
||||||
.014689102496143490175, .51134708346467591431,
|
RC(-1.207328566678236261002219995185143356737),
|
||||||
.45976448120806344646, .18239678493024573331,
|
RC(.8956736576416067650809467826488567200939),
|
||||||
-.04508628929435784076, .21415883524352793401,
|
RC(-.3647935698604914666100134551377381205297),
|
||||||
-.027351546526545644722, .054941067048711234101,
|
RC(.003541756451678267682601411863388846964536),
|
||||||
.11937596202570775297, .65089519391920250593,
|
RC(-.07260936739589367960492815865074633743652),
|
||||||
.14744939829434460168, .057693384490973483573,
|
RC(.1055749162521899101218622863269817454540),
|
||||||
.034999626602143583822, -1.3868627719278281436,
|
RC(.002148602555009868771294231899653510655506),
|
||||||
-.2386668732575008879, .015532417276607053264,
|
RC(-.03226856389295394999786630399875134318006),
|
||||||
.0035328099607090870236, .09231719987444221619,
|
RC(.01063678399023121748083624225818915724455),
|
||||||
.02254314464717892038, .013675773263272822361,
|
RC(.01468910249614349017540783437728097691502),
|
||||||
-.32544759695960125297, .0017708782258391338413,
|
RC(.5113470834646759143109387357149329909126),
|
||||||
.0010743012775049343856, .25150011495314791996 };
|
RC(.4597644812080634464633352781605214342691),
|
||||||
|
RC(.1823967849302457333050067275688690602649),
|
||||||
|
RC(-.04508628929435784075980562738240804429658),
|
||||||
|
RC(.2141588352435279340097929526588394300172),
|
||||||
|
RC(-.02735154652654564472203690086290223507436),
|
||||||
|
RC(.05494106704871123410060080562462135546101),
|
||||||
|
RC(.1193759620257077529708962121565290178730),
|
||||||
|
RC(.6508951939192025059314756320878023215278),
|
||||||
|
RC(.1474493982943446016775696826942585013243),
|
||||||
|
RC(.05769338449097348357291272840392627722165),
|
||||||
|
RC(.03499962660214358382244159694487155861542),
|
||||||
|
RC(-1.386862771927828143599782668709014266770),
|
||||||
|
RC(-.2386668732575008878964134721962088068396),
|
||||||
|
RC(.01553241727660705326386197156586357005224),
|
||||||
|
RC(.003532809960709087023561817517751309380604),
|
||||||
|
RC(.09231719987444221619017126187763868745587),
|
||||||
|
RC(.02254314464717892037990281369120402214829),
|
||||||
|
RC(.01367577326327282236101845043145111753718),
|
||||||
|
RC(-.3254475969596012529657378160439011607639),
|
||||||
|
RC(.001770878225839133841300705931694423482268),
|
||||||
|
RC(.001074301277504934385647115949826755327753),
|
||||||
|
RC(.2515001149531479199576969952416196054795) };
|
||||||
|
|
||||||
static creal g[] = {
|
static creal g[] = {
|
||||||
.47795365790226950619, .20302858736911986780,
|
RC(.4779536579022695061928604197171830064732),
|
||||||
.44762735462617812882, .125,
|
RC(.2030285873691198677998034402373279133258),
|
||||||
.34303789878087814570 };
|
RC(.4476273546261781288207704806530998539285),
|
||||||
|
RC(.125),
|
||||||
|
RC(.3430378987808781457001426145164678603407) };
|
||||||
|
|
||||||
enum { nsets = 9 };
|
enum { nsets = 9 };
|
||||||
|
|
||||||
@ -440,7 +459,7 @@ static void Rule9Alloc(This *t)
|
|||||||
-s->weight[r + 1]/s->weight[r];
|
-s->weight[r + 1]/s->weight[r];
|
||||||
real sum = 0;
|
real sum = 0;
|
||||||
for( x = first; x <= last; NextSet(x) )
|
for( x = first; x <= last; NextSet(x) )
|
||||||
sum += x->n*fabs(x->weight[r + 1] + scale*x->weight[r]);
|
sum += x->n*fabsx(x->weight[r + 1] + scale*x->weight[r]);
|
||||||
s->scale[r] = scale;
|
s->scale[r] = scale;
|
||||||
s->norm[r] = 1/sum;
|
s->norm[r] = 1/sum;
|
||||||
}
|
}
|
||||||
@ -451,21 +470,33 @@ static void Rule9Alloc(This *t)
|
|||||||
static void Rule7Alloc(This *t)
|
static void Rule7Alloc(This *t)
|
||||||
{
|
{
|
||||||
static creal w[] = {
|
static creal w[] = {
|
||||||
.019417866674748388428, -.40385257701150182546,
|
RC(.01941786667474838842844534313920462333850),
|
||||||
.64485668767465982223, .01177982690775806141,
|
RC(-.4038525770115018254611834753723880293161),
|
||||||
-.18041318740733609012, -.088785828081335044443,
|
RC(.6448566876746598222277360730193089551024),
|
||||||
.056328645808285941374, -.0097089333373741942142,
|
RC(.01177982690775806141012214458820955067854),
|
||||||
-.99129176779582358138, -.17757165616267008889,
|
RC(-.1804131874073360901182293138710989490609),
|
||||||
.12359398032043233572, .074978148702033690681,
|
RC(-.08878582808133504444306598174517276122439),
|
||||||
.55489147051423559776, .088041241522692771226,
|
RC(.05632864580828594137378124255408286479947),
|
||||||
.021118358455513385083, -.0099302203239653333087,
|
RC(-.009708933337374194214222671569602311669249),
|
||||||
-.064100053285010904179, .030381729038221007659,
|
RC(-.9912917677958235813775106862002319060386),
|
||||||
.0058899134538790307051, -.0048544666686870971071,
|
RC(-.1775716561626700888861319634903455224488),
|
||||||
.35514331232534017777 };
|
RC(.1235939803204323357183625846672135876752),
|
||||||
|
RC(.07497814870203369068087999555157339703666),
|
||||||
|
RC(.5548914705142355977605994477355651401434),
|
||||||
|
RC(.08804124152269277122645182458858273865209),
|
||||||
|
RC(.02111835845551338508329573367808085283304),
|
||||||
|
RC(-.009930220323965333308685820460105538586058),
|
||||||
|
RC(-.06410005328501090417895544042025034295870),
|
||||||
|
RC(.03038172903822100765927778829870429682489),
|
||||||
|
RC(.005889913453879030705061072294104775339268),
|
||||||
|
RC(-.004854466668687097107111335784801155834624),
|
||||||
|
RC(.3551433123253401777722639269806910448976) };
|
||||||
|
|
||||||
static creal g[] = {
|
static creal g[] = {
|
||||||
.47795365790226950619, .20302858736911986780,
|
RC(.4779536579022695061928604197171830064732),
|
||||||
.375, .34303789878087814570 };
|
RC(.2030285873691198677998034402373279133258),
|
||||||
|
RC(.375),
|
||||||
|
RC(.3430378987808781457001426145164678603407) };
|
||||||
|
|
||||||
enum { nsets = 6 };
|
enum { nsets = 6 };
|
||||||
|
|
||||||
@ -541,7 +572,7 @@ static void Rule7Alloc(This *t)
|
|||||||
-s->weight[r + 1]/s->weight[r];
|
-s->weight[r + 1]/s->weight[r];
|
||||||
real sum = 0;
|
real sum = 0;
|
||||||
for( x = first; x <= last; NextSet(x) )
|
for( x = first; x <= last; NextSet(x) )
|
||||||
sum += x->n*fabs(x->weight[r + 1] + scale*x->weight[r]);
|
sum += x->n*fabsx(x->weight[r + 1] + scale*x->weight[r]);
|
||||||
s->scale[r] = scale;
|
s->scale[r] = scale;
|
||||||
s->norm[r] = 1/sum;
|
s->norm[r] = 1/sum;
|
||||||
}
|
}
|
||||||
@ -666,7 +697,7 @@ static void SampleRule(This *t, ccount iregion)
|
|||||||
real maxerr = 0;
|
real maxerr = 0;
|
||||||
for( s = first; s <= last; NextSet(s) )
|
for( s = first; s <= last; NextSet(s) )
|
||||||
maxerr = Max(maxerr,
|
maxerr = Max(maxerr,
|
||||||
fabs(sum[rul + 1] + s->scale[rul]*sum[rul])*s->norm[rul]);
|
fabsx(sum[rul + 1] + s->scale[rul]*sum[rul])*s->norm[rul]);
|
||||||
sum[rul] = maxerr;
|
sum[rul] = maxerr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
19
src/external/libCuba/src/divonne/Sample.c
vendored
19
src/external/libCuba/src/divonne/Sample.c
vendored
@ -2,14 +2,16 @@
|
|||||||
Sample.c
|
Sample.c
|
||||||
most of what is related to sampling
|
most of what is related to sampling
|
||||||
this file is part of Divonne
|
this file is part of Divonne
|
||||||
last modified 30 Aug 13 th
|
last modified 12 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define MARKMASK 0xfffffff
|
#define MARKMASK NUMBER_MAX
|
||||||
#define Marked(x) ((x) & ~MARKMASK)
|
#define Marked(x) ((x) & ~MARKMASK)
|
||||||
#define Unmark(x) ((x) & MARKMASK)
|
#define Unmark(x) ((x) & MARKMASK)
|
||||||
|
|
||||||
|
#define NWANTMAX NUMBER_MAX
|
||||||
|
|
||||||
#define EXTRAPOLATE_EPS (.25*t->border.lower)
|
#define EXTRAPOLATE_EPS (.25*t->border.lower)
|
||||||
/*#define EXTRAPOLATE_EPS 0x1p-26*/
|
/*#define EXTRAPOLATE_EPS 0x1p-26*/
|
||||||
|
|
||||||
@ -96,7 +98,7 @@ static void SampleKorobov(This *t, ccount iregion)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( dist > 0 ) {
|
if( dist > 0 ) {
|
||||||
dist = sqrt(dist)/EXTRAPOLATE_EPS;
|
dist = sqrtx(dist)/EXTRAPOLATE_EPS;
|
||||||
for( dim = 0; dim < t->ndim; ++dim ) {
|
for( dim = 0; dim < t->ndim; ++dim ) {
|
||||||
real x2 = x[dim], dx = x2 - t->border.upper;
|
real x2 = x[dim], dx = x2 - t->border.upper;
|
||||||
if( dx > 0 ) {
|
if( dx > 0 ) {
|
||||||
@ -148,7 +150,7 @@ static void SampleKorobov(This *t, ccount iregion)
|
|||||||
1..39 = multiplicator, Korobov numbers,
|
1..39 = multiplicator, Korobov numbers,
|
||||||
40..inf = absolute # of points, Korobov numbers. */
|
40..inf = absolute # of points, Korobov numbers. */
|
||||||
|
|
||||||
static count SamplesLookup(This *t, Samples *samples, cint key,
|
static number SamplesLookup(This *t, Samples *samples, cint key,
|
||||||
cnumber nwant, cnumber nmax, number nmin)
|
cnumber nwant, cnumber nmax, number nmin)
|
||||||
{
|
{
|
||||||
number n;
|
number n;
|
||||||
@ -191,7 +193,8 @@ static count SamplesLookup(This *t, Samples *samples, cint key,
|
|||||||
static void SamplesAlloc(cThis *t, Samples *samples)
|
static void SamplesAlloc(cThis *t, Samples *samples)
|
||||||
{
|
{
|
||||||
#define FIRST -INT_MAX
|
#define FIRST -INT_MAX
|
||||||
#define MarkLast(x) (x | Marked(INT_MAX))
|
#define MarkLast(x) ((x) | 0x40000000)
|
||||||
|
#define UnmarkLast(x) ((x) & 0x3fffffff)
|
||||||
|
|
||||||
#include "KorobovCoeff.c"
|
#include "KorobovCoeff.c"
|
||||||
|
|
||||||
@ -205,12 +208,12 @@ static void SamplesAlloc(cThis *t, Samples *samples)
|
|||||||
|
|
||||||
while( i = IMin(IDim(i), max),
|
while( i = IMin(IDim(i), max),
|
||||||
n > (p = prime[i + 1]) || n <= prime[i] ) {
|
n > (p = prime[i + 1]) || n <= prime[i] ) {
|
||||||
cint d = (n - Unmark(p)) >> ++shift;
|
cint d = (n - UnmarkLast(p)) >> ++shift;
|
||||||
i += Min1(d);
|
i += Min1(d);
|
||||||
}
|
}
|
||||||
|
|
||||||
samples->coeff = coeff[i][t->ndim - KOROBOV_MINDIM];
|
samples->coeff = coeff[i][t->ndim - KOROBOV_MINDIM];
|
||||||
samples->neff = p = Unmark(p);
|
samples->neff = p = UnmarkLast(p);
|
||||||
samples->n = p/2 + 1;
|
samples->n = p/2 + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,7 +243,7 @@ static real Sample(This *t, creal *x0)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( dist > 0 ) {
|
if( dist > 0 ) {
|
||||||
dist = sqrt(dist)/EXTRAPOLATE_EPS;
|
dist = sqrtx(dist)/EXTRAPOLATE_EPS;
|
||||||
for( dim = 0; dim < t->ndim; ++dim ) {
|
for( dim = 0; dim < t->ndim; ++dim ) {
|
||||||
real x2 = xtmp[dim], dx, b;
|
real x2 = xtmp[dim], dx, b;
|
||||||
if( (dx = x2 - (b = t->border.lower)) < 0 ||
|
if( (dx = x2 - (b = t->border.lower)) < 0 ||
|
||||||
|
20
src/external/libCuba/src/divonne/Split.c
vendored
20
src/external/libCuba/src/divonne/Split.c
vendored
@ -2,7 +2,7 @@
|
|||||||
Split.c
|
Split.c
|
||||||
determine optimal cuts for splitting a region
|
determine optimal cuts for splitting a region
|
||||||
this file is part of Divonne
|
this file is part of Divonne
|
||||||
last modified 31 Aug 13 th
|
last modified 12 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ typedef struct {
|
|||||||
|
|
||||||
static inline real Div(creal a, creal b)
|
static inline real Div(creal a, creal b)
|
||||||
{
|
{
|
||||||
return (b != 0 /*&& fabs(a) > SMALL*fabs(b)*/) ? a/b : a;
|
return (b != 0 /*&& fabsx(a) > SMALL*fabsx(b)*/) ? a/b : a;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
@ -58,7 +58,7 @@ static void SomeCut(This *t, Cut *cut, Bounds *b)
|
|||||||
yupper = Sample(t, xmid);
|
yupper = Sample(t, xmid);
|
||||||
xmid[dim] = x;
|
xmid[dim] = x;
|
||||||
|
|
||||||
dev = fabs(ymid - .5*(ylower + yupper));
|
dev = fabsx(ymid - .5*(ylower + yupper));
|
||||||
if( dev >= maxdev ) {
|
if( dev >= maxdev ) {
|
||||||
maxdev = dev;
|
maxdev = dev;
|
||||||
maxdim = dim;
|
maxdim = dim;
|
||||||
@ -178,7 +178,7 @@ static count FindCuts(This *t, Cut *cut, Bounds *bounds, creal vol,
|
|||||||
|
|
||||||
for( icut = 0; icut < ncuts; ++icut ) {
|
for( icut = 0; icut < ncuts; ++icut ) {
|
||||||
Cut *c = &cut[icut];
|
Cut *c = &cut[icut];
|
||||||
creal diff = fabs(fmajor - c->f);
|
creal diff = fabsx(fmajor - c->f);
|
||||||
if( diff <= mindiff ) {
|
if( diff <= mindiff ) {
|
||||||
mindiff = diff;
|
mindiff = diff;
|
||||||
mincut = c;
|
mincut = c;
|
||||||
@ -230,18 +230,18 @@ repeat:
|
|||||||
if( lhssqnew <= lhssq ) {
|
if( lhssqnew <= lhssq ) {
|
||||||
real fmax;
|
real fmax;
|
||||||
|
|
||||||
if( fabs(gammanew - gamma) < GAMMATOL*gamma ) break;
|
if( fabsx(gammanew - gamma) < GAMMATOL*gamma ) break;
|
||||||
gamma = gammanew;
|
gamma = gammanew;
|
||||||
|
|
||||||
fmax = fabs(fgamma);
|
fmax = fabsx(fgamma);
|
||||||
for( icut = 0; icut < ncuts; ++icut ) {
|
for( icut = 0; icut < ncuts; ++icut ) {
|
||||||
Cut *c = &cut[icut];
|
Cut *c = &cut[icut];
|
||||||
creal dfmin = SINGTOL*c->df;
|
creal dfmin = SINGTOL*c->df;
|
||||||
creal sol = c->sol/div;
|
creal sol = c->sol/div;
|
||||||
real df = c->f - c->fold;
|
real df = c->f - c->fold;
|
||||||
df = (fabs(df) > SMALL*fabs(sol)) ? df/sol : 1;
|
df = (fabsx(df) > SMALL*fabsx(sol)) ? df/sol : 1;
|
||||||
c->df = (fabs(df) < fabs(dfmin)) ? dfmin : df;
|
c->df = (fabsx(df) < fabsx(dfmin)) ? dfmin : df;
|
||||||
fmax = Max(fmax, fabs(c->f));
|
fmax = Max(fmax, fabsx(c->f));
|
||||||
c->fold = c->f;
|
c->fold = c->f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,7 +276,7 @@ static void Split(This *t, ccount iregion)
|
|||||||
t->selectedcomp = region->cutcomp;
|
t->selectedcomp = region->cutcomp;
|
||||||
t->neval_cut -= t->neval;
|
t->neval_cut -= t->neval;
|
||||||
ncuts = FindCuts(t, cut, region->bounds, region->vol,
|
ncuts = FindCuts(t, cut, region->bounds, region->vol,
|
||||||
(real *)RegionResult(region) + region->xmajor, region->fmajor,
|
RegionMinMax(region) + region->xmajor, region->fmajor,
|
||||||
region->fmajor - region->fminor);
|
region->fmajor - region->fminor);
|
||||||
t->neval_cut += t->neval;
|
t->neval_cut += t->neval;
|
||||||
|
|
||||||
|
24
src/external/libCuba/src/divonne/decl.h
vendored
24
src/external/libCuba/src/divonne/decl.h
vendored
@ -2,7 +2,7 @@
|
|||||||
decl.h
|
decl.h
|
||||||
Type declarations
|
Type declarations
|
||||||
this file is part of Divonne
|
this file is part of Divonne
|
||||||
last modified 26 Jul 13 th
|
last modified 9 Oct 14 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -44,6 +44,8 @@ typedef struct {
|
|||||||
|
|
||||||
#define SetSize (sizeof(Set) + t->ndim*sizeof(real))
|
#define SetSize (sizeof(Set) + t->ndim*sizeof(real))
|
||||||
|
|
||||||
|
#define NextSet(p) p = (Set *)((char *)p + setsize)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
Set *first, *last;
|
Set *first, *last;
|
||||||
real errcoeff[3];
|
real errcoeff[3];
|
||||||
@ -71,12 +73,11 @@ typedef const Errors cErrors;
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
real avg, err, spread, chisq;
|
real avg, err, spread, chisq;
|
||||||
real fmin, fmax;
|
real fmin, fmax;
|
||||||
real xminmax[];
|
|
||||||
} Result;
|
} Result;
|
||||||
|
|
||||||
typedef const Result cResult;
|
typedef const Result cResult;
|
||||||
|
|
||||||
#define ResultSize (sizeof(Result) + t->ndim*2*sizeof(real))
|
#define MinMaxSize (t->ncomp*t->ndim*2*sizeof(real))
|
||||||
|
|
||||||
typedef struct region {
|
typedef struct region {
|
||||||
int depth, next;
|
int depth, next;
|
||||||
@ -85,29 +86,34 @@ typedef struct region {
|
|||||||
Bounds bounds[];
|
Bounds bounds[];
|
||||||
} Region;
|
} Region;
|
||||||
|
|
||||||
#define RegionSize (sizeof(Region) + t->ndim*sizeof(Bounds) + t->ncomp*ResultSize)
|
#define RegionSize (sizeof(Region) + t->ndim*sizeof(Bounds) + t->ncomp*sizeof(Result) + MinMaxSize)
|
||||||
|
|
||||||
#define RegionResult(r) ((Result *)(r->bounds + t->ndim))
|
#define RegionResult(r) ((Result *)(r->bounds + t->ndim))
|
||||||
|
|
||||||
|
#define RegionMinMax(r) ((real *)(RegionResult(r) + t->ncomp))
|
||||||
|
|
||||||
#define RegionPtr(n) ((Region *)((char *)t->region + (n)*regionsize))
|
#define RegionPtr(n) ((Region *)((char *)t->region + (n)*regionsize))
|
||||||
|
|
||||||
|
|
||||||
typedef int (*Integrand)(ccount *, creal *, ccount *, real *, void *, cint *);
|
typedef int (*Integrand)(ccount *, creal *, ccount *, real *,
|
||||||
|
void *, cnumber *, cint *, cint *);
|
||||||
|
|
||||||
typedef void (*PeakFinder)(ccount *, cBounds *, number *, real *);
|
typedef void (*PeakFinder)(ccount *, cBounds *, number *, real *, void *);
|
||||||
|
|
||||||
typedef struct _this {
|
typedef struct _this {
|
||||||
count ndim, ncomp;
|
count ndim, ncomp;
|
||||||
#ifndef MLVERSION
|
#ifndef MLVERSION
|
||||||
Integrand integrand;
|
Integrand integrand;
|
||||||
void *userdata;
|
void *userdata;
|
||||||
PeakFinder peakfinder;
|
number nvec;
|
||||||
#ifdef HAVE_FORK
|
#ifdef HAVE_FORK
|
||||||
int ncores, running, *child;
|
SHM_ONLY(int shmid;)
|
||||||
|
Spin *spin;
|
||||||
real *frame;
|
real *frame;
|
||||||
number nframe;
|
number nframe;
|
||||||
SHM_ONLY(int shmid;)
|
int running;
|
||||||
#endif
|
#endif
|
||||||
|
PeakFinder peakfinder;
|
||||||
#endif
|
#endif
|
||||||
real epsrel, epsabs;
|
real epsrel, epsabs;
|
||||||
int flags, seed;
|
int flags, seed;
|
||||||
|
32
src/external/libCuba/src/suave/CMakeLists.txt
vendored
Normal file
32
src/external/libCuba/src/suave/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#--- suave --------------------------------------------------------------------
|
||||||
|
|
||||||
|
#--- obj lib creation ---------------------------------------------------------
|
||||||
|
add_library(suave OBJECT
|
||||||
|
Suave.c
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
suave BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../common>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- check for pre compile flags ----------------------------------------------
|
||||||
|
set(COMP_DEF "-DHAVE_CONFIG_H")
|
||||||
|
set(COMP_DEF ${COMP_DEF} "-DNOUNDERSCORE")
|
||||||
|
set(COMP_DEF ${COMP_DEF} "-Dcubafun_=libSuavecubafun_")
|
||||||
|
|
||||||
|
target_compile_definitions(
|
||||||
|
suave PRIVATE ${COMP_DEF}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(COMP_OPT "-O3")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-fomit-frame-pointer")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-ffast-math")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-fPIC")
|
||||||
|
target_compile_options(
|
||||||
|
suave PRIVATE ${COMP_OPT}
|
||||||
|
)
|
48
src/external/libCuba/src/suave/Fluct.c
vendored
48
src/external/libCuba/src/suave/Fluct.c
vendored
@ -2,35 +2,43 @@
|
|||||||
Fluct.c
|
Fluct.c
|
||||||
compute the fluctuation in the left and right half
|
compute the fluctuation in the left and right half
|
||||||
this file is part of Suave
|
this file is part of Suave
|
||||||
last modified 29 Jul 13 th
|
last modified 14 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#if defined(HAVE_LONG_DOUBLE) && defined(HAVE_POWL)
|
#if defined(HAVE_LONG_DOUBLE) && defined(HAVE_POWL) && REALSIZE <= 10
|
||||||
|
|
||||||
typedef long double realx;
|
typedef long double realL;
|
||||||
#define XDBL_MAX_EXP LDBL_MAX_EXP
|
#define REALL_MAX_EXP LDBL_MAX_EXP
|
||||||
#define XDBL_MAX LDBL_MAX
|
#define REALL_MAX LDBL_MAX
|
||||||
#define powx powl
|
#define powL powl
|
||||||
#define ldexpx ldexpl
|
#define ldexpL ldexpl
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
typedef double realx;
|
typedef real realL;
|
||||||
#define XDBL_MAX_EXP DBL_MAX_EXP
|
#define REALL_MAX_EXP REAL_MAX_EXP
|
||||||
#define XDBL_MAX DBL_MAX
|
#define REALL_MAX REAL_MAX
|
||||||
#define powx pow
|
#define powL powx
|
||||||
#define ldexpx ldexp
|
#define ldexpL ldexpx
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef const realx crealx;
|
typedef const realL crealL;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
realx fluct;
|
realL fluct;
|
||||||
number n;
|
number n;
|
||||||
} Var;
|
} Var;
|
||||||
|
|
||||||
|
static inline realL MinL(crealL a, crealL b) {
|
||||||
|
return (a < b) ? a : b;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline realL MaxL(crealL a, crealL b) {
|
||||||
|
return (a > b) ? a : b;
|
||||||
|
}
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
static void Fluct(cThis *t, Var *var,
|
static void Fluct(cThis *t, Var *var,
|
||||||
@ -41,27 +49,27 @@ static void Fluct(cThis *t, Var *var,
|
|||||||
count nvar = 2*t->ndim;
|
count nvar = 2*t->ndim;
|
||||||
creal norm = 1/(err*Max(fabs(avg), err));
|
creal norm = 1/(err*Max(fabs(avg), err));
|
||||||
creal flat = 2/3./t->flatness;
|
creal flat = 2/3./t->flatness;
|
||||||
crealx max = ldexpx(1., (int)((XDBL_MAX_EXP - 2)/t->flatness));
|
crealL max = ldexpL(1., (int)((REALL_MAX_EXP - 2)/t->flatness));
|
||||||
|
|
||||||
Clear(var, nvar);
|
Clear(var, nvar);
|
||||||
|
|
||||||
while( n-- ) {
|
while( n-- ) {
|
||||||
count dim;
|
count dim;
|
||||||
crealx arg = 1 + fabs(*w++)*Sq(*f - avg)*norm;
|
crealL arg = 1 + fabs(*w++)*Sq(*f - avg)*norm;
|
||||||
crealx ft = powx(arg < max ? arg : max, t->flatness);
|
crealL ft = powL(MinL(arg, max), t->flatness);
|
||||||
|
|
||||||
f += t->ncomp;
|
f += t->ncomp;
|
||||||
|
|
||||||
for( dim = 0; dim < t->ndim; ++dim ) {
|
for( dim = 0; dim < t->ndim; ++dim ) {
|
||||||
Var *v = &var[2*dim + (*x++ >= .5*(b[dim].lower + b[dim].upper))];
|
Var *v = &var[2*dim + (*x++ >= .5*(b[dim].lower + b[dim].upper))];
|
||||||
crealx f = v->fluct + ft;
|
crealL f = v->fluct + ft;
|
||||||
v->fluct = (f > XDBL_MAX/2) ? XDBL_MAX/2 : f;
|
v->fluct = MaxL(f, REALL_MAX/2);
|
||||||
++v->n;
|
++v->n;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
while( nvar-- ) {
|
while( nvar-- ) {
|
||||||
var->fluct = powx(var->fluct, flat);
|
var->fluct = powL(var->fluct, flat);
|
||||||
++var;
|
++var;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
4
src/external/libCuba/src/suave/Grid.c
vendored
4
src/external/libCuba/src/suave/Grid.c
vendored
@ -2,7 +2,7 @@
|
|||||||
Grid.c
|
Grid.c
|
||||||
utility functions for the Vegas grid
|
utility functions for the Vegas grid
|
||||||
this file is part of Suave
|
this file is part of Suave
|
||||||
last modified 7 Aug 13 th
|
last modified 12 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ static void RefineGrid(cThis *t, Grid grid, Grid margsum)
|
|||||||
real impfun = 0;
|
real impfun = 0;
|
||||||
if( margsum[bin] > 0 ) {
|
if( margsum[bin] > 0 ) {
|
||||||
creal r = margsum[bin]*norm;
|
creal r = margsum[bin]*norm;
|
||||||
avgperbin += impfun = pow((r - 1)/log(r), 1.5);
|
avgperbin += impfun = powx((r - 1)/log(r), 1.5);
|
||||||
}
|
}
|
||||||
imp[bin] = impfun;
|
imp[bin] = impfun;
|
||||||
}
|
}
|
||||||
|
45
src/external/libCuba/src/suave/Integrate.c
vendored
45
src/external/libCuba/src/suave/Integrate.c
vendored
@ -3,7 +3,7 @@
|
|||||||
integrate over the unit hypercube
|
integrate over the unit hypercube
|
||||||
this file is part of Suave
|
this file is part of Suave
|
||||||
checkpointing by B. Chokoufe
|
checkpointing by B. Chokoufe
|
||||||
last modified 5 Aug 13 th
|
last modified 13 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -26,22 +26,27 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
Result *tot, *Tot = state->totals + t->ncomp;
|
Result *tot, *Tot = state->totals + t->ncomp;
|
||||||
Result *res, *resL, *resR;
|
Result *res, *resL, *resR;
|
||||||
Bounds *b, *B;
|
Bounds *b, *B;
|
||||||
|
cnumber minsamples = IMax(t->nmin, MINSAMPLES);
|
||||||
count dim, comp;
|
count dim, comp;
|
||||||
int fail;
|
int fail;
|
||||||
|
|
||||||
if( VERBOSE > 1 ) {
|
if( VERBOSE > 1 ) {
|
||||||
sprintf(out, "Suave input parameters:\n"
|
sprintf(out, "Suave input parameters:\n"
|
||||||
" ndim " COUNT "\n ncomp " COUNT "\n"
|
" ndim " COUNT "\n ncomp " COUNT "\n"
|
||||||
|
ML_NOT(" nvec " NUMBER "\n")
|
||||||
" epsrel " REAL "\n epsabs " REAL "\n"
|
" epsrel " REAL "\n epsabs " REAL "\n"
|
||||||
" flags %d\n seed %d\n"
|
" flags %d\n seed %d\n"
|
||||||
" mineval " NUMBER "\n maxeval " NUMBER "\n"
|
" mineval " NUMBER "\n maxeval " NUMBER "\n"
|
||||||
" nnew " NUMBER "\n flatness " REAL "\n"
|
" nnew " NUMBER "\n nmin " NUMBER "\n"
|
||||||
" statefile \"%s\"\n",
|
" flatness " REAL "\n"
|
||||||
|
" statefile \"%s\"",
|
||||||
t->ndim, t->ncomp,
|
t->ndim, t->ncomp,
|
||||||
t->epsrel, t->epsabs,
|
ML_NOT(t->nvec,)
|
||||||
|
SHOW(t->epsrel), SHOW(t->epsabs),
|
||||||
t->flags, t->seed,
|
t->flags, t->seed,
|
||||||
t->mineval, t->maxeval,
|
t->mineval, t->maxeval,
|
||||||
t->nnew, t->flatness,
|
t->nnew, t->nmin,
|
||||||
|
SHOW(t->flatness),
|
||||||
t->statefile);
|
t->statefile);
|
||||||
Print(out);
|
Print(out);
|
||||||
}
|
}
|
||||||
@ -49,7 +54,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
if( BadComponent(t) ) return -2;
|
if( BadComponent(t) ) return -2;
|
||||||
if( BadDimension(t) ) return -1;
|
if( BadDimension(t) ) return -1;
|
||||||
|
|
||||||
ShmAlloc(t, ShmRm(t));
|
ShmAlloc(t, Master);
|
||||||
ForkCores(t);
|
ForkCores(t);
|
||||||
|
|
||||||
if( (fail = setjmp(t->abort)) ) goto abort;
|
if( (fail = setjmp(t->abort)) ) goto abort;
|
||||||
@ -132,7 +137,8 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
for( tot = state->totals, comp = 0; tot < Tot; ++tot )
|
for( tot = state->totals, comp = 0; tot < Tot; ++tot )
|
||||||
oe += sprintf(oe, "\n[" COUNT "] "
|
oe += sprintf(oe, "\n[" COUNT "] "
|
||||||
REAL " +- " REAL " \tchisq " REAL " (" COUNT " df)",
|
REAL " +- " REAL " \tchisq " REAL " (" COUNT " df)",
|
||||||
++comp, tot->avg, tot->err, tot->chisq, state->df);
|
++comp, SHOW(tot->avg), SHOW(tot->err),
|
||||||
|
SHOW(tot->chisq), state->df);
|
||||||
Print(out);
|
Print(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -173,7 +179,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
region->result[maxcomp].avg, Max(maxerr, t->epsabs));
|
region->result[maxcomp].avg, Max(maxerr, t->epsabs));
|
||||||
|
|
||||||
bias = (t->epsrel < 1e-50) ? 2 :
|
bias = (t->epsrel < 1e-50) ? 2 :
|
||||||
Max(pow(2., -(real)region->div/t->ndim)/t->epsrel, 2.);
|
Max(powx(2., -(real)region->div/t->ndim)/t->epsrel, 2.);
|
||||||
minfluct = INFTY;
|
minfluct = INFTY;
|
||||||
bisectdim = 0;
|
bisectdim = 0;
|
||||||
for( dim = 0; dim < t->ndim; ++dim ) {
|
for( dim = 0; dim < t->ndim; ++dim ) {
|
||||||
@ -190,9 +196,9 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
minfluct = vLR[0].fluct + vLR[1].fluct;
|
minfluct = vLR[0].fluct + vLR[1].fluct;
|
||||||
nnewL = IMax(
|
nnewL = IMax(
|
||||||
(minfluct == 0) ? t->nnew/2 : (count)(vLR[0].fluct/minfluct*t->nnew),
|
(minfluct == 0) ? t->nnew/2 : (count)(vLR[0].fluct/minfluct*t->nnew),
|
||||||
MINSAMPLES );
|
minsamples );
|
||||||
nL = vLR[0].n + nnewL;
|
nL = vLR[0].n + nnewL;
|
||||||
nnewR = IMax(t->nnew - nnewL, MINSAMPLES);
|
nnewR = IMax(t->nnew - nnewL, minsamples);
|
||||||
nR = vLR[1].n + nnewR;
|
nR = vLR[1].n + nnewR;
|
||||||
|
|
||||||
regionL = RegionAlloc(t, nL, nnewL);
|
regionL = RegionAlloc(t, nL, nnewL);
|
||||||
@ -211,7 +217,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
while( n-- ) {
|
while( n-- ) {
|
||||||
cbool final = (*w < 0);
|
cbool final = (*w < 0);
|
||||||
if( x[bisectdim] < mid ) {
|
if( x[bisectdim] < mid ) {
|
||||||
if( final && wR > RegionW(regionR) ) wR[-1] = -fabs(wR[-1]);
|
if( final && wR > RegionW(regionR) ) wR[-1] = -fabsx(wR[-1]);
|
||||||
*wL++ = *w++;
|
*wL++ = *w++;
|
||||||
XCopy(xL, x);
|
XCopy(xL, x);
|
||||||
xL += t->ndim;
|
xL += t->ndim;
|
||||||
@ -219,7 +225,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
fL += t->ncomp;
|
fL += t->ncomp;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if( final && wL > RegionW(regionL) ) wL[-1] = -fabs(wL[-1]);
|
if( final && wL > RegionW(regionL) ) wL[-1] = -fabsx(wL[-1]);
|
||||||
*wR++ = *w++;
|
*wR++ = *w++;
|
||||||
XCopy(xR, x);
|
XCopy(xR, x);
|
||||||
xR += t->ndim;
|
xR += t->ndim;
|
||||||
@ -259,15 +265,15 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
diff = Sq(.25*diff);
|
diff = Sq(.25*diff);
|
||||||
sigsq = resL->sigsq + resR->sigsq;
|
sigsq = resL->sigsq + resR->sigsq;
|
||||||
if( sigsq > 0 ) {
|
if( sigsq > 0 ) {
|
||||||
creal c = Sq(1 + sqrt(diff/sigsq));
|
creal c = Sq(1 + sqrtx(diff/sigsq));
|
||||||
resL->sigsq *= c;
|
resL->sigsq *= c;
|
||||||
resR->sigsq *= c;
|
resR->sigsq *= c;
|
||||||
}
|
}
|
||||||
resL->err = sqrt(resL->sigsq += diff);
|
resL->err = sqrtx(resL->sigsq += diff);
|
||||||
resR->err = sqrt(resR->sigsq += diff);
|
resR->err = sqrtx(resR->sigsq += diff);
|
||||||
|
|
||||||
tot->sigsq += resL->sigsq + resR->sigsq - res->sigsq;
|
tot->sigsq += resL->sigsq + resR->sigsq - res->sigsq;
|
||||||
tot->err = sqrt(tot->sigsq);
|
tot->err = sqrtx(tot->sigsq);
|
||||||
|
|
||||||
tot->chisq += resL->chisq + resR->chisq - res->chisq;
|
tot->chisq += resL->chisq + resR->chisq - res->chisq;
|
||||||
}
|
}
|
||||||
@ -319,12 +325,12 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
|
|
||||||
MLPutFunction(stdlink, "Cuba`Suave`region", 3);
|
MLPutFunction(stdlink, "Cuba`Suave`region", 3);
|
||||||
|
|
||||||
MLPutRealList(stdlink, bounds, 2*t->ndim);
|
MLPutRealxList(stdlink, bounds, 2*t->ndim);
|
||||||
|
|
||||||
MLPutFunction(stdlink, "List", t->ncomp);
|
MLPutFunction(stdlink, "List", t->ncomp);
|
||||||
for( Res = (res = region->result) + t->ncomp; res < Res; ++res ) {
|
for( Res = (res = region->result) + t->ncomp; res < Res; ++res ) {
|
||||||
real r[] = {res->avg, res->err, res->chisq};
|
real r[] = {res->avg, res->err, res->chisq};
|
||||||
MLPutRealList(stdlink, r, Elements(r));
|
MLPutRealxList(stdlink, r, Elements(r));
|
||||||
}
|
}
|
||||||
|
|
||||||
MLPutInteger(stdlink, region->df);
|
MLPutInteger(stdlink, region->df);
|
||||||
@ -338,8 +344,7 @@ abort:
|
|||||||
anchor = anchor->next;
|
anchor = anchor->next;
|
||||||
free(region);
|
free(region);
|
||||||
}
|
}
|
||||||
WaitCores(t);
|
ShmFree(t, Master);
|
||||||
ShmFree(t);
|
|
||||||
|
|
||||||
StateRemove(t);
|
StateRemove(t);
|
||||||
|
|
||||||
|
2
src/external/libCuba/src/suave/Makefile.am
vendored
2
src/external/libCuba/src/suave/Makefile.am
vendored
@ -3,7 +3,7 @@
|
|||||||
c_sources = Suave.c
|
c_sources = Suave.c
|
||||||
|
|
||||||
AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE
|
AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE
|
||||||
AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS)
|
AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS) "-Dcubafun_=libSuavecubafun_"
|
||||||
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libsuave.la
|
noinst_LTLIBRARIES = libsuave.la
|
||||||
|
18
src/external/libCuba/src/suave/Sample.c
vendored
18
src/external/libCuba/src/suave/Sample.c
vendored
@ -2,7 +2,7 @@
|
|||||||
Sample.c
|
Sample.c
|
||||||
the sampling step of Suave
|
the sampling step of Suave
|
||||||
this file is part of Suave
|
this file is part of Suave
|
||||||
last modified 30 Jul 13 th
|
last modified 13 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ static void Sample(This *t, cnumber nnew, Region *region,
|
|||||||
|
|
||||||
while( w < lastw ) {
|
while( w < lastw ) {
|
||||||
cbool final = (*w < 0);
|
cbool final = (*w < 0);
|
||||||
creal weight = fabs(*w++);
|
creal weight = fabsx(*w++);
|
||||||
++n;
|
++n;
|
||||||
|
|
||||||
for( c = cumul, comp = 0; c < C; ++c ) {
|
for( c = cumul, comp = 0; c < C; ++c ) {
|
||||||
@ -80,20 +80,20 @@ static void Sample(This *t, cnumber nnew, Region *region,
|
|||||||
c->sqsum += Sq(wfun);
|
c->sqsum += Sq(wfun);
|
||||||
|
|
||||||
if( final ) {
|
if( final ) {
|
||||||
if( n > 1 ) {
|
if( n >= t->nmin ) {
|
||||||
real w = Weight(c->sum, c->sqsum, n);
|
real w = Weight(c->sum, c->sqsum, n);
|
||||||
c->weightsum += c->weight = w;
|
c->weightsum += c->weight = w;
|
||||||
c->avgsum += c->avg = w*c->sum;
|
c->avgsum += c->avg = w*c->sum;
|
||||||
|
|
||||||
if( VERBOSE > 2 ) {
|
if( VERBOSE > 2 ) {
|
||||||
creal sig = sqrt(1/w);
|
creal sig = sqrtx(1/w);
|
||||||
ss[comp] += (df == 0) ?
|
ss[comp] += (df == 0) ?
|
||||||
sprintf(ss[comp], "\n[" COUNT "] "
|
sprintf(ss[comp], "\n[" COUNT "] "
|
||||||
REAL " +- " REAL " (" NUMBER ")", comp + 1,
|
REAL " +- " REAL " (" NUMBER ")", comp + 1,
|
||||||
c->sum, sig, n) :
|
SHOW(c->sum), SHOW(sig), n) :
|
||||||
sprintf(ss[comp], "\n "
|
sprintf(ss[comp], "\n "
|
||||||
REAL " +- " REAL " (" NUMBER ")",
|
REAL " +- " REAL " (" NUMBER ")",
|
||||||
c->sum, sig, n);
|
SHOW(c->sum), SHOW(sig), n);
|
||||||
}
|
}
|
||||||
|
|
||||||
if( df == 0 ) c->guess = c->sum;
|
if( df == 0 ) c->guess = c->sum;
|
||||||
@ -107,7 +107,7 @@ static void Sample(This *t, cnumber nnew, Region *region,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( final ) ++df, n = 0;
|
if( final ) df -= NegQ(t->nmin - n - 1), n = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
region->df = --df;
|
region->df = --df;
|
||||||
@ -124,7 +124,7 @@ static void Sample(This *t, cnumber nnew, Region *region,
|
|||||||
res->sigsq = sigsq;
|
res->sigsq = sigsq;
|
||||||
res->avg = avg;
|
res->avg = avg;
|
||||||
}
|
}
|
||||||
res->err = sqrt(res->sigsq);
|
res->err = sqrtx(res->sigsq);
|
||||||
|
|
||||||
res->chisq = (sigsq < .9*NOTZERO) ? 0 : c->chisqsum - avg*c->chisum;
|
res->chisq = (sigsq < .9*NOTZERO) ? 0 : c->chisqsum - avg*c->chisum;
|
||||||
/* This catches the special case where the integrand is constant
|
/* This catches the special case where the integrand is constant
|
||||||
@ -153,7 +153,7 @@ static void Sample(This *t, cnumber nnew, Region *region,
|
|||||||
for( comp = 0, res = region->result;
|
for( comp = 0, res = region->result;
|
||||||
comp < t->ncomp; ++comp, ++res ) {
|
comp < t->ncomp; ++comp, ++res ) {
|
||||||
p += sprintf(p, "%s \tchisq " REAL " (" COUNT " df)",
|
p += sprintf(p, "%s \tchisq " REAL " (" COUNT " df)",
|
||||||
p0, res->chisq, df);
|
p0, SHOW(res->chisq), df);
|
||||||
p0 += chars;
|
p0 += chars;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
36
src/external/libCuba/src/suave/Suave.c
vendored
36
src/external/libCuba/src/suave/Suave.c
vendored
@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
Suave.c
|
Suave.c
|
||||||
Subregion-adaptive Vegas Monte-Carlo integration
|
Subregion-adaptive Vegas Monte Carlo integration
|
||||||
by Thomas Hahn
|
by Thomas Hahn
|
||||||
last modified 17 Sep 13 th
|
last modified 28 Nov 14 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -15,64 +15,80 @@
|
|||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
Extern void EXPORT(Suave)(ccount ndim, ccount ncomp,
|
Extern void EXPORT(Suave)(ccount ndim, ccount ncomp,
|
||||||
Integrand integrand, void *userdata,
|
Integrand integrand, void *userdata, cnumber nvec,
|
||||||
creal epsrel, creal epsabs,
|
creal epsrel, creal epsabs,
|
||||||
cint flags, cint seed,
|
cint flags, cint seed,
|
||||||
cnumber mineval, cnumber maxeval,
|
cnumber mineval, cnumber maxeval,
|
||||||
cnumber nnew, creal flatness,
|
cnumber nnew, cnumber nmin, creal flatness,
|
||||||
cchar *statefile,
|
cchar *statefile, Spin **pspin,
|
||||||
count *pnregions, number *pneval, int *pfail,
|
count *pnregions, number *pneval, int *pfail,
|
||||||
real *integral, real *error, real *prob)
|
real *integral, real *error, real *prob)
|
||||||
{
|
{
|
||||||
This t;
|
This t;
|
||||||
|
|
||||||
|
VerboseInit();
|
||||||
|
|
||||||
t.ndim = ndim;
|
t.ndim = ndim;
|
||||||
t.ncomp = ncomp;
|
t.ncomp = ncomp;
|
||||||
t.integrand = integrand;
|
t.integrand = integrand;
|
||||||
t.userdata = userdata;
|
t.userdata = userdata;
|
||||||
|
t.nvec = nvec;
|
||||||
t.epsrel = epsrel;
|
t.epsrel = epsrel;
|
||||||
t.epsabs = epsabs;
|
t.epsabs = epsabs;
|
||||||
t.flags = flags;
|
t.flags = MaxVerbose(flags);
|
||||||
t.seed = seed;
|
t.seed = seed;
|
||||||
t.mineval = mineval;
|
t.mineval = mineval;
|
||||||
t.maxeval = maxeval;
|
t.maxeval = maxeval;
|
||||||
t.nnew = nnew;
|
t.nnew = nnew;
|
||||||
|
t.nmin = IMax(nmin, 2);
|
||||||
t.flatness = flatness;
|
t.flatness = flatness;
|
||||||
t.statefile = statefile;
|
t.statefile = statefile;
|
||||||
|
FORK_ONLY(t.spin = Invalid(pspin) ? NULL : *pspin;)
|
||||||
|
|
||||||
*pfail = Integrate(&t, integral, error, prob);
|
*pfail = Integrate(&t, integral, error, prob);
|
||||||
*pnregions = t.nregions;
|
*pnregions = t.nregions;
|
||||||
*pneval = t.neval;
|
*pneval = t.neval;
|
||||||
|
|
||||||
|
WaitCores(&t, pspin);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
Extern void EXPORT(suave)(ccount *pndim, ccount *pncomp,
|
Extern void EXPORT(suave)(ccount *pndim, ccount *pncomp,
|
||||||
Integrand integrand, void *userdata,
|
Integrand integrand, void *userdata, cnumber *pnvec,
|
||||||
creal *pepsrel, creal *pepsabs,
|
creal *pepsrel, creal *pepsabs,
|
||||||
cint *pflags, cint *pseed,
|
cint *pflags, cint *pseed,
|
||||||
cnumber *pmineval, cnumber *pmaxeval,
|
cnumber *pmineval, cnumber *pmaxeval,
|
||||||
cnumber *pnnew, creal *pflatness,
|
cnumber *pnnew, cnumber *pnmin, creal *pflatness,
|
||||||
cchar *statefile,
|
cchar *statefile, Spin **pspin,
|
||||||
count *pnregions, number *pneval, int *pfail,
|
count *pnregions, number *pneval, int *pfail,
|
||||||
real *integral, real *error, real *prob, cint statefilelen)
|
real *integral, real *error, real *prob, cint statefilelen)
|
||||||
{
|
{
|
||||||
This t;
|
This t;
|
||||||
|
|
||||||
|
VerboseInit();
|
||||||
|
|
||||||
t.ndim = *pndim;
|
t.ndim = *pndim;
|
||||||
t.ncomp = *pncomp;
|
t.ncomp = *pncomp;
|
||||||
t.integrand = integrand;
|
t.integrand = integrand;
|
||||||
t.userdata = userdata;
|
t.userdata = userdata;
|
||||||
|
t.nvec = *pnvec;
|
||||||
t.epsrel = *pepsrel;
|
t.epsrel = *pepsrel;
|
||||||
t.epsabs = *pepsabs;
|
t.epsabs = *pepsabs;
|
||||||
t.flags = *pflags;
|
t.flags = MaxVerbose(*pflags);
|
||||||
t.seed = *pseed;
|
t.seed = *pseed;
|
||||||
t.mineval = *pmineval;
|
t.mineval = *pmineval;
|
||||||
t.maxeval = *pmaxeval;
|
t.maxeval = *pmaxeval;
|
||||||
t.nnew = *pnnew;
|
t.nnew = *pnnew;
|
||||||
|
t.nmin = IMax(*pnmin, 2);
|
||||||
t.flatness = *pflatness;
|
t.flatness = *pflatness;
|
||||||
CString(t.statefile, statefile, statefilelen);
|
CString(t.statefile, statefile, statefilelen);
|
||||||
|
FORK_ONLY(t.spin = Invalid(pspin) ? NULL : *pspin;)
|
||||||
|
|
||||||
*pfail = Integrate(&t, integral, error, prob);
|
*pfail = Integrate(&t, integral, error, prob);
|
||||||
*pnregions = t.nregions;
|
*pnregions = t.nregions;
|
||||||
*pneval = t.neval;
|
*pneval = t.neval;
|
||||||
|
|
||||||
|
WaitCores(&t, pspin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
12
src/external/libCuba/src/suave/Suave.lo
vendored
Normal file
12
src/external/libCuba/src/suave/Suave.lo
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# Suave.lo - a libtool object file
|
||||||
|
# Generated by libtool (GNU libtool) 2.4.6
|
||||||
|
#
|
||||||
|
# Please DO NOT delete this file!
|
||||||
|
# It is necessary for linking the library.
|
||||||
|
|
||||||
|
# Name of the PIC object.
|
||||||
|
pic_object='.libs/Suave.o'
|
||||||
|
|
||||||
|
# Name of the non-PIC object
|
||||||
|
non_pic_object=none
|
||||||
|
|
11
src/external/libCuba/src/suave/decl.h
vendored
11
src/external/libCuba/src/suave/decl.h
vendored
@ -2,7 +2,7 @@
|
|||||||
decl.h
|
decl.h
|
||||||
Type declarations
|
Type declarations
|
||||||
this file is part of Suave
|
this file is part of Suave
|
||||||
last modified 29 Jul 13 th
|
last modified 25 Nov 14 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -35,23 +35,24 @@ typedef struct {
|
|||||||
typedef const Bounds cBounds;
|
typedef const Bounds cBounds;
|
||||||
|
|
||||||
typedef int (*Integrand)(ccount *, creal *, ccount *, real *,
|
typedef int (*Integrand)(ccount *, creal *, ccount *, real *,
|
||||||
void *, creal *, cint *);
|
void *, cnumber *, cint *, creal *, cint *);
|
||||||
|
|
||||||
typedef struct _this {
|
typedef struct _this {
|
||||||
count ndim, ncomp;
|
count ndim, ncomp;
|
||||||
#ifndef MLVERSION
|
#ifndef MLVERSION
|
||||||
Integrand integrand;
|
Integrand integrand;
|
||||||
void *userdata;
|
void *userdata;
|
||||||
|
number nvec;
|
||||||
#ifdef HAVE_FORK
|
#ifdef HAVE_FORK
|
||||||
int ncores, *child;
|
|
||||||
real *frame;
|
|
||||||
SHM_ONLY(int shmid;)
|
SHM_ONLY(int shmid;)
|
||||||
|
Spin *spin;
|
||||||
|
real *frame;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
real epsrel, epsabs;
|
real epsrel, epsabs;
|
||||||
int flags, seed;
|
int flags, seed;
|
||||||
number mineval, maxeval;
|
number mineval, maxeval;
|
||||||
number nnew;
|
number nnew, nmin;
|
||||||
real flatness;
|
real flatness;
|
||||||
cchar *statefile;
|
cchar *statefile;
|
||||||
count nregions;
|
count nregions;
|
||||||
|
32
src/external/libCuba/src/vegas/CMakeLists.txt
vendored
Normal file
32
src/external/libCuba/src/vegas/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#--- vegas --------------------------------------------------------------------
|
||||||
|
|
||||||
|
#--- obj lib creation ---------------------------------------------------------
|
||||||
|
add_library(vegas OBJECT
|
||||||
|
Vegas.c
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
vegas BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../common>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- check for pre compile flags ----------------------------------------------
|
||||||
|
set(COMP_DEF "-DHAVE_CONFIG_H")
|
||||||
|
set(COMP_DEF ${COMP_DEF} "-DNOUNDERSCORE")
|
||||||
|
set(COMP_DEF ${COMP_DEF} "-Dcubafun_=libVegascubafun_")
|
||||||
|
|
||||||
|
target_compile_definitions(
|
||||||
|
vegas PRIVATE ${COMP_DEF}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(COMP_OPT "-O3")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-fomit-frame-pointer")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-ffast-math")
|
||||||
|
set(COMP_OPT ${COMP_OPT} "-fPIC")
|
||||||
|
target_compile_options(
|
||||||
|
vegas PRIVATE ${COMP_OPT}
|
||||||
|
)
|
4
src/external/libCuba/src/vegas/Grid.c
vendored
4
src/external/libCuba/src/vegas/Grid.c
vendored
@ -2,7 +2,7 @@
|
|||||||
Grid.c
|
Grid.c
|
||||||
utility functions for the Vegas grid
|
utility functions for the Vegas grid
|
||||||
this file is part of Vegas
|
this file is part of Vegas
|
||||||
last modified 13 Dec 11 th
|
last modified 12 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ static void RefineGrid(cThis *t, Grid grid, Grid margsum)
|
|||||||
real impfun = 0;
|
real impfun = 0;
|
||||||
if( margsum[bin] > 0 ) {
|
if( margsum[bin] > 0 ) {
|
||||||
creal r = margsum[bin]*norm;
|
creal r = margsum[bin]*norm;
|
||||||
avgperbin += impfun = pow((r - 1)/log(r), 1.5);
|
avgperbin += impfun = powx((r - 1)/log(r), 1.5);
|
||||||
}
|
}
|
||||||
imp[bin] = impfun;
|
imp[bin] = impfun;
|
||||||
}
|
}
|
||||||
|
22
src/external/libCuba/src/vegas/Integrate.c
vendored
22
src/external/libCuba/src/vegas/Integrate.c
vendored
@ -2,7 +2,7 @@
|
|||||||
Integrate.c
|
Integrate.c
|
||||||
integrate over the unit hypercube
|
integrate over the unit hypercube
|
||||||
this file is part of Vegas
|
this file is part of Vegas
|
||||||
last modified 8 Aug 13 th
|
last modified 13 Mar 15 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -31,6 +31,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
if( VERBOSE > 1 ) {
|
if( VERBOSE > 1 ) {
|
||||||
sprintf(out, "Vegas input parameters:\n"
|
sprintf(out, "Vegas input parameters:\n"
|
||||||
" ndim " COUNT "\n ncomp " COUNT "\n"
|
" ndim " COUNT "\n ncomp " COUNT "\n"
|
||||||
|
ML_NOT(" nvec " NUMBER "\n")
|
||||||
" epsrel " REAL "\n epsabs " REAL "\n"
|
" epsrel " REAL "\n epsabs " REAL "\n"
|
||||||
" flags %d\n seed %d\n"
|
" flags %d\n seed %d\n"
|
||||||
" mineval " NUMBER "\n maxeval " NUMBER "\n"
|
" mineval " NUMBER "\n maxeval " NUMBER "\n"
|
||||||
@ -38,7 +39,8 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
" nbatch " NUMBER "\n gridno %d\n"
|
" nbatch " NUMBER "\n gridno %d\n"
|
||||||
" statefile \"%s\"",
|
" statefile \"%s\"",
|
||||||
t->ndim, t->ncomp,
|
t->ndim, t->ncomp,
|
||||||
t->epsrel, t->epsabs,
|
ML_NOT(t->nvec,)
|
||||||
|
SHOW(t->epsrel), SHOW(t->epsabs),
|
||||||
t->flags, t->seed,
|
t->flags, t->seed,
|
||||||
t->mineval, t->maxeval,
|
t->mineval, t->maxeval,
|
||||||
t->nstart, t->nincrease, t->nbatch,
|
t->nstart, t->nincrease, t->nbatch,
|
||||||
@ -49,7 +51,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
if( BadComponent(t) ) return -2;
|
if( BadComponent(t) ) return -2;
|
||||||
if( BadDimension(t) ) return -1;
|
if( BadDimension(t) ) return -1;
|
||||||
|
|
||||||
FrameAlloc(t, ShmRm(t));
|
FrameAlloc(t, Master);
|
||||||
ForkCores(t);
|
ForkCores(t);
|
||||||
Alloc(bins, t->nbatch*t->ndim);
|
Alloc(bins, t->nbatch*t->ndim);
|
||||||
|
|
||||||
@ -68,12 +70,12 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
t->rng.skiprandom(t, t->neval);
|
t->rng.skiprandom(t, t->neval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if( ini ) {
|
if( ini | ZAPSTATE ) {
|
||||||
|
t->neval = 0;
|
||||||
state->niter = 0;
|
state->niter = 0;
|
||||||
state->nsamples = t->nstart;
|
state->nsamples = t->nstart;
|
||||||
FClear(state->cumul);
|
FClear(state->cumul);
|
||||||
GetGrid(t, state_grid);
|
if( ini ) GetGrid(t, state_grid);
|
||||||
t->neval = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* main iteration loop */
|
/* main iteration loop */
|
||||||
@ -143,7 +145,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
real avg = sigsq*(c->avgsum += w*c->sum);
|
real avg = sigsq*(c->avgsum += w*c->sum);
|
||||||
|
|
||||||
c->avg = LAST ? (sigsq = 1/w, c->sum) : avg;
|
c->avg = LAST ? (sigsq = 1/w, c->sum) : avg;
|
||||||
c->err = sqrt(sigsq);
|
c->err = sqrtx(sigsq);
|
||||||
fail |= (c->err > MaxErr(c->avg));
|
fail |= (c->err > MaxErr(c->avg));
|
||||||
|
|
||||||
if( state->niter == 0 ) c->guess = c->sum;
|
if( state->niter == 0 ) c->guess = c->sum;
|
||||||
@ -163,7 +165,8 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
for( c = state->cumul, comp = 0; c < C; ++c )
|
for( c = state->cumul, comp = 0; c < C; ++c )
|
||||||
oe += sprintf(oe, "\n[" COUNT "] "
|
oe += sprintf(oe, "\n[" COUNT "] "
|
||||||
REAL " +- " REAL " \tchisq " REAL " (" COUNT " df)",
|
REAL " +- " REAL " \tchisq " REAL " (" COUNT " df)",
|
||||||
++comp, c->avg, c->err, c->chisq, state->niter);
|
++comp, SHOW(c->avg), SHOW(c->err),
|
||||||
|
SHOW(c->chisq), state->niter);
|
||||||
Print(out);
|
Print(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -215,8 +218,7 @@ static int Integrate(This *t, real *integral, real *error, real *prob)
|
|||||||
abort:
|
abort:
|
||||||
PutGrid(t, state_grid);
|
PutGrid(t, state_grid);
|
||||||
free(bins);
|
free(bins);
|
||||||
WaitCores(t);
|
FrameFree(t, Master);
|
||||||
FrameFree(t);
|
|
||||||
|
|
||||||
StateRemove(t);
|
StateRemove(t);
|
||||||
|
|
||||||
|
2
src/external/libCuba/src/vegas/Makefile.am
vendored
2
src/external/libCuba/src/vegas/Makefile.am
vendored
@ -3,7 +3,7 @@
|
|||||||
c_sources = Vegas.c
|
c_sources = Vegas.c
|
||||||
|
|
||||||
AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE
|
AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE
|
||||||
AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS)
|
AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS) "-Dcubafun_=libVegascubafun_"
|
||||||
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libvegas.la
|
noinst_LTLIBRARIES = libvegas.la
|
||||||
|
34
src/external/libCuba/src/vegas/Vegas.c
vendored
34
src/external/libCuba/src/vegas/Vegas.c
vendored
@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
Vegas.c
|
Vegas.c
|
||||||
Vegas Monte-Carlo integration
|
Vegas Monte Carlo integration
|
||||||
by Thomas Hahn
|
by Thomas Hahn
|
||||||
last modified 17 Sep 13 th
|
last modified 25 Nov 14 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -15,22 +15,27 @@
|
|||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
Extern void EXPORT(Vegas)(ccount ndim, ccount ncomp,
|
Extern void EXPORT(Vegas)(ccount ndim, ccount ncomp,
|
||||||
Integrand integrand, void *userdata,
|
Integrand integrand, void *userdata, cnumber nvec,
|
||||||
creal epsrel, creal epsabs, cint flags, cint seed,
|
creal epsrel, creal epsabs, cint flags, cint seed,
|
||||||
cnumber mineval, cnumber maxeval,
|
cnumber mineval, cnumber maxeval,
|
||||||
cnumber nstart, cnumber nincrease, cnumber nbatch,
|
cnumber nstart, cnumber nincrease,
|
||||||
cint gridno, cchar *statefile,
|
cnumber nbatch, cint gridno,
|
||||||
|
cchar *statefile, Spin **pspin,
|
||||||
number *pneval, int *pfail,
|
number *pneval, int *pfail,
|
||||||
real *integral, real *error, real *prob)
|
real *integral, real *error, real *prob)
|
||||||
{
|
{
|
||||||
This t;
|
This t;
|
||||||
|
|
||||||
|
VerboseInit();
|
||||||
|
|
||||||
t.ndim = ndim;
|
t.ndim = ndim;
|
||||||
t.ncomp = ncomp;
|
t.ncomp = ncomp;
|
||||||
t.integrand = integrand;
|
t.integrand = integrand;
|
||||||
t.userdata = userdata;
|
t.userdata = userdata;
|
||||||
|
t.nvec = nvec;
|
||||||
t.epsrel = epsrel;
|
t.epsrel = epsrel;
|
||||||
t.epsabs = epsabs;
|
t.epsabs = epsabs;
|
||||||
t.flags = flags;
|
t.flags = MaxVerbose(flags);
|
||||||
t.seed = seed;
|
t.seed = seed;
|
||||||
t.mineval = mineval;
|
t.mineval = mineval;
|
||||||
t.maxeval = maxeval;
|
t.maxeval = maxeval;
|
||||||
@ -39,30 +44,38 @@ Extern void EXPORT(Vegas)(ccount ndim, ccount ncomp,
|
|||||||
t.nbatch = nbatch;
|
t.nbatch = nbatch;
|
||||||
t.gridno = gridno;
|
t.gridno = gridno;
|
||||||
t.statefile = statefile;
|
t.statefile = statefile;
|
||||||
|
FORK_ONLY(t.spin = Invalid(pspin) ? NULL : *pspin;)
|
||||||
|
|
||||||
*pfail = Integrate(&t, integral, error, prob);
|
*pfail = Integrate(&t, integral, error, prob);
|
||||||
*pneval = t.neval;
|
*pneval = t.neval;
|
||||||
|
|
||||||
|
WaitCores(&t, pspin);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
Extern void EXPORT(vegas)(ccount *pndim, ccount *pncomp,
|
Extern void EXPORT(vegas)(ccount *pndim, ccount *pncomp,
|
||||||
Integrand integrand, void *userdata,
|
Integrand integrand, void *userdata, cnumber *pnvec,
|
||||||
creal *pepsrel, creal *pepsabs, cint *pflags, cint *pseed,
|
creal *pepsrel, creal *pepsabs, cint *pflags, cint *pseed,
|
||||||
cnumber *pmineval, cnumber *pmaxeval,
|
cnumber *pmineval, cnumber *pmaxeval,
|
||||||
cnumber *pnstart, cnumber *pnincrease,
|
cnumber *pnstart, cnumber *pnincrease,
|
||||||
cnumber *pnbatch, cint *pgridno, cchar *statefile,
|
cnumber *pnbatch, cint *pgridno,
|
||||||
|
cchar *statefile, Spin **pspin,
|
||||||
number *pneval, int *pfail,
|
number *pneval, int *pfail,
|
||||||
real *integral, real *error, real *prob, cint statefilelen)
|
real *integral, real *error, real *prob, cint statefilelen)
|
||||||
{
|
{
|
||||||
This t;
|
This t;
|
||||||
|
|
||||||
|
VerboseInit();
|
||||||
|
|
||||||
t.ndim = *pndim;
|
t.ndim = *pndim;
|
||||||
t.ncomp = *pncomp;
|
t.ncomp = *pncomp;
|
||||||
t.integrand = integrand;
|
t.integrand = integrand;
|
||||||
t.userdata = userdata;
|
t.userdata = userdata;
|
||||||
|
t.nvec = *pnvec;
|
||||||
t.epsrel = *pepsrel;
|
t.epsrel = *pepsrel;
|
||||||
t.epsabs = *pepsabs;
|
t.epsabs = *pepsabs;
|
||||||
t.flags = *pflags;
|
t.flags = MaxVerbose(*pflags);
|
||||||
t.seed = *pseed;
|
t.seed = *pseed;
|
||||||
t.mineval = *pmineval;
|
t.mineval = *pmineval;
|
||||||
t.maxeval = *pmaxeval;
|
t.maxeval = *pmaxeval;
|
||||||
@ -71,8 +84,11 @@ Extern void EXPORT(vegas)(ccount *pndim, ccount *pncomp,
|
|||||||
t.nbatch = *pnbatch;
|
t.nbatch = *pnbatch;
|
||||||
t.gridno = *pgridno;
|
t.gridno = *pgridno;
|
||||||
CString(t.statefile, statefile, statefilelen);
|
CString(t.statefile, statefile, statefilelen);
|
||||||
|
FORK_ONLY(t.spin = Invalid(pspin) ? NULL : *pspin;)
|
||||||
|
|
||||||
*pfail = Integrate(&t, integral, error, prob);
|
*pfail = Integrate(&t, integral, error, prob);
|
||||||
*pneval = t.neval;
|
*pneval = t.neval;
|
||||||
|
|
||||||
|
WaitCores(&t, pspin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
7
src/external/libCuba/src/vegas/decl.h
vendored
7
src/external/libCuba/src/vegas/decl.h
vendored
@ -2,7 +2,7 @@
|
|||||||
decl.h
|
decl.h
|
||||||
Type declarations
|
Type declarations
|
||||||
this file is part of Vegas
|
this file is part of Vegas
|
||||||
last modified 21 Dec 11 th
|
last modified 21 Jul 14 th
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -29,16 +29,17 @@ typedef struct {
|
|||||||
typedef const Cumulants cCumulants;
|
typedef const Cumulants cCumulants;
|
||||||
|
|
||||||
typedef int (*Integrand)(ccount *, creal *, ccount *, real *,
|
typedef int (*Integrand)(ccount *, creal *, ccount *, real *,
|
||||||
void *, creal *, cint *);
|
void *, cnumber *, cint *, creal *, cint *);
|
||||||
|
|
||||||
typedef struct _this {
|
typedef struct _this {
|
||||||
count ndim, ncomp;
|
count ndim, ncomp;
|
||||||
#ifndef MLVERSION
|
#ifndef MLVERSION
|
||||||
Integrand integrand;
|
Integrand integrand;
|
||||||
void *userdata;
|
void *userdata;
|
||||||
|
number nvec;
|
||||||
#ifdef HAVE_FORK
|
#ifdef HAVE_FORK
|
||||||
int ncores, *child;
|
|
||||||
SHM_ONLY(int shmid;)
|
SHM_ONLY(int shmid;)
|
||||||
|
Spin *spin;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
real *frame;
|
real *frame;
|
||||||
|
1
src/external/libFitPofB/CMakeLists.txt
vendored
Normal file
1
src/external/libFitPofB/CMakeLists.txt
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
add_subdirectory(classes)
|
114
src/external/libFitPofB/classes/CMakeLists.txt
vendored
Normal file
114
src/external/libFitPofB/classes/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
# - libFitPofB library --------------------------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
|
||||||
|
set(BMW_TOOLS_INC ${CMAKE_SOURCE_DIR}/src/external/BMWtools)
|
||||||
|
set(POFB_INC ${CMAKE_SOURCE_DIR}/src/external/libFitPofB/include)
|
||||||
|
|
||||||
|
root_generate_dictionary(
|
||||||
|
TLondon1DDict
|
||||||
|
-I${FFTW3_INCLUDE_DIR}
|
||||||
|
-I${MUSRFIT_INC}
|
||||||
|
-I${BMW_TOOLS_INC}
|
||||||
|
-I${POFB_INC}
|
||||||
|
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
|
||||||
|
TLondon1D.h
|
||||||
|
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/TLondon1DLinkDef.h
|
||||||
|
)
|
||||||
|
root_generate_dictionary(
|
||||||
|
TVortexDict
|
||||||
|
-I${FFTW3_INCLUDE_DIR}
|
||||||
|
-I${MUSRFIT_INC}
|
||||||
|
-I${BMW_TOOLS_INC}
|
||||||
|
-I${POFB_INC}
|
||||||
|
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
|
||||||
|
TVortex.h
|
||||||
|
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/TVortexLinkDef.h
|
||||||
|
)
|
||||||
|
root_generate_dictionary(
|
||||||
|
TSkewedGssDict
|
||||||
|
-I${FFTW3_INCLUDE_DIR}
|
||||||
|
-I${MUSRFIT_INC}
|
||||||
|
-I${BMW_TOOLS_INC}
|
||||||
|
-I${POFB_INC}
|
||||||
|
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
|
||||||
|
TSkewedGss.h
|
||||||
|
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/TSkewedGssLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
#[==[ //as35 for now do not create a pkgconfig file
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(FIT_P_OF_B_VERSION "1.0.0")
|
||||||
|
set(FIT_P_OF_B_LIBRARY_NAME "FitPofB")
|
||||||
|
configure_file("FitPofB.pc.in" "FitPofB.pc" @ONLY)
|
||||||
|
#]==]
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(FitPofB SHARED
|
||||||
|
TBofZCalc.cpp
|
||||||
|
TBulkTriVortexFieldCalc.cpp
|
||||||
|
TFilmTriVortexFieldCalc.cpp
|
||||||
|
TLondon1D.cpp
|
||||||
|
TLondon1DDict.cxx
|
||||||
|
TPofBCalc.cpp
|
||||||
|
TPofTCalc.cpp
|
||||||
|
TVortex.cpp
|
||||||
|
TVortexDict.cxx
|
||||||
|
TSkewedGss.cpp
|
||||||
|
TSkewedGssDict.cxx
|
||||||
|
)
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
FitPofB BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${MUSRFIT_INC}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/TLemRunHeader>
|
||||||
|
$<BUILD_INTERFACE:${BMW_TOOLS_INC}>
|
||||||
|
$<BUILD_INTERFACE:${POFB_INC}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
target_link_libraries(FitPofB ${FFTW3_LIBRARY} ${FFTW3F_LIBRARY} ${ROOT_LIBRARIES} TLemRunHeader PUserFcnBase BMWtools)
|
||||||
|
|
||||||
|
#--- install FitPofB solib ----------------------------------------------------
|
||||||
|
install(TARGETS FitPofB DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libTLondon1DDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libTLondon1DDict.rootmap
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libTVortexDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libTVortexDict.rootmap
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libTSkewedGssDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libTSkewedGssDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install FitPofB header ---------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/TBofZCalc.h
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/TBulkTriVortexFieldCalc.h
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/TFilmTriVortexFieldCalc.h
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/TLondon1D.h
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/TPofBCalc.h
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/TPofTCalc.h
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/TSkewedGss.h
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/TVortex.h
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
#[==[ //as35 for now do not install a pkgconfig file
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/FitPofB.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
||||||
|
#]==]
|
||||||
|
|
71
src/external/libGapIntegrals/CMakeLists.txt
vendored
Normal file
71
src/external/libGapIntegrals/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
# - libGapIntegrals library ---------------------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
|
||||||
|
set(BMW_TOOLS_INC ${CMAKE_SOURCE_DIR}/src/external/BMWtools)
|
||||||
|
|
||||||
|
root_generate_dictionary(
|
||||||
|
TGapIntegralsDict
|
||||||
|
-I${FFTW3_INCLUDE_DIR}
|
||||||
|
-I${MUSRFIT_INC}
|
||||||
|
-I${BMW_TOOLS_INC}
|
||||||
|
TGapIntegrals.h
|
||||||
|
LINKDEF TGapIntegralsLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
#[==[ //as35 for now do not create a pkgconfig file
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(GAP_INTEGRALS_VERSION "1.0.0")
|
||||||
|
set(GAP_INTEGRALS_LIBRARY_NAME "GapIntegrals")
|
||||||
|
configure_file("GapIntegrals.pc.in" "GapIntegrals.pc" @ONLY)
|
||||||
|
#]==]
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(GapIntegrals SHARED
|
||||||
|
TGapIntegrals.cpp
|
||||||
|
TGapIntegralsDict.cxx
|
||||||
|
)
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
GapIntegrals BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${MUSRFIT_INC}>
|
||||||
|
$<BUILD_INTERFACE:${BMW_TOOLS_INC}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
target_link_libraries(GapIntegrals
|
||||||
|
${GSL_LIBRARIES} ${FFTW3F_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase cuba BMWtools
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install LFRelaxation solib -----------------------------------------------
|
||||||
|
install(TARGETS GapIntegrals DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libTGapIntegralsDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libTGapIntegralsDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install GapIntegrals header ----------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
TGapIntegrals.h
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
#[==[ //as35 for now do not install a pkgconfig file
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/GapIntegrals.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
||||||
|
#]==]
|
||||||
|
|
69
src/external/libLFRelaxation/CMakeLists.txt
vendored
Normal file
69
src/external/libLFRelaxation/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# - libLFRelaxation library ---------------------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
|
||||||
|
set(BMW_TOOLS_INC ${CMAKE_SOURCE_DIR}/src/external/BMWtools)
|
||||||
|
|
||||||
|
root_generate_dictionary(
|
||||||
|
TLFRelaxationDict
|
||||||
|
-I${FFTW3_INCLUDE_DIR}
|
||||||
|
-I${MUSRFIT_INC}
|
||||||
|
-I${BMW_TOOLS_INC}
|
||||||
|
TLFRelaxation.h
|
||||||
|
LINKDEF TLFRelaxationLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
#[==[ //as35 for now do not create a pkgconfig file
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(T_LF_RELAXATION_VERSION "1.0.0")
|
||||||
|
set(T_LF_RELAXATION_LIBRARY_NAME "TLFRelaxation")
|
||||||
|
configure_file("TLFRelaxation.pc.in" "TLFRelaxation.pc" @ONLY)
|
||||||
|
#]==]
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(LFRelaxation SHARED
|
||||||
|
TLFRelaxation.cpp
|
||||||
|
TLFRelaxationDict.cxx
|
||||||
|
)
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
LFRelaxation BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${MUSRFIT_INC}>
|
||||||
|
$<BUILD_INTERFACE:${BMW_TOOLS_INC}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
target_link_libraries(LFRelaxation ${GSL_LIBRARIES} ${FFTW3F_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase BMWtools) # //as35 cuba lib still missing
|
||||||
|
|
||||||
|
#--- install LFRelaxation solib -----------------------------------------------
|
||||||
|
install(TARGETS LFRelaxation DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libTLFRelaxationDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libTLFRelaxationDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install TLFRelaxation header ---------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
TLFRelaxation.h
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
#[==[ //as35 for now do not install a pkgconfig file
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/TLFRelaxation.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
||||||
|
#]==]
|
||||||
|
|
1
src/external/libPhotoMeissner/CMakeLists.txt
vendored
Normal file
1
src/external/libPhotoMeissner/CMakeLists.txt
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
add_subdirectory(classes)
|
73
src/external/libPhotoMeissner/classes/CMakeLists.txt
vendored
Normal file
73
src/external/libPhotoMeissner/classes/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
# - Photo Meissner library ----------------------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
|
||||||
|
|
||||||
|
root_generate_dictionary(
|
||||||
|
PPhotoMeissnerDict
|
||||||
|
-I${FFTW3_INCLUDE_DIR}
|
||||||
|
-I${MUSRFIT_INC}
|
||||||
|
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
|
||||||
|
PPhotoMeissner.h
|
||||||
|
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/PPhotoMeissnerLinkDef.h
|
||||||
|
)
|
||||||
|
root_generate_dictionary(
|
||||||
|
PStartupHandler_PMDict
|
||||||
|
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
|
||||||
|
PStartupHandler_PM.h
|
||||||
|
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/PStartupHandler_PMLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(P_PHOTO_MEISSNER_VERSION "1.0.0")
|
||||||
|
set(P_PHOTO_MEISSNER_LIBRARY_NAME "PPhotoMeissner")
|
||||||
|
configure_file("PPhotoMeissner.pc.in" "PPhotoMeissner.pc" @ONLY)
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(PPhotoMeissner SHARED
|
||||||
|
PPhotoMeissner.cpp
|
||||||
|
PPhotoMeissnerDict.cxx
|
||||||
|
PStartupHandler_PM.cpp
|
||||||
|
PStartupHandler_PMDict.cxx
|
||||||
|
)
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
PPhotoMeissner BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${MUSRFIT_INC}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
target_link_libraries(PPhotoMeissner ${FFTW3_LIBRARY} ${GSL_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase)
|
||||||
|
|
||||||
|
#--- install PPhotoMeissner solib ---------------------------------------------
|
||||||
|
install(TARGETS PPhotoMeissner DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libPPhotoMeissnerDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPPhotoMeissnerDict.rootmap
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPStartupHandler_PMDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPStartupHandler_PMDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install PPhotoMeissner header --------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/PPhotoMeissner.h
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/PStartupHandler_PM.h
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/PPhotoMeissner.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
10
src/external/libPhotoMeissner/classes/PPhotoMeissner.pc.in
vendored
Normal file
10
src/external/libPhotoMeissner/classes/PPhotoMeissner.pc.in
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
|
Name: PPhotoMeissner
|
||||||
|
Description: C++ shared library providing the photo Meissner fitter class
|
||||||
|
Version: @P_PHOTO_MEISSNER_VERSION@
|
||||||
|
Libs: -L${libdir} -l@P_PHOTO_MEISSNER_LIBRARY_NAME@
|
||||||
|
Cflags: -I${includedir}
|
1
src/external/libSpinValve/CMakeLists.txt
vendored
Normal file
1
src/external/libSpinValve/CMakeLists.txt
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
add_subdirectory(classes)
|
74
src/external/libSpinValve/classes/CMakeLists.txt
vendored
Normal file
74
src/external/libSpinValve/classes/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# - Spin Valve library --------------------------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
|
||||||
|
|
||||||
|
root_generate_dictionary(
|
||||||
|
PSkewedLorentzianDict
|
||||||
|
-I${FFTW3_INCLUDE_DIR}
|
||||||
|
-I${MUSRFIT_INC}
|
||||||
|
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
|
||||||
|
PSkewedLorentzian.h
|
||||||
|
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/PSkewedLorentzianLinkDef.h
|
||||||
|
)
|
||||||
|
root_generate_dictionary(
|
||||||
|
PStartupHandler_SVDict
|
||||||
|
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
|
||||||
|
PStartupHandler_SV.h
|
||||||
|
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/PStartupHandler_SVLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(P_SPIN_VALVE_VERSION "1.0.0")
|
||||||
|
set(P_SPIN_VALVE_LIBRARY_NAME "PSpinValve")
|
||||||
|
configure_file("PSpinValve.pc.in" "PSpinValve.pc" @ONLY)
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(PSpinValve SHARED
|
||||||
|
PSkewedLorentzian.cpp
|
||||||
|
PSkewedLorentzianDict.cxx
|
||||||
|
PStartupHandler_SV.cpp
|
||||||
|
PStartupHandler_SVDict.cxx
|
||||||
|
)
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
PSpinValve BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${MUSRFIT_INC}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
target_link_libraries(PSpinValve ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase)
|
||||||
|
|
||||||
|
#--- install PSpinValve solib -------------------------------------------------
|
||||||
|
install(TARGETS PSpinValve DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libPSkewedLorentzianDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPSkewedLorentzianDict.rootmap
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPStartupHandler_SVDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPStartupHandler_SVDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install PSpinValve header ------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/PSkewedLorentzian.h
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/PStartupHandler_SV.h
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/PSpinValve.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
||||||
|
|
10
src/external/libSpinValve/classes/PSpinValve.pc.in
vendored
Normal file
10
src/external/libSpinValve/classes/PSpinValve.pc.in
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
|
Name: PSpinValve
|
||||||
|
Description: C++ shared library providing the spin valve fitter class
|
||||||
|
Version: @P_SPIN_VALVE_VERSION@
|
||||||
|
Libs: -L${libdir} -l@P_SPIN_VALVE_LIBRARY_NAME@
|
||||||
|
Cflags: -I${includedir}
|
69
src/external/libZFRelaxation/CMakeLists.txt
vendored
Normal file
69
src/external/libZFRelaxation/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# - libZFRelaxation library ---------------------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
|
||||||
|
set(BMW_TOOLS_INC ${CMAKE_SOURCE_DIR}/src/external/BMWtools)
|
||||||
|
|
||||||
|
root_generate_dictionary(
|
||||||
|
ZFRelaxationDict
|
||||||
|
-I${FFTW3_INCLUDE_DIR}
|
||||||
|
-I${MUSRFIT_INC}
|
||||||
|
-I${BMW_TOOLS_INC}
|
||||||
|
ZFRelaxation.h
|
||||||
|
LINKDEF ZFRelaxationLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
#[==[ //as35 for now do not create a pkgconfig file
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(ZF_RELAXATION_VERSION "1.0.0")
|
||||||
|
set(ZF_RELAXATION_LIBRARY_NAME "ZFRelaxation")
|
||||||
|
configure_file("ZFRelaxation.pc.in" "ZFRelaxation.pc" @ONLY)
|
||||||
|
#]==]
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(ZFRelaxation SHARED
|
||||||
|
ZFRelaxation.cpp
|
||||||
|
ZFRelaxationDict.cxx
|
||||||
|
)
|
||||||
|
#--- make sure that the include directory is found ----------------------------
|
||||||
|
target_include_directories(
|
||||||
|
ZFRelaxation BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${MUSRFIT_INC}>
|
||||||
|
$<BUILD_INTERFACE:${BMW_TOOLS_INC}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
target_link_libraries(ZFRelaxation ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase BMWtools)
|
||||||
|
|
||||||
|
#--- install ZFRelaxation solib -----------------------------------------------
|
||||||
|
install(TARGETS ZFRelaxation DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libZFRelaxationDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libZFRelaxationDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install ZFRelaxation header ----------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
ZFRelaxation.h
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
#[==[ //as35 for now do not install a pkgconfig file
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/ZFRelaxation.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
||||||
|
#]==]
|
||||||
|
|
141
src/musredit/CMakeLists.txt
Normal file
141
src/musredit/CMakeLists.txt
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
#--- musredit for Qt > 4.6 and < 5.0 ------------------------------------------
|
||||||
|
|
||||||
|
#--- create musrfit-info.h ----------------------------------------------------
|
||||||
|
configure_file(
|
||||||
|
${CMAKE_SOURCE_DIR}/cmake/musrfit-info.h.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/musrfit-info.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- sources, headers, ... ----------------------------------------------------
|
||||||
|
set(musredit_src
|
||||||
|
main.cpp
|
||||||
|
PAdmin.cpp
|
||||||
|
PDumpOutputHandler.cpp
|
||||||
|
PFindDialog.cpp
|
||||||
|
PFitOutputHandler.cpp
|
||||||
|
PGetAsymmetryRunBlockDialog.cpp
|
||||||
|
PGetDefaultDialog.cpp
|
||||||
|
PGetFourierBlockDialog.cpp
|
||||||
|
PGetFunctionsBlockDialog.cpp
|
||||||
|
PGetMusrFTOptionsDialog.cpp
|
||||||
|
PGetNonMusrRunBlockDialog.cpp
|
||||||
|
PGetParameterBlockDialog.cpp
|
||||||
|
PGetPlotBlockDialog.cpp
|
||||||
|
PGetSingleHistoRunBlockDialog.cpp
|
||||||
|
PGetTheoryBlockDialog.cpp
|
||||||
|
PGetTitleBlockDialog.cpp
|
||||||
|
PHelp.cpp
|
||||||
|
PMsr2DataDialog.cpp
|
||||||
|
PMusrEditAbout.cpp
|
||||||
|
PPrefsDialog.cpp
|
||||||
|
PReplaceConfirmationDialog.cpp
|
||||||
|
PReplaceDialog.cpp
|
||||||
|
PSubTextEdit.cpp
|
||||||
|
PTextEdit.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
set(musredit_h
|
||||||
|
musredit.h
|
||||||
|
PAdmin.h
|
||||||
|
PDumpOutputHandler.h
|
||||||
|
PFindDialog.h
|
||||||
|
PFitOutputHandler.h
|
||||||
|
PGetAsymmetryRunBlockDialog.h
|
||||||
|
PGetDefaultDialog.h
|
||||||
|
PGetFourierBlockDialog.h
|
||||||
|
PGetFunctionsBlockDialog.h
|
||||||
|
PGetMusrFTOptionsDialog.h
|
||||||
|
PGetNonMusrRunBlockDialog.h
|
||||||
|
PGetParameterBlockDialog.h
|
||||||
|
PGetPlotBlockDialog.h
|
||||||
|
PGetSingleHistoRunBlockDialog.h
|
||||||
|
PGetTheoryBlockDialog.h
|
||||||
|
PGetTitleBlockDialog.h
|
||||||
|
PHelp.h
|
||||||
|
PMsr2DataDialog.h
|
||||||
|
PMusrEditAbout.h
|
||||||
|
PPrefsDialog.h
|
||||||
|
PReplaceConfirmationDialog.h
|
||||||
|
PReplaceDialog.h
|
||||||
|
PSubTextEdit.h
|
||||||
|
PTextEdit.h
|
||||||
|
)
|
||||||
|
|
||||||
|
set(musredit_ui
|
||||||
|
forms/PFindDialog.ui
|
||||||
|
forms/PGetAsymmetryRunBlockDialog.ui
|
||||||
|
forms/PGetDefaultDialog.ui
|
||||||
|
forms/PGetFourierBlockDialog.ui
|
||||||
|
forms/PGetFunctionsBlockDialog.ui
|
||||||
|
forms/PGetMusrFTOptionsDialog.ui
|
||||||
|
forms/PGetNonMusrRunBlockDialog.ui
|
||||||
|
forms/PGetParameterBlockDialog.ui
|
||||||
|
forms/PGetPlotBlockDialog.ui
|
||||||
|
forms/PGetSingleHistoRunBlockDialog.ui
|
||||||
|
forms/PGetTheoryBlockDialog.ui
|
||||||
|
forms/PGetTitleBlockDialog.ui
|
||||||
|
forms/PMsr2DataDialog.ui
|
||||||
|
forms/PMusrEditAbout.ui
|
||||||
|
forms/PPrefsDialog.ui
|
||||||
|
forms/PReplaceConfirmationDialog.ui
|
||||||
|
forms/PReplaceDialog.ui
|
||||||
|
)
|
||||||
|
|
||||||
|
set(musredit_rcc
|
||||||
|
musredit.qrc
|
||||||
|
)
|
||||||
|
|
||||||
|
# Next, using precompiler, compiler and linker
|
||||||
|
include(${QT_USE_FILE})
|
||||||
|
|
||||||
|
# using Qt meta-system (precompiler)
|
||||||
|
QT4_ADD_RESOURCES(RESOURCES ${musredit_rcc})
|
||||||
|
QT4_WRAP_UI( UI_HEADERS ${musredit_ui})
|
||||||
|
QT4_WRAP_CPP( MOC_SRCS ${musredit_h})
|
||||||
|
|
||||||
|
# define target
|
||||||
|
add_executable(musredit ${musredit_src} ${MOC_SRCS} ${RESOURCES} ${UI_HEADERS})
|
||||||
|
|
||||||
|
target_include_directories(musredit
|
||||||
|
BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${QT_INCLUDES}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/..>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../..>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../include>
|
||||||
|
)
|
||||||
|
|
||||||
|
target_compile_definitions(musredit
|
||||||
|
PRIVATE
|
||||||
|
${QT_DEFINITIONS}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(musredit
|
||||||
|
Qt4::QtCore
|
||||||
|
Qt4::QtGui
|
||||||
|
Qt4::QtNetwork
|
||||||
|
Qt4::QtWebKit
|
||||||
|
Qt4::QtXml
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- installation info --------------------------------------------------------
|
||||||
|
install(
|
||||||
|
TARGETS
|
||||||
|
musredit
|
||||||
|
RUNTIME DESTINATION
|
||||||
|
bin
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- documentation installation info ------------------------------------------
|
||||||
|
install(
|
||||||
|
DIRECTORY
|
||||||
|
${CMAKE_SOURCE_DIR}/doc/examples
|
||||||
|
${CMAKE_SOURCE_DIR}/doc/html
|
||||||
|
${CMAKE_SOURCE_DIR}/doc/memos
|
||||||
|
DESTINATION
|
||||||
|
${CMAKE_INSTALL_PREFIX}/share/doc/musrfit
|
||||||
|
MESSAGE_NEVER
|
||||||
|
)
|
||||||
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
|||||||
<iconset resource="../musredit.qrc">
|
<iconset resource="../musredit.qrc">
|
||||||
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
|
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget0">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -66,7 +66,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget1">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>12</x>
|
<x>12</x>
|
||||||
@ -124,7 +124,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget2">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>99</x>
|
<x>99</x>
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string> Fourier </string>
|
<string> Fourier </string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget0">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>21</x>
|
<x>21</x>
|
||||||
@ -337,7 +337,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string> Histo Info </string>
|
<string> Histo Info </string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget1">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
@ -605,7 +605,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>File Selection</string>
|
<string>File Selection</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget2">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>19</x>
|
<x>19</x>
|
||||||
@ -711,7 +711,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget3">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Run Header Info</string>
|
<string>Run Header Info</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget0">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -54,7 +54,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget1">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>11</x>
|
<x>11</x>
|
||||||
@ -105,7 +105,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget2">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -211,7 +211,7 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Required Entries</string>
|
<string>Required Entries</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget3">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -237,7 +237,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget4">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>11</x>
|
<x>11</x>
|
||||||
@ -275,7 +275,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget5">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -345,7 +345,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget6">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
<property name="checkable">
|
<property name="checkable">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget0">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>11</x>
|
<x>11</x>
|
||||||
@ -160,7 +160,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>msr File Extension</string>
|
<string>msr File Extension</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget1">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -228,7 +228,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Template Run Input</string>
|
<string>Template Run Input</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget2">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -295,7 +295,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Data Output File Name</string>
|
<string>Data Output File Name</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget3">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -350,7 +350,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Options</string>
|
<string>Options</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget4">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>6</x>
|
<x>6</x>
|
||||||
@ -550,7 +550,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget5">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>5</x>
|
<x>5</x>
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
<iconset resource="../musredit.qrc">
|
<iconset resource="../musredit.qrc">
|
||||||
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
|
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget0">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
@ -39,7 +39,7 @@
|
|||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>general</string>
|
<string>general</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget1">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
|
11
src/musredit_qt5/CMakeLists.txt
Normal file
11
src/musredit_qt5/CMakeLists.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#--- musredit_qt5 for Qt > 5.0 ------------------------------------------------
|
||||||
|
|
||||||
|
#--- create musrfit-info.h ----------------------------------------------------
|
||||||
|
configure_file(
|
||||||
|
${CMAKE_SOURCE_DIR}/cmake/musrfit-info.h.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/musrfit-info.h
|
||||||
|
)
|
||||||
|
|
||||||
|
add_subdirectory(musredit)
|
||||||
|
add_subdirectory(musrStep)
|
||||||
|
add_subdirectory(musrWiz)
|
47
src/musredit_qt5/musrStep/CMakeLists.txt
Normal file
47
src/musredit_qt5/musrStep/CMakeLists.txt
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
#--- musrStep for Qt > 5.0 ----------------------------------------------------
|
||||||
|
|
||||||
|
set(qt_libs Qt5::Core Qt5::Widgets Qt5::Svg)
|
||||||
|
|
||||||
|
set(musrStep_src
|
||||||
|
PMusrStep.cpp
|
||||||
|
musrStep.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
# Instruct CMake to run moc automatically when needed
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
|
||||||
|
#[==[
|
||||||
|
# as35 currently CMAKE_AUTOUIC -> ON doesn't work since it requires the ui-files
|
||||||
|
# in the same directory as the cpp-files.
|
||||||
|
# Create code from a list of Qt designer ui files
|
||||||
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
#]==]
|
||||||
|
set(CMAKE_AUTOUIC OFF)
|
||||||
|
|
||||||
|
# add qt/rcc
|
||||||
|
qt5_add_resources(musrStep_rcc musrStep.qrc)
|
||||||
|
|
||||||
|
add_executable(musrStep
|
||||||
|
${musrStep_src}
|
||||||
|
${musrStep_rcc}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(musrStep
|
||||||
|
BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/..>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../..>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../include>
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(musrStep ${qt_libs})
|
||||||
|
|
||||||
|
#--- installation info --------------------------------------------------------
|
||||||
|
install(
|
||||||
|
TARGETS
|
||||||
|
musrStep
|
||||||
|
RUNTIME DESTINATION
|
||||||
|
bin
|
||||||
|
)
|
||||||
|
|
51
src/musredit_qt5/musrWiz/CMakeLists.txt
Normal file
51
src/musredit_qt5/musrWiz/CMakeLists.txt
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
#--- musrWiz for Qt > 5.0 -----------------------------------------------------
|
||||||
|
|
||||||
|
set(qt_libs Qt5::Core Qt5::Widgets Qt5::Svg Qt5::Xml)
|
||||||
|
|
||||||
|
set(musrWiz_src
|
||||||
|
PTheoTemplate.cpp
|
||||||
|
PMusrfitFunc.cpp
|
||||||
|
PInstrumentDef.cpp
|
||||||
|
PAdmin.cpp
|
||||||
|
PMusrWiz.cpp
|
||||||
|
musrWiz.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
# Instruct CMake to run moc automatically when needed
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
|
||||||
|
#[==[
|
||||||
|
# as35 currently CMAKE_AUTOUIC -> ON doesn't work since it requires the ui-files
|
||||||
|
# in the same directory as the cpp-files.
|
||||||
|
# Create code from a list of Qt designer ui files
|
||||||
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
#]==]
|
||||||
|
set(CMAKE_AUTOUIC OFF)
|
||||||
|
|
||||||
|
# add qt/rcc
|
||||||
|
qt5_add_resources(musrWiz_rcc musrWiz.qrc)
|
||||||
|
|
||||||
|
add_executable(musrWiz
|
||||||
|
${musrWiz_src}
|
||||||
|
${musrWiz_rcc}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(musrWiz
|
||||||
|
BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/..>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../..>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../include>
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(musrWiz ${qt_libs})
|
||||||
|
|
||||||
|
#--- installation info --------------------------------------------------------
|
||||||
|
install(
|
||||||
|
TARGETS
|
||||||
|
musrWiz
|
||||||
|
RUNTIME DESTINATION
|
||||||
|
bin
|
||||||
|
)
|
||||||
|
|
151
src/musredit_qt5/musredit/CMakeLists.txt
Normal file
151
src/musredit_qt5/musredit/CMakeLists.txt
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
#--- musredit for Qt > 5.0 ----------------------------------------------------
|
||||||
|
|
||||||
|
#--- check if Qt5WebEngine or Qt5WebKit is present ----------------------------
|
||||||
|
find_package(Qt5WebEngine QUIET)
|
||||||
|
find_package(Qt5WebKit QUIET)
|
||||||
|
|
||||||
|
set(qt_libs Qt5::Core Qt5::Widgets Qt5::Network Qt5::Xml Qt5::Svg Qt5::PrintSupport)
|
||||||
|
if (Qt5WebEngine_FOUND)
|
||||||
|
message("debug> Qt5WebEngine is present.")
|
||||||
|
find_package(Qt5WebEngineWidgets QUIET CONFIG REQUIRED)
|
||||||
|
set(qt_libs ${qt_libs} Qt5::WebEngine Qt5::WebEngineWidgets)
|
||||||
|
elseif (Qt5WebKit_FOUND)
|
||||||
|
message("debug> Qt5WebKit is present.")
|
||||||
|
find_package(Qt5WebKitWidgets QUIET CONFIG REQUIRED)
|
||||||
|
set(qt_libs ${qt_libs} Qt5::WebKit Qt5::WebKitWidgets)
|
||||||
|
else (Qt5WebEngine_FOUND)
|
||||||
|
message("debug> Neither Qt5WebEngine nor Qt5WebKit found.")
|
||||||
|
endif (Qt5WebEngine_FOUND)
|
||||||
|
|
||||||
|
set(musredit_src
|
||||||
|
PHelp.cpp
|
||||||
|
PTextEdit.cpp
|
||||||
|
PSubTextEdit.cpp
|
||||||
|
PAdmin.cpp
|
||||||
|
PFindDialog.cpp
|
||||||
|
PReplaceDialog.cpp
|
||||||
|
PReplaceConfirmationDialog.cpp
|
||||||
|
PFitOutputHandler.cpp
|
||||||
|
PDumpOutputHandler.cpp
|
||||||
|
PPrefsDialog.cpp
|
||||||
|
PGetMusrFTOptionsDialog.cpp
|
||||||
|
PGetTitleBlockDialog.cpp
|
||||||
|
PGetParameterBlockDialog.cpp
|
||||||
|
PGetTheoryBlockDialog.cpp
|
||||||
|
PGetFunctionsBlockDialog.cpp
|
||||||
|
PGetAsymmetryRunBlockDialog.cpp
|
||||||
|
PGetSingleHistoRunBlockDialog.cpp
|
||||||
|
PGetNonMusrRunBlockDialog.cpp
|
||||||
|
PGetFourierBlockDialog.cpp
|
||||||
|
PGetPlotBlockDialog.cpp
|
||||||
|
PMsr2DataDialog.cpp
|
||||||
|
PChangeDefaultPathsDialog.cpp
|
||||||
|
PMusrEditAbout.cpp
|
||||||
|
main.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
set(musredit_ui
|
||||||
|
forms/PFindDialog.ui
|
||||||
|
forms/PReplaceDialog.ui
|
||||||
|
forms/PReplaceConfirmationDialog.ui
|
||||||
|
forms/PMusrEditAbout.ui
|
||||||
|
forms/PPrefsDialog.ui
|
||||||
|
forms/PGetMusrFTOptionsDialog.ui
|
||||||
|
forms/PGetTitleBlockDialog.ui
|
||||||
|
forms/PGetParameterBlockDialog.ui
|
||||||
|
forms/PGetTheoryBlockDialog.ui
|
||||||
|
forms/PGetFunctionsBlockDialog.ui
|
||||||
|
forms/PGetAsymmetryRunBlockDialog.ui
|
||||||
|
forms/PGetSingleHistoRunBlockDialog.ui
|
||||||
|
forms/PGetNonMusrRunBlockDialog.ui
|
||||||
|
forms/PGetFourierBlockDialog.ui
|
||||||
|
forms/PGetPlotBlockDialog.ui
|
||||||
|
forms/PMsr2DataDialog.ui
|
||||||
|
forms/PChangeDefaultPathsDialog.ui
|
||||||
|
)
|
||||||
|
|
||||||
|
# Instruct CMake to run moc automatically when needed
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
|
||||||
|
#[==[
|
||||||
|
# as35 currently CMAKE_AUTOUIC -> ON doesn't work since it requires the ui-files
|
||||||
|
# in the same directory as the cpp-files.
|
||||||
|
# Create code from a list of Qt designer ui files
|
||||||
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
#]==]
|
||||||
|
set(CMAKE_AUTOUIC OFF)
|
||||||
|
|
||||||
|
# call qt/uic
|
||||||
|
qt5_wrap_ui(out_ui ${musredit_ui})
|
||||||
|
# add qt/rcc
|
||||||
|
qt5_add_resources(musredit_rcc musredit.qrc)
|
||||||
|
|
||||||
|
set(macosx_icon icons/musredit.icns)
|
||||||
|
if (APPLE)
|
||||||
|
add_executable(musredit MACOSX_BUNDLE
|
||||||
|
${musredit_src}
|
||||||
|
${out_ui}
|
||||||
|
${musredit_rcc}
|
||||||
|
${macosx_icon}
|
||||||
|
)
|
||||||
|
else (APPLE)
|
||||||
|
add_executable(musredit
|
||||||
|
${musredit_src}
|
||||||
|
${out_ui}
|
||||||
|
${musredit_rcc}
|
||||||
|
)
|
||||||
|
endif (APPLE)
|
||||||
|
|
||||||
|
if (Qt5WebEngine_FOUND)
|
||||||
|
target_compile_options(musredit
|
||||||
|
BEFORE PRIVATE
|
||||||
|
-DHAVE_QT_WEB_ENGINE
|
||||||
|
)
|
||||||
|
endif (Qt5WebEngine_FOUND)
|
||||||
|
|
||||||
|
target_include_directories(musredit
|
||||||
|
BEFORE PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/..>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../..>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../include>
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(musredit ${qt_libs})
|
||||||
|
|
||||||
|
#--- installation info --------------------------------------------------------
|
||||||
|
if (APPLE)
|
||||||
|
set_target_properties(musredit PROPERTIES
|
||||||
|
MACOSX_BUNDLE TRUE
|
||||||
|
MACOSX_BUNDLE_BUNDLE_NAME "musredit"
|
||||||
|
MACOSX_BUNDLE_INFO_STRING "musredit simplifies the handling of the msr-files for uSR fitting."
|
||||||
|
MACOSX_BUNDLE_ICON_FILE "musredit.icns"
|
||||||
|
MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_VERSION}"
|
||||||
|
MACOSX_FRAMEWORK_IDENTIFIER ch.psi.musredit
|
||||||
|
MACOSX_BUNDLE_COPYRIGHT "Andreas Suter"
|
||||||
|
RESOURCE ${macosx_icon}
|
||||||
|
)
|
||||||
|
endif (APPLE)
|
||||||
|
|
||||||
|
if (APPLE)
|
||||||
|
install( TARGETS musredit
|
||||||
|
BUNDLE DESTINATION /Applications
|
||||||
|
)
|
||||||
|
else (APPLE)
|
||||||
|
install( TARGETS musredit
|
||||||
|
RUNTIME DESTINATION bin
|
||||||
|
)
|
||||||
|
endif (APPLE)
|
||||||
|
|
||||||
|
#--- documentation installation info ------------------------------------------
|
||||||
|
install(
|
||||||
|
DIRECTORY
|
||||||
|
${CMAKE_SOURCE_DIR}/doc/examples
|
||||||
|
${CMAKE_SOURCE_DIR}/doc/html
|
||||||
|
${CMAKE_SOURCE_DIR}/doc/memos
|
||||||
|
DESTINATION
|
||||||
|
${CMAKE_INSTALL_PREFIX}/share/doc/musrfit
|
||||||
|
MESSAGE_NEVER
|
||||||
|
)
|
||||||
|
|
@ -103,7 +103,7 @@ PDumpOutputHandler::~PDumpOutputHandler()
|
|||||||
fProc->waitForFinished();
|
fProc->waitForFinished();
|
||||||
}
|
}
|
||||||
if (fProc->state() == QProcess::Running) {
|
if (fProc->state() == QProcess::Running) {
|
||||||
QString cmd = "kill -9 "+ fProcPID;
|
QString cmd = "kill -9 "+ QString("%1").arg(fProcPID);
|
||||||
QString msg = "fProc still running even after Qt kill, will try system kill cmd: "+cmd;
|
QString msg = "fProc still running even after Qt kill, will try system kill cmd: "+cmd;
|
||||||
qDebug() << msg << endl;
|
qDebug() << msg << endl;
|
||||||
system(cmd.toLatin1());
|
system(cmd.toLatin1());
|
||||||
|
@ -64,7 +64,7 @@ PFitOutputHandler::PFitOutputHandler(QString workingDirectory, QVector<QString>
|
|||||||
|
|
||||||
// make sure that the system environment variables are properly set
|
// make sure that the system environment variables are properly set
|
||||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||||
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("DKS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
|
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
|
||||||
fProc->setProcessEnvironment(env);
|
fProc->setProcessEnvironment(env);
|
||||||
fProc->setWorkingDirectory(workingDirectory);
|
fProc->setWorkingDirectory(workingDirectory);
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ PFitOutputHandler::~PFitOutputHandler()
|
|||||||
fProc->waitForFinished();
|
fProc->waitForFinished();
|
||||||
}
|
}
|
||||||
if (fProc->state() == QProcess::Running) {
|
if (fProc->state() == QProcess::Running) {
|
||||||
QString cmd = "kill -9 "+ fProcPID;
|
QString cmd = "kill -9 "+ QString("%1").arg(fProcPID);
|
||||||
QString msg = "fProc still running even after Qt kill, will try system kill cmd: "+cmd;
|
QString msg = "fProc still running even after Qt kill, will try system kill cmd: "+cmd;
|
||||||
qDebug() << msg << endl;
|
qDebug() << msg << endl;
|
||||||
system(cmd.toLatin1());
|
system(cmd.toLatin1());
|
||||||
|
@ -76,7 +76,7 @@ void PGetFourierBlockDialog::checkPhaseParameter()
|
|||||||
|
|
||||||
ival = str.toInt(&ok);
|
ival = str.toInt(&ok);
|
||||||
if (!ok) { // i.e. the phase entry is not a number. Check for parXX
|
if (!ok) { // i.e. the phase entry is not a number. Check for parXX
|
||||||
str.trimmed();
|
str = str.trimmed();
|
||||||
if (str.startsWith("par")) { //
|
if (str.startsWith("par")) { //
|
||||||
str.remove("par");
|
str.remove("par");
|
||||||
ival = str.toInt(&ok);
|
ival = str.toInt(&ok);
|
||||||
|
@ -1848,7 +1848,7 @@ void PTextEdit::musrWiz()
|
|||||||
|
|
||||||
// make sure that the system environment variables are properly set
|
// make sure that the system environment variables are properly set
|
||||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||||
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("DKS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
|
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
|
||||||
proc->setProcessEnvironment(env);
|
proc->setProcessEnvironment(env);
|
||||||
proc->setWorkingDirectory(workDir);
|
proc->setWorkingDirectory(workDir);
|
||||||
proc->start(cmd, arg);
|
proc->start(cmd, arg);
|
||||||
@ -2262,7 +2262,7 @@ void PTextEdit::musrMsr2Data()
|
|||||||
stream = new QTextStream(file);
|
stream = new QTextStream(file);
|
||||||
while ( !stream->atEnd() ) {
|
while ( !stream->atEnd() ) {
|
||||||
str = stream->readLine(); // line of text excluding '\n'
|
str = stream->readLine(); // line of text excluding '\n'
|
||||||
str.trimmed();
|
str = str.trimmed();
|
||||||
if (!str.isEmpty() && !str.startsWith("#") && !str.startsWith("run", Qt::CaseInsensitive)) {
|
if (!str.isEmpty() && !str.startsWith("#") && !str.startsWith("run", Qt::CaseInsensitive)) {
|
||||||
fln = str.section(' ', 0, 0, QString::SectionSkipEmpty);
|
fln = str.section(' ', 0, 0, QString::SectionSkipEmpty);
|
||||||
if (fMsr2DataParam->msrFileExtension.isEmpty())
|
if (fMsr2DataParam->msrFileExtension.isEmpty())
|
||||||
@ -2305,7 +2305,7 @@ void PTextEdit::musrMsr2Data()
|
|||||||
stream = new QTextStream(file);
|
stream = new QTextStream(file);
|
||||||
while ( !stream->atEnd() ) {
|
while ( !stream->atEnd() ) {
|
||||||
str = stream->readLine(); // line of text excluding '\n'
|
str = stream->readLine(); // line of text excluding '\n'
|
||||||
str.trimmed();
|
str = str.trimmed();
|
||||||
if (!str.isEmpty() && !str.startsWith("#") && !str.startsWith("run", Qt::CaseInsensitive)) {
|
if (!str.isEmpty() && !str.startsWith("#") && !str.startsWith("run", Qt::CaseInsensitive)) {
|
||||||
fln = str.section(' ', 0, 0, QString::SectionSkipEmpty);
|
fln = str.section(' ', 0, 0, QString::SectionSkipEmpty);
|
||||||
break;
|
break;
|
||||||
@ -2382,7 +2382,7 @@ void PTextEdit::musrView()
|
|||||||
|
|
||||||
// make sure that the system environment variables are properly set
|
// make sure that the system environment variables are properly set
|
||||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||||
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("DKS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
|
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
|
||||||
proc->setProcessEnvironment(env);
|
proc->setProcessEnvironment(env);
|
||||||
proc->setWorkingDirectory(workDir);
|
proc->setWorkingDirectory(workDir);
|
||||||
proc->start(cmd, arg);
|
proc->start(cmd, arg);
|
||||||
@ -2436,7 +2436,7 @@ void PTextEdit::musrT0()
|
|||||||
|
|
||||||
// make sure that the system environment variables are properly set
|
// make sure that the system environment variables are properly set
|
||||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||||
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("DKS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
|
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
|
||||||
proc->setProcessEnvironment(env);
|
proc->setProcessEnvironment(env);
|
||||||
proc->setWorkingDirectory(workDir);
|
proc->setWorkingDirectory(workDir);
|
||||||
proc->start(cmd, arg);
|
proc->start(cmd, arg);
|
||||||
@ -2473,7 +2473,7 @@ void PTextEdit::musrFT()
|
|||||||
proc->setStandardErrorFile("musrFT.log");
|
proc->setStandardErrorFile("musrFT.log");
|
||||||
QString cmd = fAdmin->getExecPath() + "/musrFT";
|
QString cmd = fAdmin->getExecPath() + "/musrFT";
|
||||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||||
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("DKS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
|
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
|
||||||
proc->setProcessEnvironment(env);
|
proc->setProcessEnvironment(env);
|
||||||
proc->start(cmd, fMusrFTPrevCmd);
|
proc->start(cmd, fMusrFTPrevCmd);
|
||||||
if (!proc->waitForStarted()) {
|
if (!proc->waitForStarted()) {
|
||||||
@ -2575,7 +2575,7 @@ void PTextEdit::musrSetSteps()
|
|||||||
|
|
||||||
// make sure that the system environment variables are properly set
|
// make sure that the system environment variables are properly set
|
||||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||||
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("DKS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
|
env.insert("LD_LIBRARY_PATH", env.value("ROOTSYS") + "/lib:" + env.value("LD_LIBRARY_PATH"));
|
||||||
proc->setProcessEnvironment(env);
|
proc->setProcessEnvironment(env);
|
||||||
proc->setWorkingDirectory(workDir);
|
proc->setWorkingDirectory(workDir);
|
||||||
proc->start(cmd, arg);
|
proc->start(cmd, arg);
|
||||||
@ -3041,10 +3041,15 @@ void PTextEdit::getTheme()
|
|||||||
|
|
||||||
QString str = QIcon::themeName();
|
QString str = QIcon::themeName();
|
||||||
|
|
||||||
|
qDebug() << "debug> str=" << str << endl;
|
||||||
|
|
||||||
if (str.contains("dark", Qt::CaseInsensitive)) {
|
if (str.contains("dark", Qt::CaseInsensitive)) {
|
||||||
fDarkTheme = true;
|
fDarkTheme = true;
|
||||||
if (str.contains("ubuntu", Qt::CaseInsensitive)) {
|
if (str.contains("ubuntu", Qt::CaseInsensitive)) {
|
||||||
fDarkToolBarIcon = false;
|
fDarkToolBarIcon = false;
|
||||||
|
} else if (str.contains("xfce", Qt::CaseInsensitive)) {
|
||||||
|
fDarkTheme = false;
|
||||||
|
fDarkToolBarIcon = false;
|
||||||
} else {
|
} else {
|
||||||
fDarkToolBarIcon = true;
|
fDarkToolBarIcon = true;
|
||||||
}
|
}
|
||||||
|
@ -332,7 +332,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string> Histo Info </string>
|
<string> Histo Info </string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_0">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
@ -600,7 +600,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>File Selection</string>
|
<string>File Selection</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_1">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>19</x>
|
<x>19</x>
|
||||||
@ -706,7 +706,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_3">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Run Header Info</string>
|
<string>Run Header Info</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_0">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -54,7 +54,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_1">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>11</x>
|
<x>11</x>
|
||||||
@ -105,7 +105,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_2">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -211,7 +211,7 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Required Entries</string>
|
<string>Required Entries</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_3">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -237,7 +237,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_4">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>11</x>
|
<x>11</x>
|
||||||
@ -275,7 +275,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_5">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -345,7 +345,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_6">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
<property name="checkable">
|
<property name="checkable">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="">
|
<widget class="QWidget" name="layoutWidget_0">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -147,7 +147,7 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>msr File Extension</string>
|
<string>msr File Extension</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_1">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -215,7 +215,7 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Template Run Input</string>
|
<string>Template Run Input</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_2">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -277,7 +277,7 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Parameter Output File Name</string>
|
<string>Parameter Output File Name</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_3">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
@ -332,7 +332,7 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Options</string>
|
<string>Options</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_4">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>6</x>
|
<x>6</x>
|
||||||
@ -514,7 +514,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_5">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>5</x>
|
<x>5</x>
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
<iconset>
|
<iconset>
|
||||||
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
|
<normaloff>:/images/musrfit.xpm</normaloff>:/images/musrfit.xpm</iconset>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_0">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
@ -39,7 +39,7 @@
|
|||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>general</string>
|
<string>general</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget_1">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user