Index: trunk/config.log =================================================================== --- trunk/config.log (revision 594) +++ trunk/config.log (revision 595) @@ -1,942 +1,942 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by npstat configure 4.10.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ ./configure --with-pic ## --------- ## ## Platform. ## ## --------- ## hostname = dawn uname -m = x86_64 -uname -r = 4.15.0-52-generic +uname -r = 4.15.0-54-generic uname -s = Linux -uname -v = #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 +uname -v = #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 /usr/bin/uname -p = unknown /bin/uname -X = unknown /bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /home/igv/bin PATH: /home/igv/local/bin PATH: /usr/local/anaconda3/bin PATH: /usr/local/bin PATH: /usr/local/root/bin PATH: /usr/local/bin PATH: /bin PATH: /usr/bin PATH: /sbin PATH: /usr/sbin PATH: . ## ----------- ## ## Core tests. ## ## ----------- ## configure:2421: checking for a BSD-compatible install configure:2489: result: /usr/bin/install -c configure:2500: checking whether build environment is sane configure:2555: result: yes configure:2706: checking for a thread-safe mkdir -p configure:2745: result: /bin/mkdir -p configure:2752: checking for gawk configure:2768: found /usr/bin/gawk configure:2779: result: gawk configure:2790: checking whether make sets $(MAKE) configure:2812: result: yes configure:2841: checking whether make supports nested variables configure:2858: result: yes configure:3041: checking for pkg-config configure:3059: found /usr/bin/pkg-config configure:3071: result: /usr/bin/pkg-config configure:3096: checking pkg-config is at least version 0.9.0 configure:3099: result: yes configure:3109: checking for DEPS configure:3116: $PKG_CONFIG --exists --print-errors "fftw3 >= 3.1.2 geners >= 1.3.0 kstest >= 2.0.0" configure:3119: $? = 0 configure:3133: $PKG_CONFIG --exists --print-errors "fftw3 >= 3.1.2 geners >= 1.3.0 kstest >= 2.0.0" configure:3136: $? = 0 configure:3194: result: yes configure:3257: checking for g++ configure:3273: found /usr/bin/g++ configure:3284: result: g++ configure:3311: checking for C++ compiler version configure:3320: g++ --version >&5 g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:3331: $? = 0 configure:3320: g++ -v >&5 Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) configure:3331: $? = 0 configure:3320: g++ -V >&5 g++: error: unrecognized command line option '-V' g++: fatal error: no input files compilation terminated. configure:3331: $? = 1 configure:3320: g++ -qversion >&5 g++: error: unrecognized command line option '-qversion'; did you mean '--version'? g++: fatal error: no input files compilation terminated. configure:3331: $? = 1 configure:3351: checking whether the C++ compiler works configure:3373: g++ -std=c++11 -O3 -Wall -W -Werror conftest.cpp >&5 configure:3377: $? = 0 configure:3425: result: yes configure:3428: checking for C++ compiler default output file name configure:3430: result: a.out configure:3436: checking for suffix of executables configure:3443: g++ -o conftest -std=c++11 -O3 -Wall -W -Werror conftest.cpp >&5 configure:3447: $? = 0 configure:3469: result: configure:3491: checking whether we are cross compiling configure:3499: g++ -o conftest -std=c++11 -O3 -Wall -W -Werror conftest.cpp >&5 configure:3503: $? = 0 configure:3510: ./conftest configure:3514: $? = 0 configure:3529: result: no configure:3534: checking for suffix of object files configure:3556: g++ -c -std=c++11 -O3 -Wall -W -Werror conftest.cpp >&5 configure:3560: $? = 0 configure:3581: result: o configure:3585: checking whether we are using the GNU C++ compiler configure:3604: g++ -c -std=c++11 -O3 -Wall -W -Werror conftest.cpp >&5 configure:3604: $? = 0 configure:3613: result: yes configure:3622: checking whether g++ accepts -g configure:3642: g++ -c -g conftest.cpp >&5 configure:3642: $? = 0 configure:3683: result: yes configure:3717: checking for style of include used by make configure:3745: result: GNU configure:3771: checking dependency style of g++ configure:3882: result: gcc3 configure:3951: checking for g77 configure:3967: found /home/igv/bin/g77 configure:3978: result: g77 configure:4004: checking for Fortran 77 compiler version configure:4013: g77 --version >&5 GNU Fortran (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:4024: $? = 0 configure:4013: g77 -v >&5 Using built-in specs. COLLECT_GCC=g77 COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) configure:4024: $? = 0 configure:4013: g77 -V >&5 g77: error: unrecognized command line option '-V' g77: fatal error: no input files compilation terminated. configure:4024: $? = 1 configure:4013: g77 -qversion >&5 g77: error: unrecognized command line option '-qversion'; did you mean '--version'? g77: fatal error: no input files compilation terminated. configure:4024: $? = 1 configure:4033: checking whether we are using the GNU Fortran 77 compiler configure:4046: g77 -c conftest.F >&5 configure:4046: $? = 0 configure:4055: result: yes configure:4061: checking whether g77 accepts -g configure:4072: g77 -c -g conftest.f >&5 configure:4072: $? = 0 configure:4080: result: yes configure:4113: checking build system type configure:4127: result: x86_64-pc-linux-gnu configure:4147: checking host system type configure:4160: result: x86_64-pc-linux-gnu configure:4185: checking how to get verbose linking output from g77 configure:4195: g77 -c -g -O2 conftest.f >&5 configure:4195: $? = 0 configure:4213: g77 -o conftest -g -O2 -v conftest.f Using built-in specs. Target: x86_64-linux-gnu Thread model: posix gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) - /usr/lib/gcc/x86_64-linux-gnu/7/f951 conftest.f -ffixed-form -quiet -dumpbase conftest.f -mtune=generic -march=x86-64 -auxbase conftest -g -O2 -version -fintrinsic-modules-path /usr/lib/gcc/x86_64-linux-gnu/7/finclude -o /tmp/ccxe549p.s + /usr/lib/gcc/x86_64-linux-gnu/7/f951 conftest.f -ffixed-form -quiet -dumpbase conftest.f -mtune=generic -march=x86-64 -auxbase conftest -g -O2 -version -fintrinsic-modules-path /usr/lib/gcc/x86_64-linux-gnu/7/finclude -o /tmp/ccBqIQjj.s GNU Fortran (Ubuntu 7.4.0-1ubuntu1~18.04.1) version 7.4.0 (x86_64-linux-gnu) compiled by GNU C version 7.4.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.19-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU Fortran2008 (Ubuntu 7.4.0-1ubuntu1~18.04.1) version 7.4.0 (x86_64-linux-gnu) compiled by GNU C version 7.4.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.19-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 - as -v --64 -o /tmp/ccTy077z.o /tmp/ccxe549p.s + as -v --64 -o /tmp/ccFB2o4d.o /tmp/ccBqIQjj.s GNU assembler version 2.30 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.30 Reading specs from /usr/lib/gcc/x86_64-linux-gnu/7/libgfortran.spec rename spec lib to liborig - /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/cc7hnV6J.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lquadmath -plugin-opt=-pass-through=-lm -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o conftest /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. /tmp/ccTy077z.o -lgfortran -lm -lgcc_s -lgcc -lquadmath -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/7/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o + /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/ccVatNP8.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lquadmath -plugin-opt=-pass-through=-lm -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o conftest /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. /tmp/ccFB2o4d.o -lgfortran -lm -lgcc_s -lgcc -lquadmath -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/7/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o configure:4296: result: -v configure:4298: checking for Fortran 77 libraries of g77 configure:4321: g77 -o conftest -g -O2 -v conftest.f Using built-in specs. Target: x86_64-linux-gnu Thread model: posix gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) - /usr/lib/gcc/x86_64-linux-gnu/7/f951 conftest.f -ffixed-form -quiet -dumpbase conftest.f -mtune=generic -march=x86-64 -auxbase conftest -g -O2 -version -fintrinsic-modules-path /usr/lib/gcc/x86_64-linux-gnu/7/finclude -o /tmp/ccelq79s.s + /usr/lib/gcc/x86_64-linux-gnu/7/f951 conftest.f -ffixed-form -quiet -dumpbase conftest.f -mtune=generic -march=x86-64 -auxbase conftest -g -O2 -version -fintrinsic-modules-path /usr/lib/gcc/x86_64-linux-gnu/7/finclude -o /tmp/ccmSEMam.s GNU Fortran (Ubuntu 7.4.0-1ubuntu1~18.04.1) version 7.4.0 (x86_64-linux-gnu) compiled by GNU C version 7.4.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.19-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU Fortran2008 (Ubuntu 7.4.0-1ubuntu1~18.04.1) version 7.4.0 (x86_64-linux-gnu) compiled by GNU C version 7.4.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.19-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 - as -v --64 -o /tmp/cc7MWHgD.o /tmp/ccelq79s.s + as -v --64 -o /tmp/ccW4me4g.o /tmp/ccmSEMam.s GNU assembler version 2.30 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.30 Reading specs from /usr/lib/gcc/x86_64-linux-gnu/7/libgfortran.spec rename spec lib to liborig - /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/ccOHN1nN.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lquadmath -plugin-opt=-pass-through=-lm -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o conftest /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. /tmp/cc7MWHgD.o -lgfortran -lm -lgcc_s -lgcc -lquadmath -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/7/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o + /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/cc8MusYb.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lquadmath -plugin-opt=-pass-through=-lm -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o conftest /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. /tmp/ccW4me4g.o -lgfortran -lm -lgcc_s -lgcc -lquadmath -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/7/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o configure:4517: result: -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -lgfortran -lm -lquadmath configure:4579: checking how to print strings configure:4606: result: printf configure:4675: checking for gcc configure:4691: found /usr/bin/gcc configure:4702: result: gcc configure:4931: checking for C compiler version configure:4940: gcc --version >&5 gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:4951: $? = 0 configure:4940: gcc -v >&5 Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) configure:4951: $? = 0 configure:4940: gcc -V >&5 gcc: error: unrecognized command line option '-V' gcc: fatal error: no input files compilation terminated. configure:4951: $? = 1 configure:4940: gcc -qversion >&5 gcc: error: unrecognized command line option '-qversion'; did you mean '--version'? gcc: fatal error: no input files compilation terminated. configure:4951: $? = 1 configure:4955: checking whether we are using the GNU C compiler configure:4974: gcc -c conftest.c >&5 configure:4974: $? = 0 configure:4983: result: yes configure:4992: checking whether gcc accepts -g configure:5012: gcc -c -g conftest.c >&5 configure:5012: $? = 0 configure:5053: result: yes configure:5070: checking for gcc option to accept ISO C89 configure:5133: gcc -c -g -O2 conftest.c >&5 configure:5133: $? = 0 configure:5146: result: none needed configure:5171: checking whether gcc understands -c and -o together configure:5193: gcc -c conftest.c -o conftest2.o configure:5196: $? = 0 configure:5193: gcc -c conftest.c -o conftest2.o configure:5196: $? = 0 configure:5208: result: yes configure:5227: checking dependency style of gcc configure:5338: result: gcc3 configure:5353: checking for a sed that does not truncate output configure:5417: result: /bin/sed configure:5435: checking for grep that handles long lines and -e configure:5493: result: /bin/grep configure:5498: checking for egrep configure:5560: result: /bin/grep -E configure:5565: checking for fgrep configure:5627: result: /bin/grep -F configure:5662: checking for ld used by gcc configure:5729: result: /usr/bin/ld configure:5736: checking if the linker (/usr/bin/ld) is GNU ld configure:5751: result: yes configure:5763: checking for BSD- or MS-compatible name lister (nm) configure:5817: result: /usr/bin/nm -B configure:5947: checking the name lister (/usr/bin/nm -B) interface configure:5954: gcc -c -g -O2 conftest.c >&5 configure:5957: /usr/bin/nm -B "conftest.o" configure:5960: output 0000000000000000 B some_variable configure:5967: result: BSD nm configure:5970: checking whether ln -s works configure:5974: result: yes configure:5982: checking the maximum length of command line arguments configure:6113: result: 1572864 configure:6161: checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format configure:6201: result: func_convert_file_noop configure:6208: checking how to convert x86_64-pc-linux-gnu file names to toolchain format configure:6228: result: func_convert_file_noop configure:6235: checking for /usr/bin/ld option to reload object files configure:6242: result: -r configure:6316: checking for objdump configure:6332: found /usr/bin/objdump configure:6343: result: objdump configure:6375: checking how to recognize dependent libraries configure:6575: result: pass_all configure:6660: checking for dlltool configure:6690: result: no configure:6720: checking how to associate runtime and link libraries configure:6747: result: printf %s\n configure:6808: checking for ar configure:6824: found /usr/bin/ar configure:6835: result: ar configure:6872: checking for archiver @FILE support configure:6889: gcc -c -g -O2 conftest.c >&5 configure:6889: $? = 0 configure:6892: ar cru libconftest.a @conftest.lst >&5 ar: `u' modifier ignored since `D' is the default (see `U') configure:6895: $? = 0 configure:6900: ar cru libconftest.a @conftest.lst >&5 ar: `u' modifier ignored since `D' is the default (see `U') ar: conftest.o: No such file or directory configure:6903: $? = 1 configure:6915: result: @ configure:6973: checking for strip configure:6989: found /usr/bin/strip configure:7000: result: strip configure:7072: checking for ranlib configure:7088: found /usr/bin/ranlib configure:7099: result: ranlib configure:7201: checking command to parse /usr/bin/nm -B output from gcc object configure:7354: gcc -c -g -O2 conftest.c >&5 configure:7357: $? = 0 configure:7361: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm configure:7364: $? = 0 configure:7430: gcc -o conftest -g -O2 conftest.c conftstm.o >&5 configure:7433: $? = 0 configure:7471: result: ok configure:7518: checking for sysroot configure:7548: result: no configure:7555: checking for a working dd configure:7593: result: /bin/dd configure:7597: checking how to truncate binary pipes configure:7612: result: /bin/dd bs=4096 count=1 configure:7748: gcc -c -g -O2 conftest.c >&5 configure:7751: $? = 0 configure:7941: checking for mt configure:7957: found /bin/mt configure:7968: result: mt configure:7991: checking if mt is a manifest tool configure:7997: mt '-?' configure:8005: result: no configure:8682: checking how to run the C preprocessor configure:8713: gcc -E conftest.c configure:8713: $? = 0 configure:8727: gcc -E conftest.c conftest.c:11:10: fatal error: ac_nonexistent.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~ compilation terminated. configure:8727: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "npstat" | #define PACKAGE_TARNAME "npstat" | #define PACKAGE_VERSION "4.10.0" | #define PACKAGE_STRING "npstat 4.10.0" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "" | #define PACKAGE "npstat" | #define VERSION "4.10.0" | /* end confdefs.h. */ | #include configure:8752: result: gcc -E configure:8772: gcc -E conftest.c configure:8772: $? = 0 configure:8786: gcc -E conftest.c conftest.c:11:10: fatal error: ac_nonexistent.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~ compilation terminated. configure:8786: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "npstat" | #define PACKAGE_TARNAME "npstat" | #define PACKAGE_VERSION "4.10.0" | #define PACKAGE_STRING "npstat 4.10.0" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "" | #define PACKAGE "npstat" | #define VERSION "4.10.0" | /* end confdefs.h. */ | #include configure:8815: checking for ANSI C header files configure:8835: gcc -c -g -O2 conftest.c >&5 configure:8835: $? = 0 configure:8908: gcc -o conftest -g -O2 conftest.c >&5 configure:8908: $? = 0 configure:8908: ./conftest configure:8908: $? = 0 configure:8919: result: yes configure:8932: checking for sys/types.h configure:8932: gcc -c -g -O2 conftest.c >&5 configure:8932: $? = 0 configure:8932: result: yes configure:8932: checking for sys/stat.h configure:8932: gcc -c -g -O2 conftest.c >&5 configure:8932: $? = 0 configure:8932: result: yes configure:8932: checking for stdlib.h configure:8932: gcc -c -g -O2 conftest.c >&5 configure:8932: $? = 0 configure:8932: result: yes configure:8932: checking for string.h configure:8932: gcc -c -g -O2 conftest.c >&5 configure:8932: $? = 0 configure:8932: result: yes configure:8932: checking for memory.h configure:8932: gcc -c -g -O2 conftest.c >&5 configure:8932: $? = 0 configure:8932: result: yes configure:8932: checking for strings.h configure:8932: gcc -c -g -O2 conftest.c >&5 configure:8932: $? = 0 configure:8932: result: yes configure:8932: checking for inttypes.h configure:8932: gcc -c -g -O2 conftest.c >&5 configure:8932: $? = 0 configure:8932: result: yes configure:8932: checking for stdint.h configure:8932: gcc -c -g -O2 conftest.c >&5 configure:8932: $? = 0 configure:8932: result: yes configure:8932: checking for unistd.h configure:8932: gcc -c -g -O2 conftest.c >&5 configure:8932: $? = 0 configure:8932: result: yes configure:8946: checking for dlfcn.h configure:8946: gcc -c -g -O2 conftest.c >&5 configure:8946: $? = 0 configure:8946: result: yes configure:9213: checking for objdir configure:9228: result: .libs configure:9492: checking if gcc supports -fno-rtti -fno-exceptions configure:9510: gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5 cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C configure:9514: $? = 0 configure:9527: result: no configure:9885: checking for gcc option to produce PIC configure:9892: result: -fPIC -DPIC configure:9900: checking if gcc PIC flag -fPIC -DPIC works configure:9918: gcc -c -g -O2 -fPIC -DPIC -DPIC conftest.c >&5 configure:9922: $? = 0 configure:9935: result: yes configure:9964: checking if gcc static flag -static works configure:9992: result: yes configure:10007: checking if gcc supports -c -o file.o configure:10028: gcc -c -g -O2 -o out/conftest2.o conftest.c >&5 configure:10032: $? = 0 configure:10054: result: yes configure:10062: checking if gcc supports -c -o file.o configure:10109: result: yes configure:10142: checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries configure:11401: result: yes configure:11438: checking whether -lc should be explicitly linked in configure:11446: gcc -c -g -O2 conftest.c >&5 configure:11449: $? = 0 configure:11464: gcc -shared -fPIC -DPIC conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /bin/grep -lc \>/dev/null 2\>\&1 configure:11467: $? = 0 configure:11481: result: no configure:11641: checking dynamic linker characteristics configure:12222: gcc -o conftest -g -O2 -Wl,-rpath -Wl,/foo conftest.c >&5 configure:12222: $? = 0 configure:12459: result: GNU/Linux ld.so configure:12581: checking how to hardcode library paths into programs configure:12606: result: immediate configure:13154: checking whether stripping libraries is possible configure:13159: result: yes configure:13194: checking if libtool supports shared libraries configure:13196: result: yes configure:13199: checking whether to build shared libraries configure:13224: result: yes configure:13227: checking whether to build static libraries configure:13231: result: yes configure:13254: checking how to run the C++ preprocessor configure:13281: g++ -E conftest.cpp configure:13281: $? = 0 configure:13295: g++ -E conftest.cpp conftest.cpp:23:10: fatal error: ac_nonexistent.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~ compilation terminated. configure:13295: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "npstat" | #define PACKAGE_TARNAME "npstat" | #define PACKAGE_VERSION "4.10.0" | #define PACKAGE_STRING "npstat 4.10.0" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "" | #define PACKAGE "npstat" | #define VERSION "4.10.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | #include configure:13320: result: g++ -E configure:13340: g++ -E conftest.cpp configure:13340: $? = 0 configure:13354: g++ -E conftest.cpp conftest.cpp:23:10: fatal error: ac_nonexistent.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~ compilation terminated. configure:13354: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "npstat" | #define PACKAGE_TARNAME "npstat" | #define PACKAGE_VERSION "4.10.0" | #define PACKAGE_STRING "npstat 4.10.0" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "" | #define PACKAGE "npstat" | #define VERSION "4.10.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | #include configure:13516: checking for ld used by g++ configure:13583: result: /usr/bin/ld -m elf_x86_64 configure:13590: checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld configure:13605: result: yes configure:13660: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries configure:14733: result: yes configure:14769: g++ -c -std=c++11 -O3 -Wall -W -Werror conftest.cpp >&5 configure:14772: $? = 0 configure:15253: checking for g++ option to produce PIC configure:15260: result: -fPIC -DPIC configure:15268: checking if g++ PIC flag -fPIC -DPIC works configure:15286: g++ -c -std=c++11 -O3 -Wall -W -Werror -fPIC -DPIC -DPIC conftest.cpp >&5 configure:15290: $? = 0 configure:15303: result: yes configure:15326: checking if g++ static flag -static works configure:15354: result: yes configure:15366: checking if g++ supports -c -o file.o configure:15387: g++ -c -std=c++11 -O3 -Wall -W -Werror -o out/conftest2.o conftest.cpp >&5 configure:15391: $? = 0 configure:15413: result: yes configure:15418: checking if g++ supports -c -o file.o configure:15465: result: yes configure:15495: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries configure:15535: result: yes configure:15676: checking dynamic linker characteristics configure:16421: result: GNU/Linux ld.so configure:16486: checking how to hardcode library paths into programs configure:16511: result: immediate configure:16652: checking if libtool supports shared libraries configure:16654: result: yes configure:16657: checking whether to build shared libraries configure:16681: result: yes configure:16684: checking whether to build static libraries configure:16688: result: yes configure:17040: checking for g77 option to produce PIC configure:17047: result: -fPIC configure:17055: checking if g77 PIC flag -fPIC works configure:17073: g77 -c -g -O2 -fPIC conftest.f >&5 configure:17077: $? = 0 configure:17090: result: yes configure:17113: checking if g77 static flag -static works configure:17141: result: yes configure:17153: checking if g77 supports -c -o file.o configure:17174: g77 -c -g -O2 -o out/conftest2.o conftest.f >&5 configure:17178: $? = 0 configure:17200: result: yes configure:17205: checking if g77 supports -c -o file.o configure:17252: result: yes configure:17282: checking whether the g77 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries configure:18491: result: yes configure:18632: checking dynamic linker characteristics configure:19371: result: GNU/Linux ld.so configure:19436: checking how to hardcode library paths into programs configure:19461: result: immediate configure:19661: checking that generated files are newer than configure configure:19667: result: done configure:19694: creating ./config.status ## ---------------------- ## ## Running config.status. ## ## ---------------------- ## This file was extended by npstat config.status 4.10.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = CONFIG_HEADERS = CONFIG_LINKS = CONFIG_COMMANDS = $ ./config.status on dawn config.status:1142: creating Makefile config.status:1142: creating npstat/nm/Makefile config.status:1142: creating npstat/rng/Makefile config.status:1142: creating npstat/stat/Makefile config.status:1142: creating npstat/wrap/Makefile config.status:1142: creating npstat/interfaces/Makefile config.status:1142: creating npstat/emsunfold/Makefile config.status:1142: creating npstat/Makefile config.status:1142: creating examples/C++/Makefile config.status:1142: creating npstat.pc config.status:1314: executing depfiles commands config.status:1314: executing libtool commands ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_build=x86_64-pc-linux-gnu ac_cv_c_compiler_gnu=yes ac_cv_cxx_compiler_gnu=yes ac_cv_env_CCC_set= ac_cv_env_CCC_value= ac_cv_env_CC_set= ac_cv_env_CC_value= ac_cv_env_CFLAGS_set= ac_cv_env_CFLAGS_value= ac_cv_env_CPPFLAGS_set= ac_cv_env_CPPFLAGS_value= ac_cv_env_CPP_set= ac_cv_env_CPP_value= ac_cv_env_CXXCPP_set= ac_cv_env_CXXCPP_value= ac_cv_env_CXXFLAGS_set=set ac_cv_env_CXXFLAGS_value='-std=c++11 -O3 -Wall -W -Werror' ac_cv_env_CXX_set= ac_cv_env_CXX_value= ac_cv_env_DEPS_CFLAGS_set= ac_cv_env_DEPS_CFLAGS_value= ac_cv_env_DEPS_LIBS_set= ac_cv_env_DEPS_LIBS_value= ac_cv_env_F77_set= ac_cv_env_F77_value= ac_cv_env_FFLAGS_set= ac_cv_env_FFLAGS_value= ac_cv_env_LDFLAGS_set= ac_cv_env_LDFLAGS_value= ac_cv_env_LIBS_set= ac_cv_env_LIBS_value= ac_cv_env_LT_SYS_LIBRARY_PATH_set= ac_cv_env_LT_SYS_LIBRARY_PATH_value= ac_cv_env_PKG_CONFIG_LIBDIR_set= ac_cv_env_PKG_CONFIG_LIBDIR_value= ac_cv_env_PKG_CONFIG_PATH_set=set ac_cv_env_PKG_CONFIG_PATH_value=/usr/local/lib/pkgconfig ac_cv_env_PKG_CONFIG_set= ac_cv_env_PKG_CONFIG_value= ac_cv_env_build_alias_set= ac_cv_env_build_alias_value= ac_cv_env_host_alias_set= ac_cv_env_host_alias_value= ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ac_cv_f77_compiler_gnu=yes ac_cv_f77_libs=' -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -lgfortran -lm -lquadmath' ac_cv_header_dlfcn_h=yes ac_cv_header_inttypes_h=yes ac_cv_header_memory_h=yes ac_cv_header_stdc=yes ac_cv_header_stdint_h=yes ac_cv_header_stdlib_h=yes ac_cv_header_string_h=yes ac_cv_header_strings_h=yes ac_cv_header_sys_stat_h=yes ac_cv_header_sys_types_h=yes ac_cv_header_unistd_h=yes ac_cv_host=x86_64-pc-linux-gnu ac_cv_objext=o ac_cv_path_EGREP='/bin/grep -E' ac_cv_path_FGREP='/bin/grep -F' ac_cv_path_GREP=/bin/grep ac_cv_path_SED=/bin/sed ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config ac_cv_path_install='/usr/bin/install -c' ac_cv_path_lt_DD=/bin/dd ac_cv_path_mkdir=/bin/mkdir ac_cv_prog_AWK=gawk ac_cv_prog_CPP='gcc -E' ac_cv_prog_CXXCPP='g++ -E' ac_cv_prog_ac_ct_AR=ar ac_cv_prog_ac_ct_CC=gcc ac_cv_prog_ac_ct_CXX=g++ ac_cv_prog_ac_ct_F77=g77 ac_cv_prog_ac_ct_MANIFEST_TOOL=mt ac_cv_prog_ac_ct_OBJDUMP=objdump ac_cv_prog_ac_ct_RANLIB=ranlib ac_cv_prog_ac_ct_STRIP=strip ac_cv_prog_cc_c89= ac_cv_prog_cc_g=yes ac_cv_prog_cxx_g=yes ac_cv_prog_f77_g=yes ac_cv_prog_f77_v=-v ac_cv_prog_make_make_set=yes am_cv_CC_dependencies_compiler_type=gcc3 am_cv_CXX_dependencies_compiler_type=gcc3 am_cv_make_support_nested_variables=yes am_cv_prog_cc_c_o=yes lt_cv_ar_at_file=@ lt_cv_archive_cmds_need_lc=no lt_cv_deplibs_check_method=pass_all lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_ld_reload_flag=-r lt_cv_nm_interface='BSD nm' lt_cv_objdir=.libs lt_cv_path_LD=/usr/bin/ld lt_cv_path_LDCXX='/usr/bin/ld -m elf_x86_64' lt_cv_path_NM='/usr/bin/nm -B' lt_cv_path_mainfest_tool=no lt_cv_prog_compiler_c_o=yes lt_cv_prog_compiler_c_o_CXX=yes lt_cv_prog_compiler_c_o_F77=yes lt_cv_prog_compiler_pic='-fPIC -DPIC' lt_cv_prog_compiler_pic_CXX='-fPIC -DPIC' lt_cv_prog_compiler_pic_F77=-fPIC lt_cv_prog_compiler_pic_works=yes lt_cv_prog_compiler_pic_works_CXX=yes lt_cv_prog_compiler_pic_works_F77=yes lt_cv_prog_compiler_rtti_exceptions=no lt_cv_prog_compiler_static_works=yes lt_cv_prog_compiler_static_works_CXX=yes lt_cv_prog_compiler_static_works_F77=yes lt_cv_prog_gnu_ld=yes lt_cv_prog_gnu_ldcxx=yes lt_cv_sharedlib_from_linklib_cmd='printf %s\n' lt_cv_shlibpath_overrides_runpath=yes lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\''' lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\''' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\''' lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' lt_cv_sys_global_symbol_to_import= lt_cv_sys_max_cmd_len=1572864 lt_cv_to_host_file_cmd=func_convert_file_noop lt_cv_to_tool_file_cmd=func_convert_file_noop lt_cv_truncate_bin='/bin/dd bs=4096 count=1' pkg_cv_DEPS_CFLAGS=-I/usr/local/include pkg_cv_DEPS_LIBS='-L/usr/local/lib -lfftw3 -lgeners -lkstest' ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='${SHELL} /home/igv/Hepforge/npstat/trunk/missing aclocal-1.15' AMDEPBACKSLASH='\' AMDEP_FALSE='#' AMDEP_TRUE='' AMTAR='$${TAR-tar}' AM_BACKSLASH='\' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' AM_DEFAULT_VERBOSITY='1' AM_V='$(V)' AR='ar' AUTOCONF='${SHELL} /home/igv/Hepforge/npstat/trunk/missing autoconf' AUTOHEADER='${SHELL} /home/igv/Hepforge/npstat/trunk/missing autoheader' AUTOMAKE='${SHELL} /home/igv/Hepforge/npstat/trunk/missing automake-1.15' AWK='gawk' CC='gcc' CCDEPMODE='depmode=gcc3' CFLAGS='-g -O2' CPP='gcc -E' CPPFLAGS='' CXX='g++' CXXCPP='g++ -E' CXXDEPMODE='depmode=gcc3' CXXFLAGS='-std=c++11 -O3 -Wall -W -Werror' CYGPATH_W='echo' DEFS='-DPACKAGE_NAME=\"npstat\" -DPACKAGE_TARNAME=\"npstat\" -DPACKAGE_VERSION=\"4.10.0\" -DPACKAGE_STRING=\"npstat\ 4.10.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"npstat\" -DVERSION=\"4.10.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\"' DEPDIR='.deps' DEPS_CFLAGS='-I/usr/local/include' DEPS_LIBS='-L/usr/local/lib -lfftw3 -lgeners -lkstest' DLLTOOL='false' DSYMUTIL='' DUMPBIN='' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='/bin/grep -E' EXEEXT='' F77='g77' FFLAGS='-g -O2' FGREP='/bin/grep -F' FLIBS=' -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -lgfortran -lm -lquadmath' GREP='/bin/grep' INSTALL_DATA='${INSTALL} -m 644' INSTALL_PROGRAM='${INSTALL}' INSTALL_SCRIPT='${INSTALL}' INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' LD='/usr/bin/ld -m elf_x86_64' LDFLAGS='' LIBOBJS='' LIBS='' LIBTOOL='$(SHELL) $(top_builddir)/libtool' LIPO='' LN_S='ln -s' LTLIBOBJS='' LT_SYS_LIBRARY_PATH='' MAKEINFO='${SHELL} /home/igv/Hepforge/npstat/trunk/missing makeinfo' MANIFEST_TOOL=':' MKDIR_P='/bin/mkdir -p' NM='/usr/bin/nm -B' NMEDIT='' OBJDUMP='objdump' OBJEXT='o' OTOOL64='' OTOOL='' PACKAGE='npstat' PACKAGE_BUGREPORT='' PACKAGE_NAME='npstat' PACKAGE_STRING='npstat 4.10.0' PACKAGE_TARNAME='npstat' PACKAGE_URL='' PACKAGE_VERSION='4.10.0' PATH_SEPARATOR=':' PKG_CONFIG='/usr/bin/pkg-config' PKG_CONFIG_LIBDIR='' PKG_CONFIG_PATH='/usr/local/lib/pkgconfig' RANLIB='ranlib' SED='/bin/sed' SET_MAKE='' SHELL='/bin/bash' STRIP='strip' VERSION='4.10.0' ac_ct_AR='ar' ac_ct_CC='gcc' ac_ct_CXX='g++' ac_ct_DUMPBIN='' ac_ct_F77='g77' am__EXEEXT_FALSE='' am__EXEEXT_TRUE='#' am__fastdepCC_FALSE='#' am__fastdepCC_TRUE='' am__fastdepCXX_FALSE='#' am__fastdepCXX_TRUE='' am__include='include' am__isrc='' am__leading_dot='.' am__nodep='_no' am__quote='' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' bindir='${exec_prefix}/bin' build='x86_64-pc-linux-gnu' build_alias='' build_cpu='x86_64' build_os='linux-gnu' build_vendor='pc' datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}' exec_prefix='${prefix}' host='x86_64-pc-linux-gnu' host_alias='' host_cpu='x86_64' host_os='linux-gnu' host_vendor='pc' htmldir='${docdir}' includedir='${prefix}/include' infodir='${datarootdir}/info' install_sh='${SHELL} /home/igv/Hepforge/npstat/trunk/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='/usr/local' program_transform_name='s,x,x,' psdir='${docdir}' runstatedir='${localstatedir}/run' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' target_alias='' ## ----------- ## ## confdefs.h. ## ## ----------- ## /* confdefs.h */ #define PACKAGE_NAME "npstat" #define PACKAGE_TARNAME "npstat" #define PACKAGE_VERSION "4.10.0" #define PACKAGE_STRING "npstat 4.10.0" #define PACKAGE_BUGREPORT "" #define PACKAGE_URL "" #define PACKAGE "npstat" #define VERSION "4.10.0" #define STDC_HEADERS 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_MEMORY_H 1 #define HAVE_STRINGS_H 1 #define HAVE_INTTYPES_H 1 #define HAVE_STDINT_H 1 #define HAVE_UNISTD_H 1 #define HAVE_DLFCN_H 1 #define LT_OBJDIR ".libs/" configure: exit 0 Index: trunk/tests/test_Distributions1D.cc =================================================================== --- trunk/tests/test_Distributions1D.cc (revision 594) +++ trunk/tests/test_Distributions1D.cc (revision 595) @@ -1,1755 +1,1809 @@ #include #include #include "UnitTest++.h" #include "test_utils.hh" #include "npstat/stat/Distributions1D.hh" #include "npstat/stat/GaussianMixture1D.hh" #include "npstat/stat/JohnsonCurves.hh" #include "npstat/stat/TruncatedDistribution1D.hh" #include "npstat/stat/LeftCensoredDistribution.hh" #include "npstat/stat/RightCensoredDistribution.hh" #include "npstat/stat/QuantileTable1D.hh" #include "npstat/stat/DistributionMix1D.hh" #include "npstat/stat/VerticallyInterpolatedDistribution1D.hh" #include "npstat/stat/UGaussConvolution1D.hh" #include "npstat/stat/RatioOfNormals.hh" #include "npstat/stat/InterpolatedDistro1D1P.hh" #include "npstat/stat/TransformedDistribution1D.hh" #include "npstat/stat/EdgeworthSeries1D.hh" +#include "npstat/stat/DeltaMixture1D.hh" #include "npstat/stat/distro1DStats.hh" #include "npstat/stat/IdentityTransform1D.hh" #include "npstat/stat/AsinhTransform1D.hh" #include "npstat/stat/LogRatioTransform1D.hh" #include "npstat/stat/LocationScaleTransform1.hh" #include "npstat/stat/Distribution1DReader.hh" #include "npstat/stat/DistributionTransform1DReader.hh" #include "npstat/stat/arrayStats.hh" #include "npstat/nm/EquidistantSequence.hh" #include "npstat/nm/LinearMapper1d.hh" #include "npstat/nm/ClassicalOrthoPolys1D.hh" #include "npstat/nm/MathUtils.hh" #include "npstat/nm/GaussHermiteQuadrature.hh" +#include "npstat/rng/MersenneTwister.hh" + #include "LogLogQuadratic1D.hh" #include "geners/pseudoIO.hh" #define LSQR2 1.41421356237309504880169L #define SQRTWOPIL 2.50662827463100050241577L using namespace npstat; using namespace std; struct Two : public npstat::ConstValue1 { inline Two() : npstat::ConstValue1(2.0) {} }; gs_enable_pseudo_io(Two) struct Three : public npstat::ConstValue1 { inline Three() : npstat::ConstValue1(3.0) {} }; gs_enable_pseudo_io(Three) struct Xsq { inline double operator()(const double x) const {return x*x;} inline bool operator==(const Xsq&) const {return true;} }; gs_enable_pseudo_io(Xsq) struct Xp1 { inline double operator()(const double x) const {return x + 1.0;} inline bool operator==(const Xp1&) const {return true;} }; gs_enable_pseudo_io(Xp1) static long double ldgexceedance(const long double x) { return erfcl(x/LSQR2)/2.0L; } static long double ldgcdf(const long double x) { return erfcl(-x/LSQR2)/2.0L; } namespace { double he0(const double x) { return 1.0; } double he1(const double x) { return x; } double he2(const double x) { return x*x - 1.0; } double he3(const double x) { return x*(x*x - 3.0); } double he4(const long double x) { const long double xsq = x*x; return 3 - 6*xsq + xsq*xsq; } double he5(const long double x) { const long double xsq = x*x; return x*(xsq*xsq - 10*xsq + 15); } double he6(const long double x) { const long double xsq = x*x; return -15 + 45*xsq - 15*xsq*xsq + xsq*xsq*xsq; } double he7(const long double x) { const long double xsq = x*x; return x*(-105 + 105*xsq - 21*xsq*xsq + xsq*xsq*xsq); } double he8(const long double x) { const long double xsq = x*x; const long double x4 = xsq*xsq; return 105 - 420*xsq + 210*x4 - 28*x4*xsq + x4*x4; } double he9(const long double x) { const long double xsq = x*x; const long double x4 = xsq*xsq; return x*(945 - 1260*xsq + 378*x4 - 36*xsq*x4 + x4*x4); } double he10(const long double x) { const long double xsq = x*x; const long double x4 = xsq*xsq; const long double x6 = x4*xsq; const long double x8 = x6*xsq; const long double x10 = x8*xsq; return -945 + 4725*xsq - 3150*x4 + 630*x6 - 45*x8 + x10; } double he11(const long double x) { const long double xsq = x*x; const long double x4 = xsq*xsq; const long double x6 = x4*xsq; const long double x8 = x6*xsq; const long double x10 = x8*xsq; return x*(-10395 + 17325*xsq - 6930*x4 + 990*x6 - 55*x8 + x10); } double he12(const long double x) { const long double xsq = x*x; const long double x4 = xsq*xsq; const long double x6 = x4*xsq; const long double x8 = x6*xsq; const long double x10 = x8*xsq; const long double x12 = x10*xsq; return 10395 - 62370*xsq + 51975*x4 - 13860*x6 + 1485*x8 - 66*x10 + x12; } void get_cumulants_severini(const EdgeworthSeries1D& s, double cumulants[8]) { assert(s.method() == EDGEWORTH_SEVERINI); double m[8]; GaussHermiteQuadrature quad(128); for (unsigned i=0; i<8; ++i) { EdgeworthSeriesMomentFcn fcn(s, i); m[i] = quad.integrateProb(0.0, 1.0, fcn); } for (unsigned i=0; i<4; ++i) cumulants[i] = m[i]; cumulants[4] = m[4] - 3*m[2]*m[2]; cumulants[5] = m[5] - 10*m[2]*m[3]; cumulants[6] = m[6] - 15*m[2]*m[4] - 10*m[3]*m[3] + 30*m[2]*m[2]*m[2]; cumulants[7] = m[7] + 210*m[2]*m[2]*m[3] - 35*m[3]*m[4] - 21*m[2]*m[5]; } void get_cumulants_classical(const EdgeworthSeries1D& s, double cumulants[8]) { assert(s.method() == EDGEWORTH_CLASSICAL); double m[8]; GaussHermiteQuadrature quad(128); for (unsigned i=0; i<8; ++i) { EdgeworthSeriesMomentFcn fcn(s, i); m[i] = quad.integrateProb(s.mean(), s.stdev(), fcn); } for (unsigned i=0; i<4; ++i) cumulants[i] = m[i]; cumulants[4] = m[4] - 3*m[2]*m[2]; cumulants[5] = m[5] - 10*m[2]*m[3]; cumulants[6] = m[6] - 15*m[2]*m[4] - 10*m[3]*m[3] + 30*m[2]*m[2]*m[2]; cumulants[7] = m[7] + 210*m[2]*m[2]*m[3] - 35*m[3]*m[4] - 21*m[2]*m[5]; } void io_test(const AbsDistribution1D& d) { std::ostringstream os; CHECK(d.classId().write(os)); CHECK(d.write(os)); std::istringstream is(os.str()); gs::ClassId id(is, 1); AbsDistribution1D* phoenix = AbsDistribution1D::read(id, is); CHECK(*phoenix == d); delete phoenix; } void standard_test(const AbsDistribution1D& d, const double range, const double eps, const bool do_io = true) { const double cdf0 = d.cdf(0.0); for (unsigned i=0; i<100; ++i) { const double r = 2*range*(test_rng() - 0.5); const double cdfr = d.cdf(r); if (cdfr > 0.0 && cdfr < 1.0) { CHECK_CLOSE(cdfr, 1.0 - d.exceedance(r), eps); CHECK_CLOSE(r, d.quantile(cdfr), eps); const double integ = simpson_integral( DensityFunctor1D(d), 0.0, r); CHECK_CLOSE(integ, cdfr-cdf0, eps); } } if (do_io) io_test(d); } void invcdf_test(const AbsDistribution1D& d, const double eps) { for (unsigned i=0; i<1000; ++i) { const double r = test_rng(); const double x = d.quantile(r); const double cdf = d.cdf(x); CHECK_CLOSE(cdf, r, eps); CHECK_CLOSE(cdf, 1.0 - d.exceedance(x), eps); } } void invexceedance_test(const EdgeworthSeries1D& d, const double eps) { for (unsigned i=0; i<1000; ++i) { const double r = test_rng(); const double x = d.inverseExceedance(r); const double exc = d.exceedance(x); CHECK_CLOSE(exc, r, eps); CHECK_CLOSE(exc, 1.0 - d.cdf(x), eps); } } TEST(Distributions1D_Gauss) { Gauss1D g(0., 1.); double value = simpson_integral(DensityFunctor1D(g), -6, 6); CHECK_CLOSE(1.0, value, 1.e-8); standard_test(g, 6, 1.e-7); CHECK_CLOSE(7.61985302416e-24, g.cdf(-10.0), 1.e-34); CHECK_CLOSE(7.61985302416e-24, g.exceedance(10.0), 1.e-34); CHECK_CLOSE(2.75362411861e-89, g.cdf(-20.0), 1.e-99); CHECK_CLOSE(2.75362411861e-89, g.exceedance(20.0), 1.e-99); } TEST(Distributions1D_Bifgauss_0) { const double lfrac = 0.3; const double lsigma = lfrac*2.0; const double rsigma = 2.0 - lsigma; BifurcatedGauss1D g(0.0, 1.0, lfrac, 2.0, 1.5); double value = simpson_integral(DensityFunctor1D(g), -lsigma*g.nSigmasLeft(), rsigma*g.nSigmasRight()); CHECK_CLOSE(1.0, value, 1.e-8); standard_test(g, lsigma*g.nSigmasLeft(), 1.e-7); } TEST(Distributions1D_Bifgauss_1) { const double eps = 1.0e-12; BifurcatedGauss1D g1(0.0, 2.0, 0.5, 2.0, 2.0); TruncatedGauss1D g2(0.0, 2.0, 2.0); for (unsigned i=0; i<100; ++i) { const double r = test_rng(); const double q1 = g1.quantile(r); const double q2 = g2.quantile(r); CHECK_CLOSE(q1, q2, eps); CHECK_CLOSE(g1.density(q1), g2.density(q1), eps); CHECK_CLOSE(g1.cdf(q1), g2.cdf(q1), eps); CHECK_CLOSE(g1.exceedance(q1), g2.exceedance(q1), eps); } } TEST(Distributions1D_Bifgauss_2) { BifurcatedGauss1D g(0.0, 1.0, 0.0, 2.0, 2.0); double value = simpson_integral(DensityFunctor1D(g), 0.0, 4.0); CHECK_CLOSE(1.0, value, 1.e-8); standard_test(g, 4.0, 1.e-7); } TEST(Distributions1D_Bifgauss_3) { BifurcatedGauss1D g(0.0, 1.0, 1.0, 2.0, 2.0); double value = simpson_integral(DensityFunctor1D(g), -4.0, 0.0); CHECK_CLOSE(1.0, value, 1.e-8); standard_test(g, 4.0, 1.e-7); IdentityTransform1D it(5.0); TransformedDistribution1D td(it, g); value = simpson_integral(DensityFunctor1D(td), -4.0, 0.0); CHECK_CLOSE(1.0, value, 1.e-8); standard_test(td, 4.0, 1.e-7); } TEST(Distributions1D_uniform) { Uniform1D g(0., 1.); double value = simpson_integral(DensityFunctor1D(g), -0.1, 1.1); CHECK_CLOSE(1.0, value, 1.e-3); standard_test(g, 1, 1.e-7); } TEST(Distributions1D_exp) { Exponential1D g(0., 1.); standard_test(g, 20.0, 1.e-7); g.setScale(3.); standard_test(g, 60.0, 1.e-7); } TEST(Distributions1D_Pareto) { Pareto1D p1(0., 1., 1.5); double value = simpson_integral(DensityFunctor1D(p1), 1, 6); CHECK_CLOSE(0.93195861825602283, value, 1.e-8); invcdf_test(p1, 1.e-10); io_test(p1); } TEST(Distributions1D_MirroredGauss) { { MirroredGauss1D g(0., 1., 0.3, 0.1); const double value = simpson_integral(DensityFunctor1D(g), 0, 1); CHECK_CLOSE(1.0, value, 1.e-12); invcdf_test(g, 1.e-10); io_test(g); for (unsigned i=0; i<100; ++i) { const double y = test_rng(); const double cdfy = simpson_integral(DensityFunctor1D(g), 0, y); CHECK_CLOSE(cdfy, g.cdf(y), 1.0e-10); } } { MirroredGauss1D g(0., 2., 0.7, 0.1); const double value = simpson_integral(DensityFunctor1D(g), 0, 2); CHECK_CLOSE(1.0, value, 1.e-12); invcdf_test(g, 1.e-10); io_test(g); for (unsigned i=0; i<100; ++i) { const double y = 2.0*test_rng(); const double cdfy = simpson_integral(DensityFunctor1D(g), 0, y); CHECK_CLOSE(cdfy, g.cdf(y), 1.0e-10); } } } TEST(Distributions1D_Huber) { Huber1D h1(0., 1., 0.0); double value = simpson_integral(DensityFunctor1D(h1), -6, 6); CHECK_CLOSE(1.0, value, 1.e-8); standard_test(h1, 6, 1.e-7); double tailW = 0.2; double sigma = 0.8; Huber1D h2(0., sigma, tailW); CHECK_EQUAL(tailW, h2.tailWeight()); value = simpson_integral(DensityFunctor1D(h2), -20, 20, 10000); CHECK_CLOSE(1.0, value, 1.e-8); standard_test(h2, 6, 1.e-7); const double a = sigma*h2.tailStart(); value = simpson_integral(DensityFunctor1D(h2), -a, a, 10000); CHECK_CLOSE(1.0-tailW, value, 1.e-8); for (unsigned i=0; i<1000; ++i) { const double rndx = 6*a*(test_rng() - 0.5); const double cdf = h2.cdf(rndx); value = simpson_integral(DensityFunctor1D(h2), -20, rndx, 10000); CHECK_CLOSE(cdf, value, 1.e-8); CHECK_CLOSE(h2.quantile(cdf), rndx, 1.e-8); } } TEST(Distributions1D_Symbeta) { SymmetricBeta1D sb(0.0, 1.0, 3); double value = simpson_integral(DensityFunctor1D(sb), -1, 1); CHECK_CLOSE(1.0, value, 1.e-8); for (unsigned i=0; i<10; ++i) { SymmetricBeta1D sb(0.0, 2.0, i); standard_test(sb, 1.8, 1.e-8); } } TEST(Distributions1D_Moyal) { Moyal1D mo(0.0, 1.0); double value = simpson_integral(DensityFunctor1D(mo), -7, 1000, 100000); CHECK_CLOSE(1.0, value, 1.e-9); CHECK_CLOSE(0.24197072451914335, mo.density(0.0), 1.0e-14); CHECK_CLOSE(0.20131624406488799, mo.density(1.0), 1.0e-14); CHECK_CLOSE(0.31731050786291410, mo.cdf(0.0), 1.0e-12); CHECK_CLOSE(0.54416242936230305, mo.cdf(1.0), 1.0e-12); invcdf_test(mo, 1.e-8); io_test(mo); } TEST(Distributions1D_StudentsT1D) { for (unsigned i=1; i<10; ++i) { StudentsT1D t(0.0, 1.0, i); invcdf_test(t, 1.e-8); } } TEST(Distributions1D_beta) { Beta1D b(0.0, 1.0, 3.0, 4.0); double value = simpson_integral(DensityFunctor1D(b), 0, 1); CHECK_CLOSE(1.0, value, 1.e-8); for (unsigned i=1; i<5; ++i) for (unsigned j=1; j<5; ++j) { Beta1D sb(0.5, 2.0, i, j); standard_test(sb, 0.9, 1.e-3); } } TEST(Distributions1D_gamma) { Gamma1D g1(0., 0.8, 1.0); standard_test(g1, 20.0, 5.e-3); Gamma1D g2(0., 0.9, 2.0); standard_test(g2, 20.0, 2.e-5); Gamma1D g3(0., 1.1, 3.0); standard_test(g3, 20.0, 2.e-5); } TEST(UGaussConvolution1D) { UGaussConvolution1D ug(0, 1, -1, 1); standard_test(ug, 6.0, 1.0e-6); } TEST(Distributions1D_Transformed) { StaticDistributionTransform1DReader::registerClass< LocationScaleTransform1 >(); const double teps = 1.0e-12; Two two; Three three; LocationScaleTransform1 tr(two, three); Gauss1D g(0.0, 1.0); TransformedDistribution1D d1(tr, g); io_test(d1); Gauss1D g1(2.0, 3.0); for (unsigned i=0; i<100; ++i) { const double x = 10.0*(test_rng() - 0.5); CHECK_CLOSE(g1.density(x), d1.density(x), teps); CHECK_CLOSE(g1.cdf(x), d1.cdf(x), teps); CHECK_CLOSE(g1.exceedance(x), d1.exceedance(x), teps); const double y = test_rng(); CHECK_CLOSE(g1.quantile(y), d1.quantile(y), teps); } } TEST(Distributions1D_JohnsonSu) { const double teps = 1.0e-12; JohnsonSu jsu1(0.0, 1.0, 1.0, 10.0); standard_test(jsu1, 6, 1.e-8); AsinhTransform1D tr1(jsu1.getDelta(), jsu1.getLambda(), jsu1.getGamma(), jsu1.getXi()); Gauss1D g(0.0, 1.0); TransformedDistribution1D d1(tr1, g); standard_test(d1, 6, 1.e-8); for (unsigned i=0; i<100; ++i) { const double x = 10.0*(test_rng() - 0.5); CHECK_CLOSE(jsu1.density(x), d1.density(x), teps); CHECK_CLOSE(jsu1.cdf(x), d1.cdf(x), teps); CHECK_CLOSE(jsu1.exceedance(x), d1.exceedance(x), teps); const double y = test_rng(); CHECK_CLOSE(jsu1.quantile(y), d1.quantile(y), teps); } JohnsonSu jsu2(0.1, 1.0, -1.0, 10.0); standard_test(jsu2, 6, 1.e-8); AsinhTransform1D tr2(jsu2.getDelta(), jsu2.getLambda(), jsu2.getGamma(), jsu2.getXi()); TransformedDistribution1D d2(tr2, g); standard_test(d2, 6, 1.e-8); double mean, sigma, skew, kurt; distro1DStats(jsu2, -30.0, 20.0, 500000, &mean, &sigma, &skew, &kurt); CHECK_CLOSE(0.1, mean, 1.0e-5); CHECK_CLOSE(1.0, sigma, 1.0e-4); CHECK_CLOSE(-1.0, skew, 0.01); CHECK_CLOSE(10.0, kurt, 0.2); } TEST(Distributions1D_JohnsonSb) { const double teps = 1.0e-12; JohnsonSb jsb1(0.0, 1.0, 1.0, 2.9); LogRatioTransform1D tr1(jsb1.getDelta(), jsb1.getLambda(), jsb1.getGamma(), jsb1.getXi()); Gauss1D g(0.0, 1.0); TransformedDistribution1D d1(tr1, g); const double lolim = jsb1.getXi(); const double range = jsb1.getLambda(); for (unsigned i=0; i<100; ++i) { const double x = lolim + range*test_rng(); CHECK_CLOSE(jsb1.density(x), d1.density(x), teps); CHECK_CLOSE(jsb1.cdf(x), d1.cdf(x), teps); CHECK_CLOSE(jsb1.exceedance(x), d1.exceedance(x), teps); const double y = test_rng(); CHECK_CLOSE(jsb1.quantile(y), d1.quantile(y), teps); } } TEST(Distributions1D_LogNormal0) { LogNormal g(0., 1., 0.); double value = simpson_integral(DensityFunctor1D(g), -6, 6); CHECK_CLOSE(1.0, value, 1.e-8); standard_test(g, 6, 1.e-6); } TEST(Distributions1D_LogNormal1) { LogNormal ln1(0., 1., 2.0); double value = simpson_integral(DensityFunctor1D(ln1), -6, 20); CHECK_CLOSE(1.0, value, 1.e-6); standard_test(ln1, 7, 2.e-4); } TEST(Distributions1D_LogNormal2) { LogNormal ln2(0., 1., -2.0); double value = simpson_integral(DensityFunctor1D(ln2), -20, 6); CHECK_CLOSE(1.0, value, 1.e-6); standard_test(ln2, 7, 4.e-4); } TEST(Distributions1D_LogNormal3) { LogNormal ln3(-0.5, 1., 2.0); standard_test(ln3, 7, 1.e-3); } TEST(Distributions1D_LogNormal4) { LogNormal ln4(-0.5, 1., -2.0); standard_test(ln4, 7, 1.e-3); } TEST(Distributions1D_LogNormal5) { LogNormal ln5(0.5, 2., 2.0); standard_test(ln5, 7, 1.e-3); } TEST(Distributions1D_LogNormal6) { LogNormal ln6(0.5, 2., -2.0); standard_test(ln6, 7, 1.e-3); } TEST(Distributions1D_LogNormal7) { LogNormal ln7(1., 2., 10.0); standard_test(ln7, 7, 1.e-3); } TEST(Distributions1D_LogNormal8) { LogNormal ln8(1., 2., -10.0); standard_test(ln8, 7, 1.e-3); } TEST(Distributions1D_misc) { Cauchy1D ch(0.0, 0.5); standard_test(ch, 5, 1.e-8); TruncatedGauss1D tg(0.0, 2.0, 3.0); standard_test(tg, 6.0, 1.e-8); Gauss1D gauss(0.0, 2.0); TruncatedDistribution1D td(gauss, -6.0, 6.0); standard_test(td, 6.0, 1.e-8); CHECK_CLOSE(td.density(0.5), tg.density(0.5), 1.0e-14); CHECK_CLOSE(td.cdf(0.5), tg.cdf(0.5), 1.0e-14); CHECK_CLOSE(td.quantile(0.3), tg.quantile(0.3), 1.0e-14); CHECK_CLOSE(td.exceedance(0.3), tg.exceedance(0.3), 1.0e-14); } TEST(EdgeworthSeries1D_io) { const unsigned order = 2; std::vector cumulants(4); for (unsigned i=0; i dummy; double empCum[8]; EdgeworthSeries1D es1(dummy, EDGEWORTH_SEVERINI, order, false); CHECK_CLOSE(0.241970724519143, es1.density(1.0), 1.e-14); CHECK_CLOSE(7.61985302416e-24, es1.cdf(-10.0), 1.e-34); CHECK_CLOSE(7.61985302416e-24, es1.exceedance(10.0), 1.e-34); standard_test(es1, 6, 1.e-8); invexceedance_test(es1, 1.e-8); get_cumulants_severini(es1, empCum); CHECK_CLOSE(1.0, empCum[0], 1.e-14); CHECK_CLOSE(0.0, empCum[1], 1.e-14); CHECK_CLOSE(1.0, empCum[2], 1.e-14); CHECK_CLOSE(0.0, empCum[3], 1.e-14); CHECK_CLOSE(0.0, empCum[4], 1.e-14); EdgeworthSeries1D es2(dummy, EDGEWORTH_SEVERINI, order, true); CHECK_CLOSE(0.241970724519143, es2.density(1.0), 1.e-14); CHECK_CLOSE(7.61985302416e-24, es2.cdf(-10.0), 1.e-34); CHECK_CLOSE(7.61985302416e-24, es2.exceedance(10.0), 1.e-34); standard_test(es2, 6, 1.e-8); invexceedance_test(es2, 1.e-8); get_cumulants_severini(es2, empCum); CHECK_CLOSE(1.0, empCum[0], 1.e-14); CHECK_CLOSE(0.0, empCum[1], 1.e-14); CHECK_CLOSE(1.0, empCum[2], 1.e-14); CHECK_CLOSE(0.0, empCum[3], 1.e-14); CHECK_CLOSE(0.0, empCum[4], 1.e-14); EdgeworthSeries1D es3(dummy, EDGEWORTH_CLASSICAL, order, false); CHECK_CLOSE(0.241970724519143, es3.density(1.0), 1.e-14); CHECK_CLOSE(7.61985302416e-24, es3.cdf(-10.0), 1.e-34); CHECK_CLOSE(7.61985302416e-24, es3.exceedance(10.0), 1.e-34); standard_test(es3, 6, 1.e-8); invexceedance_test(es3, 1.e-8); get_cumulants_classical(es3, empCum); CHECK_CLOSE(1.0, empCum[0], 1.e-14); CHECK_CLOSE(0.0, empCum[1], 1.e-14); CHECK_CLOSE(1.0, empCum[2], 1.e-14); CHECK_CLOSE(0.0, empCum[3], 1.e-14); CHECK_CLOSE(0.0, empCum[4], 1.e-14); EdgeworthSeries1D es4(dummy, EDGEWORTH_CLASSICAL, order, true); CHECK_CLOSE(0.241970724519143, es4.density(1.0), 1.e-14); CHECK_CLOSE(7.61985302416e-24, es4.cdf(-10.0), 1.e-34); CHECK_CLOSE(7.61985302416e-24, es4.exceedance(10.0), 1.e-34); standard_test(es4, 6, 1.e-8); invexceedance_test(es4, 1.e-8); get_cumulants_classical(es4, empCum); CHECK_CLOSE(1.0, empCum[0], 1.e-14); CHECK_CLOSE(0.0, empCum[1], 1.e-14); CHECK_CLOSE(1.0, empCum[2], 1.e-14); CHECK_CLOSE(0.0, empCum[3], 1.e-14); CHECK_CLOSE(0.0, empCum[4], 1.e-14); } TEST(EdgeworthSeries1D_1) { const double range = 5.0; const unsigned ntries = 10; const unsigned order = 1; const double k1 = 3, k2 = 2, k3 = 0.5; double empCum[8]; std::vector c_slr(1); c_slr[0] = k1; std::vector c_gen(3); c_gen[0] = k1; c_gen[1] = k2; c_gen[2] = k3; EdgeworthSeries1D es1(c_slr, EDGEWORTH_SEVERINI, order, true); standard_test(es1, 6, 1.e-8); invexceedance_test(es1, 1.e-8); for (unsigned i=0; i c_slr(2); c_slr[0] = k1; c_slr[1] = k2; std::vector c_gen(4); c_gen[0] = k1; c_gen[1] = k2; c_gen[2] = k3; c_gen[3] = k4; EdgeworthSeries1D es1(c_slr, EDGEWORTH_SEVERINI, order, true); standard_test(es1, 6, 1.e-8); for (unsigned i=0; i c_slr(3); c_slr[0] = k1; c_slr[1] = k2; c_slr[2] = k3; std::vector c_gen(5); c_gen[0] = k1; c_gen[1] = k2; c_gen[2] = k3; c_gen[3] = k4; c_gen[4] = k5; EdgeworthSeries1D es1(c_slr, EDGEWORTH_SEVERINI, order, true); standard_test(es1, 3, 1.e-8); for (unsigned i=0; i c_slr(4); c_slr[0] = k1; c_slr[1] = k2; c_slr[2] = k3; c_slr[3] = k4; std::vector c_gen(6); c_gen[0] = k1; c_gen[1] = k2; c_gen[2] = k3; c_gen[3] = k4; c_gen[4] = k5; c_gen[5] = k6; EdgeworthSeries1D es1(c_slr, EDGEWORTH_SEVERINI, order, true); standard_test(es1, 3, 1.e-8); invexceedance_test(es1, 1.e-8); for (unsigned i=0; i quantiles(nquant); arrayQuantiles1D(data, sizeof(data)/sizeof(data[0]), 0.0, 1.0, &qs[0], &quantiles[0], nquant); BinnedDensity1D t1(location, width, data, sizeof(data)/sizeof(data[0]), 0); for (unsigned i=0; i(); LogLogQuadratic1D q1(1.0, 10.0, 0.5, 1.0); standard_test(q1, 1.0, 1.e-9); invcdf_test(q1, 1.e-14); } TEST(GaussianMixture1D_1) { std::vector entries; entries.push_back(GaussianMixtureEntry(3, 0, 1)); GaussianMixture1D g(0, 1, &entries[0], entries.size()); double value = simpson_integral(DensityFunctor1D(g), -6, 6); CHECK_CLOSE(1.0, value, 1.e-8); standard_test(g, 6, 1.e-7); Gauss1D g2(0, 1); DistributionMix1D mix; mix.add(g2, 3.0); value = simpson_integral(DensityFunctor1D(mix), -6, 6); CHECK_CLOSE(1.0, value, 1.e-8); standard_test(mix, 6, 1.e-7); VerticallyInterpolatedDistribution1D shmix(1U); shmix.add(g2, 3.0); value = simpson_integral(DensityFunctor1D(shmix), -6, 6); CHECK_CLOSE(1.0, value, 1.e-8); standard_test(shmix, 6, 1.e-7, false); for (unsigned i=0; i<100; ++i) { const double r = test_rng(); CHECK_CLOSE(shmix.quantile(r), mix.quantile(r), 1.e-15); } } TEST(GaussianMixture1D_2) { for (unsigned i=0; i<100; ++i) { Gauss1D g(test_rng(), 0.1+test_rng()); GaussianMixture1D mix(g); for (unsigned j=0; j<100; ++j) { const double x = -3 + 6*test_rng(); CHECK_CLOSE(g.density(x), mix.density(x), 1.0e-15); CHECK_CLOSE(g.cdf(x), mix.cdf(x), 1.0e-15); } } } TEST(DistributionMix1D_2) { for (unsigned i=0; i<100; ++i) { Gauss1D g(test_rng(), 0.1+test_rng()); DistributionMix1D mix; VerticallyInterpolatedDistribution1D shmix; mix.add(g, 1); shmix.add(g, 1); for (unsigned j=0; j<100; ++j) { const double x = -3 + 6*test_rng(); CHECK_CLOSE(g.density(x), mix.density(x), 1.0e-15); CHECK_CLOSE(g.cdf(x), mix.cdf(x), 1.0e-15); CHECK_CLOSE(g.density(x), shmix.density(x), 1.0e-15); CHECK_CLOSE(g.cdf(x), shmix.cdf(x), 1.0e-15); } } } TEST(GaussianMixture1D_3) { std::vector entries; entries.push_back(GaussianMixtureEntry(3, 0, 1)); entries.push_back(GaussianMixtureEntry(2, -0.5, 1.5)); entries.push_back(GaussianMixtureEntry(1, 0.5, 0.5)); GaussianMixture1D g(0, 1, &entries[0], entries.size()); double value = simpson_integral(DensityFunctor1D(g), -8, 8); CHECK_CLOSE(1.0, value, 1.e-7); standard_test(g, 4, 1.e-7); } TEST(DistributionMix1D_3) { DistributionMix1D mix; VerticallyInterpolatedDistribution1D shmix(3); Gauss1D g1(0, 1), g2(-0.5, 1.5), g3(0.5, 0.5); mix.add(g1, 3); mix.add(g2, 2); mix.add(g3, 1); shmix.add(g1, 3); shmix.add(g2, 2); shmix.add(g3, 1); double value = simpson_integral(DensityFunctor1D(mix), -8, 8); CHECK_CLOSE(1.0, value, 1.e-7); value = simpson_integral(DensityFunctor1D(shmix), -8, 8); CHECK_CLOSE(1.0, value, 1.e-7); standard_test(mix, 4, 1.e-7); standard_test(shmix, 4, 1.e-7, false); } TEST(GaussianMixture1D_4) { const double m0 = 1.3; const double s0 = 3/2.0; std::vector entries; entries.push_back(GaussianMixtureEntry(3, 0, 1)); entries.push_back(GaussianMixtureEntry(2, -0.5, 1.5)); entries.push_back(GaussianMixtureEntry(1, 0.5, 0.5)); GaussianMixture1D g(m0, s0, &entries[0], entries.size()); // G[x_, m_, s_] := 1/Sqrt[2 Pi]/s Exp[-(x - m)^2/s^2/2] // w1 = 3/6; m1 = 0; s1 = 1 // w2 = 2/6; m2 = -1/2; s2 = 3/2 // w3 = 1/6; m3 = 1/2; s3 = 1/2 // m0 = 1 + 3/10 // s0 = 3/2 // f = (w1*G[(x-m0)/s0,m1,s1]+w2*G[(x-m0)/s0,m2,s2]+w3*G[(x-m0)/s0,m3,s3])/s0 // mean = Integrate[x f, {x, -Infinity, Infinity}] // stdev = Sqrt[Integrate[(x - mean)^2 f, {x, -Infinity, Infinity}]] // q0 = Integrate[f, {x, -Infinity, 5/2}] // N[q0, 20] const double expmean = 47.0/40; const double expstdev = sqrt(203.0)/8.0; const double expcdf = 0.78400933536932041748; CHECK_CLOSE(expmean, g.mean(), 1.0e-15); CHECK_CLOSE(expstdev, g.stdev(), 1.0e-15); CHECK_CLOSE(expcdf, g.cdf(2.5), 1.0e-15); CHECK_CLOSE(2.5, g.quantile(expcdf), 1.0e-12); } TEST(LeftCensoredDistribution) { const double cutoff = 0.1234; const double eps = 1.0e-9; const double infty = -100.0; Gauss1D gauss(0.0, 1.0); TruncatedDistribution1D td(gauss, cutoff, 100.0); const double frac = gauss.exceedance(cutoff); LeftCensoredDistribution lc(td, frac, infty); CHECK_CLOSE(lc.cdf(cutoff-1.0), 1.0-frac, eps); CHECK_CLOSE(lc.exceedance(cutoff-1.0), frac, eps); CHECK_EQUAL(lc.cdf(infty-10.0), 0.0); CHECK_EQUAL(lc.exceedance(infty-10.0), 1.0); for (unsigned i=0; i<1000; ++i) { const double r = cutoff + test_rng()*5.0; CHECK_CLOSE(gauss.density(r), lc.density(r), eps); CHECK_CLOSE(gauss.exceedance(r), lc.exceedance(r), eps); CHECK_CLOSE(gauss.cdf(r), lc.cdf(r), eps); CHECK_CLOSE(lc.quantile(lc.cdf(r)), r, eps); } io_test(lc); } TEST(RightCensoredDistribution) { const double cutoff = 0.1234; const double eps = 1.0e-10; const double infty = 100.0; Gauss1D gauss(0.0, 1.0); TruncatedDistribution1D td(gauss, -100.0, cutoff); const double frac = gauss.cdf(cutoff); RightCensoredDistribution rc(td, frac, infty); CHECK_CLOSE(rc.cdf(cutoff+1.0), frac, eps); CHECK_CLOSE(rc.exceedance(cutoff+1.0), 1.0-frac, eps); CHECK_EQUAL(rc.cdf(infty+10.0), 1.0); CHECK_EQUAL(rc.exceedance(infty+10.0), 0.0); for (unsigned i=0; i<1000; ++i) { const double r = cutoff - test_rng()*5.0; CHECK_CLOSE(gauss.density(r), rc.density(r), eps); CHECK_CLOSE(gauss.exceedance(r), rc.exceedance(r), eps); CHECK_CLOSE(gauss.cdf(r), rc.cdf(r), eps); CHECK_CLOSE(rc.quantile(rc.cdf(r)), r, eps); } io_test(rc); } TEST(RatioOfNormals) { RatioOfNormals r1(-2.0, 1.0, 0.5, 1.0, 0.7); standard_test(r1, 10, 1.e-8); RatioOfNormals r2(1.0, 3.0, 2.0, 1.0, 0.5); standard_test(r2, 10, 1.e-7); const double x = 1.0; const double cdf = r2.cdf(x); const double quantile = r2.quantile(cdf); CHECK_CLOSE(x, quantile, 1.0e-8); } TEST(InterpolatedDistro1D1P) { const double eps = 1.0e-8; const double gridPoints[] = {1.0, 2.0}; double param = 1.3; const unsigned nGridPoints = sizeof(gridPoints)/sizeof(gridPoints[0]); GridAxis ax(std::vector(gridPoints, gridPoints+nGridPoints)); std::vector > distros; distros.push_back(CPP11_shared_ptr(new Gauss1D(1.0, 2.0))); distros.push_back(CPP11_shared_ptr(new Gauss1D(-1.0, 1.0))); InterpolatedDistro1D1P idist(ax, distros, param); standard_test(idist, 10.0, 1.e-7); LinearMapper1d meanmap(gridPoints[0], 1.0, gridPoints[1], -1.0); LinearMapper1d sigmap(gridPoints[0], 2.0, gridPoints[1], 1.0); for (unsigned i=0; i<100; ++i) { param = 1.0 + test_rng(); idist.setParameter(param); Gauss1D g(meanmap(param), sigmap(param)); const double r = test_rng(); const double x = g.quantile(r); CHECK_CLOSE(x, idist.quantile(r), eps); CHECK_CLOSE(g.density(x), idist.density(x), eps); CHECK_CLOSE(g.cdf(x), idist.cdf(x), eps); } } TEST(distro1DStats_1) { const double eps = 1.0e-7; for (unsigned i=0; i<100; ++i) { const double mean = test_rng(); const double sigma = 0.5 + test_rng(); double m, s, skew, kurt; distro1DStats(Gauss1D(mean, sigma), -10., 11., 100000, &m, &s, &skew, &kurt); CHECK_CLOSE(mean, m, eps); CHECK_CLOSE(sigma, s, eps); CHECK_CLOSE(0.0, skew, eps); CHECK_CLOSE(3.0, kurt, eps); } } + + TEST(DeltaMixture1D_1) + { + const double eps = 1.0e-12; + const unsigned nPoints = 3; + double coords[nPoints] = {0., 1., 2.}; + double weights[nPoints] = {1., 3., 2.}; + DeltaMixture1D dmix(5.0, 1.0, coords, weights, nPoints); + io_test(dmix); + + CHECK_CLOSE(0.6666666666666666, dmix.cdf(6.0), eps); + CHECK_CLOSE(0.3333333333333333, dmix.exceedance(6.0), eps); + + MersenneTwister rng; + int counts[nPoints] = {0}; + for (unsigned i=0; i<6000; ++i) + { + double rnd; + dmix.random(rng, &rnd); + CHECK(rnd == 5.0 || rnd == 6.0 || rnd == 7.0); + if (rnd == 5.0) + ++counts[0]; + if (rnd == 6.0) + ++counts[1]; + if (rnd == 7.0) + ++counts[2]; + } + CHECK(std::abs(counts[0] - 1000) < 200); + CHECK(std::abs(counts[2] - 2000) < 300); + + CHECK_CLOSE(0.5, dmix.integral(6.0, true, 6.0, true), eps); + CHECK_CLOSE(0.0, dmix.integral(6.0, false, 6.0, false), eps); + CHECK_CLOSE(0.0, dmix.integral(6.0, false, 6.0, true), eps); + CHECK_CLOSE(0.0, dmix.integral(6.0, true, 6.0, false), eps); + + CHECK_CLOSE(1.0, dmix.integral(5.0, true, 7.0, true), eps); + CHECK_CLOSE(0.5, dmix.integral(5.0, false, 7.0, false), eps); + CHECK_CLOSE(0.8333333333333334, dmix.integral(5.0, false, 7.0, true), eps); + CHECK_CLOSE(0.6666666666666667, dmix.integral(5.0, true, 7.0, false), eps); + + const double expectedMoments[4] = {1.0, 37/6.0, 77/2.0, 1459/6.0}; + long double moments[4]; + dmix.moments(0, 3, moments); + for (unsigned i=0; i<=3; ++i) + CHECK_CLOSE(expectedMoments[i], moments[i], eps); + + const double expectedCMoments[4] = {1.0, 37/6.0, 17/36.0, -2/27.0}; + dmix.centralMoments(3, moments); + for (unsigned i=0; i<=3; ++i) + CHECK_CLOSE(expectedCMoments[i], moments[i], eps); + } } Index: trunk/tests/test_DiscreteDistributions1D.cc =================================================================== --- trunk/tests/test_DiscreteDistributions1D.cc (revision 594) +++ trunk/tests/test_DiscreteDistributions1D.cc (revision 595) @@ -1,174 +1,191 @@ #include #include #include #include "UnitTest++.h" #include "test_utils.hh" #include "npstat/stat/DiscreteDistributions1D.hh" #include "npstat/rng/permutation.hh" using namespace npstat; using namespace std; static unsigned global_probLen = 0; static std::vector global_poisson; static double last_lambda = -123.0; static void update_lambda(const double lambda) { if (lambda != last_lambda) { assert(lambda >= 0.0); global_poisson.clear(); if (lambda == 0.0) global_poisson.push_back(1.0); else { long double expfactor = expl(-lambda); for (unsigned i=0; ; ++i) { const double prob = powl(lambda, i)/ldfactorial(i)*expfactor; if (prob <= DBL_MIN) break; global_poisson.push_back(prob); } } global_probLen = global_poisson.size(); last_lambda = lambda; } } static double* global_probs(const double lambda) { update_lambda(lambda); return &global_poisson[0]; } static unsigned global_len(const double lambda) { update_lambda(lambda); return global_probLen; } namespace { class Poisson2 : public DiscreteTabulated1D { public: inline explicit Poisson2(const double lambda) : DiscreteTabulated1D(0L, global_probs(lambda), global_len(lambda)) {} }; void io_test(const AbsDiscreteDistribution1D& d) { std::ostringstream os; CHECK(d.classId().write(os)); CHECK(d.write(os)); std::istringstream is(os.str()); gs::ClassId id(is, 1); AbsDiscreteDistribution1D* phoenix = AbsDiscreteDistribution1D::read(id, is); CHECK(*phoenix == d); delete phoenix; } void invcdf_test(const AbsDiscreteDistribution1D& d) { const double eps = 1.0e-12; for (unsigned i=0; i<1000; ++i) { const double r = test_rng(); const long x = d.quantile(r); const double cdf = d.cdf(x); const double cdfm1 = d.cdf(x - 1L); CHECK(r > cdfm1); CHECK(r <= cdf); CHECK_CLOSE(cdf, 1.0 - d.exceedance(x), eps); } } void standard_test(const AbsDiscreteDistribution1D& d, const long xmin, const long xmax, const double eps) { long double sum = 0.0L; for (long i=xmin; i= 0.0); sum += prob; const double dsum = sum; CHECK_CLOSE(dsum, d.cdf(i), eps); CHECK_CLOSE(dsum, 1.0 - d.exceedance(i), eps); const double osum = oldsum; if (osum < dsum) { const double midpoint = (oldsum + sum)/2.0L; if (midpoint > osum && midpoint < dsum) CHECK_EQUAL(i, d.quantile(midpoint)); } } const double integ = sum; CHECK_CLOSE(1.0, integ, eps); invcdf_test(d); } TEST(DiscreteTabulated1D) { const double data[] = {0, 1, 3, 0, 3, 0, 8}; const long location = -2; DiscreteTabulated1D distro(location, data, sizeof(data)/sizeof(data[0])); standard_test(distro, -5, 6, 1.0e-14); io_test(distro); } + TEST(DiscreteTabulated1D_quantile) + { + const double data[] = {1, 3}; + const long location = 0; + + DiscreteTabulated1D distro(location, data, sizeof(data)/sizeof(data[0])); + int counts[2] = {0}; + for (unsigned i=0; i<4000; ++i) + { + const long q = distro.quantile(test_rng()); + CHECK(q >= 0L); + CHECK(q < 2L); + ++counts[q]; + } + CHECK(std::abs(counts[0] - 1000) < 200); + } + TEST(Poisson1D) { const double lambdas[] = {0, 0.1, 1, 1.999, 3.5, 5.1, 9.99}; const long lmin = -1, lmax = 1000; const double ceps = 1.0e-15; for (unsigned i=0; i 1, - 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, - 'AM_SILENT_RULES' => 1, - '_LT_COMPILER_OPTION' => 1, + 'AC_LIBTOOL_WIN32_DLL' => 1, + 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, + 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, + '_LT_AC_LANG_C_CONFIG' => 1, 'LT_AC_PROG_EGREP' => 1, - 'AM_ENABLE_STATIC' => 1, - '_LT_AC_PROG_CXXCPP' => 1, - 'AM_DISABLE_STATIC' => 1, - 'LT_AC_PROG_RC' => 1, - 'AM_PROG_LIBTOOL' => 1, - 'LT_PROG_GCJ' => 1, - 'AC_PATH_MAGIC' => 1, - '_LT_WITH_SYSROOT' => 1, - 'AC_LIBTOOL_FC' => 1, - 'AM_MISSING_PROG' => 1, - '_LT_PROG_FC' => 1, - '_LT_AC_LANG_CXX' => 1, - 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, - '_AM_PROG_TAR' => 1, - 'AC_DEPLIBS_CHECK_METHOD' => 1, - 'AC_LIBTOOL_GCJ' => 1, - 'AM_DEP_TRACK' => 1, - 'AC_DISABLE_FAST_INSTALL' => 1, - '_LT_AC_TRY_DLOPEN_SELF' => 1, - '_LT_CC_BASENAME' => 1, + 'AC_LTDL_ENABLE_INSTALL' => 1, + 'AC_PROG_EGREP' => 1, 'LT_AC_PROG_SED' => 1, + '_PKG_SHORT_ERRORS_SUPPORTED' => 1, + '_AM_PROG_CC_C_O' => 1, + '_LT_AC_TRY_DLOPEN_SELF' => 1, + 'PKG_NOARCH_INSTALLDIR' => 1, + 'AC_LIBTOOL_DLOPEN_SELF' => 1, + '_AM_CONFIG_MACRO_DIRS' => 1, + '_LT_PROG_LTMAIN' => 1, + 'AM_PROG_INSTALL_SH' => 1, + '_LT_COMPILER_OPTION' => 1, + '_LT_AC_LANG_GCJ' => 1, + 'LT_LANG' => 1, + 'PKG_CHECK_MODULES_STATIC' => 1, '_LT_PREPARE_SED_QUOTE_VARS' => 1, - 'AM_RUN_LOG' => 1, - 'AC_CONFIG_MACRO_DIR' => 1, 'AC_DEFUN_ONCE' => 1, - 'LT_PROG_GO' => 1, - '_AC_AM_CONFIG_HEADER_HOOK' => 1, - 'AC_DEFUN' => 1, - '_LT_DLL_DEF_P' => 1, - '_PKG_SHORT_ERRORS_SUPPORTED' => 1, - 'AM_SUBST_NOTMAKE' => 1, - 'LT_LIB_M' => 1, + 'AC_LIBTOOL_LANG_C_CONFIG' => 1, + 'LT_CMD_MAX_LEN' => 1, + 'AC_LIBTOOL_COMPILER_OPTION' => 1, + 'LT_AC_PROG_RC' => 1, + '_LT_AC_LANG_CXX' => 1, + '_LT_PROG_FC' => 1, + 'AC_PROG_NM' => 1, + 'AM_MAKE_INCLUDE' => 1, + 'AC_LTDL_OBJDIR' => 1, + 'AM_CONDITIONAL' => 1, + '_LT_AC_LOCK' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, + 'AM_MISSING_HAS_RUN' => 1, + '_AM_AUTOCONF_VERSION' => 1, + 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, + 'AC_ENABLE_SHARED' => 1, + 'AC_LIBTOOL_F77' => 1, + 'AM_RUN_LOG' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'LT_SYS_DLOPEN_SELF' => 1, + 'AC_PATH_TOOL_PREFIX' => 1, + '_LT_AC_LANG_F77' => 1, + 'AM_PROG_CC_C_O' => 1, + '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AC_LIBTOOL_PICMODE' => 1, + 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, + 'AM_PROG_LD' => 1, + 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, + 'AC_LIBTOOL_GCJ' => 1, + 'PKG_PROG_PKG_CONFIG' => 1, + 'PKG_CHECK_VAR' => 1, + 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, + 'AM_PROG_LIBTOOL' => 1, + 'AC_LIBTOOL_DLOPEN' => 1, + 'AC_LIBTOOL_RC' => 1, + 'LT_INIT' => 1, + 'm4_pattern_forbid' => 1, + 'LT_AC_PROG_GCJ' => 1, + 'm4_include' => 1, + 'LT_PROG_GCJ' => 1, + 'PKG_CHECK_MODULES' => 1, + 'LT_PROG_RC' => 1, + '_LT_AC_SYS_LIBPATH_AIX' => 1, + '_AM_SET_OPTION' => 1, + 'AC_LIBTOOL_CONFIG' => 1, + '_LT_AC_LANG_RC_CONFIG' => 1, + 'AM_AUX_DIR_EXPAND' => 1, 'AC_PROG_LIBTOOL' => 1, - 'include' => 1, - 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, - 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, + '_LT_AC_SHELL_INIT' => 1, '_LT_PROG_CXX' => 1, + 'AC_DEFUN' => 1, + 'AM_MISSING_PROG' => 1, + '_AM_IF_OPTION' => 1, + 'AC_DISABLE_SHARED' => 1, + '_m4_warn' => 1, + 'AC_LIBTOOL_SETUP' => 1, + 'LT_OUTPUT' => 1, + '_LT_AC_LANG_CXX_CONFIG' => 1, + '_LT_REQUIRED_DARWIN_CHECKS' => 1, + '_LT_COMPILER_BOILERPLATE' => 1, + 'PKG_INSTALLDIR' => 1, + 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AC_LIBTOOL_LINKER_OPTION' => 1, + 'AM_SUBST_NOTMAKE' => 1, + 'LT_SUPPORTED_TAG' => 1, + 'AM_DEP_TRACK' => 1, + 'AM_SANITY_CHECK' => 1, + 'AM_ENABLE_SHARED' => 1, + '_LT_AC_PROG_ECHO_BACKSLASH' => 1, 'AC_PROG_LD_GNU' => 1, - 'AC_PROG_LD' => 1, - 'AM_SET_LEADING_DOT' => 1, - 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, - '_LT_AC_LANG_F77' => 1, - 'PKG_NOARCH_INSTALLDIR' => 1, + 'LTSUGAR_VERSION' => 1, + 'AM_DISABLE_SHARED' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'AM_ENABLE_STATIC' => 1, + '_LT_AC_LANG_GCJ_CONFIG' => 1, + 'include' => 1, 'LTOPTIONS_VERSION' => 1, - 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, - 'AM_PROG_LD' => 1, + '_LT_AC_TAGVAR' => 1, + '_LT_AC_SYS_COMPILER' => 1, 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, - 'PKG_CHECK_MODULES' => 1, - 'AM_AUX_DIR_EXPAND' => 1, - '_AC_PROG_LIBTOOL' => 1, - 'AM_MISSING_HAS_RUN' => 1, - 'AC_PROG_EGREP' => 1, - 'LTOBSOLETE_VERSION' => 1, - '_LT_AC_LANG_F77_CONFIG' => 1, - '_LT_AC_FILE_LTDLL_C' => 1, + 'LT_PATH_NM' => 1, + '_LT_WITH_SYSROOT' => 1, + 'LT_PATH_LD' => 1, + 'AU_DEFUN' => 1, + 'AC_PATH_MAGIC' => 1, + 'AM_SILENT_RULES' => 1, + 'AM_PROG_INSTALL_STRIP' => 1, + '_LT_LINKER_BOILERPLATE' => 1, + '_LT_PATH_TOOL_PREFIX' => 1, + 'LTVERSION_VERSION' => 1, '_AM_MANGLE_OPTION' => 1, - 'AC_LIBTOOL_DLOPEN_SELF' => 1, - '_AM_PROG_CC_C_O' => 1, - 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, - 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, '_LT_AC_CHECK_DLFCN' => 1, + '_LT_LINKER_OPTION' => 1, + '_LT_AC_LANG_F77_CONFIG' => 1, + '_AC_AM_CONFIG_HEADER_HOOK' => 1, + 'm4_pattern_allow' => 1, + 'AC_PROG_LD' => 1, + 'AC_LTDL_PREOPEN' => 1, + '_LT_CC_BASENAME' => 1, + 'AM_SET_DEPDIR' => 1, 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, - 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, - 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, - 'AC_LIBTOOL_RC' => 1, - 'LT_PATH_NM' => 1, - '_AM_DEPENDENCIES' => 1, - '_LT_AC_LANG_C_CONFIG' => 1, + 'LT_LIB_M' => 1, + 'AC_LIBTOOL_CXX' => 1, 'AC_PROG_LD_RELOAD_FLAG' => 1, - 'AC_LIBTOOL_CONFIG' => 1, - 'AC_PATH_TOOL_PREFIX' => 1, - 'AM_DISABLE_SHARED' => 1, - '_LT_AC_PROG_ECHO_BACKSLASH' => 1, '_LT_PROG_F77' => 1, - '_LT_LINKER_OPTION' => 1, - '_LT_AC_SYS_COMPILER' => 1, + '_AM_PROG_TAR' => 1, + '_AM_DEPENDENCIES' => 1, '_LT_PROG_ECHO_BACKSLASH' => 1, - 'LT_CMD_MAX_LEN' => 1, - '_LT_LINKER_BOILERPLATE' => 1, - 'AU_DEFUN' => 1, - 'LT_AC_PROG_GCJ' => 1, - 'PKG_CHECK_MODULES_STATIC' => 1, - 'AM_PROG_CC_C_O' => 1, - 'AC_LIBTOOL_SETUP' => 1, - '_LT_AC_LANG_GCJ_CONFIG' => 1, - 'AM_CONDITIONAL' => 1, - 'AM_SANITY_CHECK' => 1, - 'AM_PROG_INSTALL_SH' => 1, - 'AC_ENABLE_SHARED' => 1, + 'AC_CONFIG_MACRO_DIR' => 1, + '_LT_DLL_DEF_P' => 1, 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, - '_AM_SET_OPTIONS' => 1, - '_AM_CONFIG_MACRO_DIRS' => 1, - 'AC_LIBTOOL_WIN32_DLL' => 1, - 'AM_MAKE_INCLUDE' => 1, - 'AC_PROG_NM' => 1, - 'AC_DISABLE_SHARED' => 1, - '_m4_warn' => 1, - 'AM_SET_DEPDIR' => 1, - 'AC_ENABLE_FAST_INSTALL' => 1, - 'AM_PROG_INSTALL_STRIP' => 1, - '_LT_COMPILER_BOILERPLATE' => 1, - '_AM_AUTOCONF_VERSION' => 1, + 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, + 'AC_LIBTOOL_PROG_CC_C_O' => 1, + 'LT_PROG_GO' => 1, + '_AC_PROG_LIBTOOL' => 1, + '_LT_AC_PROG_CXXCPP' => 1, '_LT_AC_TAGCONFIG' => 1, - 'AM_AUTOMAKE_VERSION' => 1, + 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, 'AM_PROG_NM' => 1, - '_LT_AC_LANG_GCJ' => 1, - 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, - 'AM_ENABLE_SHARED' => 1, - 'LT_SYS_DLOPEN_SELF' => 1, - 'LT_SUPPORTED_TAG' => 1, - 'AC_LIBTOOL_F77' => 1, - 'PKG_PROG_PKG_CONFIG' => 1, + 'AC_DEPLIBS_CHECK_METHOD' => 1, + 'AC_CONFIG_MACRO_DIR_TRACE' => 1, + 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, - '_LT_PATH_TOOL_PREFIX' => 1, - '_AM_SET_OPTION' => 1, - 'LT_PATH_LD' => 1, - 'AC_LIBTOOL_LINKER_OPTION' => 1, - '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, - 'AC_ENABLE_STATIC' => 1, - 'LTVERSION_VERSION' => 1, - 'AM_INIT_AUTOMAKE' => 1, - 'PKG_INSTALLDIR' => 1, - '_LT_AC_SHELL_INIT' => 1, - 'AC_LIBTOOL_LANG_C_CONFIG' => 1, - 'LT_OUTPUT' => 1, - 'm4_pattern_forbid' => 1, - 'AC_LTDL_OBJDIR' => 1, - 'LTSUGAR_VERSION' => 1, - 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, - '_LT_PROG_LTMAIN' => 1, - 'm4_include' => 1, - '_LT_AC_SYS_LIBPATH_AIX' => 1, - '_LT_AC_TAGVAR' => 1, - 'AC_LTDL_ENABLE_INSTALL' => 1, - '_LT_AC_LOCK' => 1, - 'AC_LIBTOOL_PROG_CC_C_O' => 1, - '_LT_REQUIRED_DARWIN_CHECKS' => 1, - '_LT_AC_LANG_CXX_CONFIG' => 1, - '_AM_SUBST_NOTMAKE' => 1, 'AC_CHECK_LIBM' => 1, - 'AC_CONFIG_MACRO_DIR_TRACE' => 1, - 'AC_LIBTOOL_PICMODE' => 1, - 'LT_PROG_RC' => 1, - 'AC_LTDL_PREOPEN' => 1, - '_AM_IF_OPTION' => 1, - 'LT_LANG' => 1, - 'AC_LIBTOOL_COMPILER_OPTION' => 1, - 'm4_pattern_allow' => 1, - 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, - 'LT_INIT' => 1, - '_LT_AC_LANG_RC_CONFIG' => 1, + 'AM_SET_LEADING_DOT' => 1, + '_AM_SET_OPTIONS' => 1, + 'AC_DISABLE_FAST_INSTALL' => 1, + 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, + 'AM_DISABLE_STATIC' => 1, + 'AC_LIBTOOL_FC' => 1, 'PKG_CHECK_EXISTS' => 1, + '_LT_AC_FILE_LTDLL_C' => 1, + 'AC_LIBTOOL_OBJDIR' => 1, + 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, 'AC_DISABLE_STATIC' => 1, - 'PKG_CHECK_VAR' => 1, - 'AC_LIBTOOL_CXX' => 1, - 'AC_LIBTOOL_OBJDIR' => 1 + 'LTOBSOLETE_VERSION' => 1, + 'AC_ENABLE_FAST_INSTALL' => 1, + 'AC_ENABLE_STATIC' => 1 } ], 'Autom4te::Request' ), bless( [ '1', 1, [ '/usr/share/autoconf' ], [ '/usr/share/autoconf/autoconf/autoconf.m4f', 'aclocal.m4', 'configure.ac' ], { - 'AC_DEFINE_TRACE_LITERAL' => 1, - 'AC_INIT' => 1, - 'AC_CANONICAL_TARGET' => 1, - 'AM_PROG_FC_C_O' => 1, + 'AC_LIBSOURCE' => 1, + 'AM_XGETTEXT_OPTION' => 1, 'AM_PROG_LIBTOOL' => 1, - '_AM_COND_IF' => 1, - 'AC_FC_FREEFORM' => 1, + 'AM_PROG_F77_C_O' => 1, + '_AM_MAKEFILE_INCLUDE' => 1, + 'LT_SUPPORTED_TAG' => 1, 'AM_PROG_MKDIR_P' => 1, - 'AC_FC_SRCEXT' => 1, - 'AM_INIT_AUTOMAKE' => 1, - 'AH_OUTPUT' => 1, - 'AM_PROG_CXX_C_O' => 1, - 'AM_PROG_MOC' => 1, - 'sinclude' => 1, - 'AM_SILENT_RULES' => 1, - 'AC_CONFIG_LINKS' => 1, - 'AM_MAKEFILE_INCLUDE' => 1, - 'AC_SUBST' => 1, - 'AM_PATH_GUILE' => 1, + 'include' => 1, + 'm4_pattern_forbid' => 1, + 'AM_AUTOMAKE_VERSION' => 1, 'AC_SUBST_TRACE' => 1, - 'm4_include' => 1, - 'AM_POT_TOOLS' => 1, - 'AC_FC_PP_SRCEXT' => 1, - 'AM_CONDITIONAL' => 1, - 'AC_LIBSOURCE' => 1, + 'AC_FC_PP_DEFINE' => 1, + 'AM_NLS' => 1, 'LT_CONFIG_LTDL_DIR' => 1, - 'm4_pattern_forbid' => 1, - 'AM_PROG_CC_C_O' => 1, - 'AC_CANONICAL_BUILD' => 1, - 'AC_CONFIG_LIBOBJ_DIR' => 1, - 'AC_REQUIRE_AUX_FILE' => 1, - 'AM_PROG_AR' => 1, 'm4_sinclude' => 1, - 'AM_PROG_F77_C_O' => 1, - 'AC_CONFIG_FILES' => 1, + 'LT_INIT' => 1, + 'AM_PROG_FC_C_O' => 1, + 'AM_PROG_AR' => 1, + 'AM_PROG_CXX_C_O' => 1, + 'AC_CANONICAL_TARGET' => 1, + 'AM_EXTRA_RECURSIVE_TARGETS' => 1, '_m4_warn' => 1, - 'AC_FC_PP_DEFINE' => 1, - 'AC_CANONICAL_SYSTEM' => 1, - '_AM_SUBST_NOTMAKE' => 1, - '_AM_COND_ENDIF' => 1, - '_AM_COND_ELSE' => 1, - 'AM_GNU_GETTEXT' => 1, - 'AC_CANONICAL_HOST' => 1, - '_AM_MAKEFILE_INCLUDE' => 1, - 'LT_SUPPORTED_TAG' => 1, + 'AC_FC_PP_SRCEXT' => 1, + 'AM_PROG_CC_C_O' => 1, 'AM_ENABLE_MULTILIB' => 1, - 'LT_INIT' => 1, - 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, - 'AM_XGETTEXT_OPTION' => 1, - 'm4_pattern_allow' => 1, - 'AM_AUTOMAKE_VERSION' => 1, + 'AM_GNU_GETTEXT' => 1, + 'AC_CONFIG_LIBOBJ_DIR' => 1, + 'AC_CONFIG_LINKS' => 1, + 'AC_DEFINE_TRACE_LITERAL' => 1, + 'AC_CONFIG_FILES' => 1, + 'AC_INIT' => 1, + 'AM_PROG_MOC' => 1, + 'sinclude' => 1, 'AC_PROG_LIBTOOL' => 1, - 'AC_CONFIG_AUX_DIR' => 1, - 'AM_NLS' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AC_FC_SRCEXT' => 1, 'AC_CONFIG_HEADERS' => 1, + 'AM_PATH_GUILE' => 1, + 'AM_CONDITIONAL' => 1, + '_AM_SUBST_NOTMAKE' => 1, + '_AM_COND_ENDIF' => 1, 'AM_MAINTAINER_MODE' => 1, - 'include' => 1, - 'AM_EXTRA_RECURSIVE_TARGETS' => 1, + 'AC_FC_FREEFORM' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'AC_CONFIG_AUX_DIR' => 1, + 'AC_SUBST' => 1, 'AC_CONFIG_SUBDIRS' => 1, - '_LT_AC_TAGCONFIG' => 1 + 'AC_CANONICAL_HOST' => 1, + 'm4_pattern_allow' => 1, + 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, + '_LT_AC_TAGCONFIG' => 1, + 'AM_MAKEFILE_INCLUDE' => 1, + 'AH_OUTPUT' => 1, + 'm4_include' => 1, + 'AC_REQUIRE_AUX_FILE' => 1, + 'AC_CANONICAL_BUILD' => 1, + '_AM_COND_IF' => 1, + '_AM_COND_ELSE' => 1, + 'AM_SILENT_RULES' => 1, + 'AM_POT_TOOLS' => 1 } ], 'Autom4te::Request' ), bless( [ '2', 1, [ '/usr/share/autoconf' ], [ '/usr/share/autoconf/autoconf/autoconf.m4f', '-', '/usr/share/aclocal-1.15/internal/ac-config-macro-dirs.m4', '/usr/share/aclocal/ltargz.m4', '/usr/share/aclocal/ltdl.m4', '/usr/share/aclocal/pkg.m4', '/usr/share/aclocal-1.15/amversion.m4', '/usr/share/aclocal-1.15/auxdir.m4', '/usr/share/aclocal-1.15/cond.m4', '/usr/share/aclocal-1.15/depend.m4', '/usr/share/aclocal-1.15/depout.m4', '/usr/share/aclocal-1.15/init.m4', '/usr/share/aclocal-1.15/install-sh.m4', '/usr/share/aclocal-1.15/lead-dot.m4', '/usr/share/aclocal-1.15/make.m4', '/usr/share/aclocal-1.15/missing.m4', '/usr/share/aclocal-1.15/options.m4', '/usr/share/aclocal-1.15/prog-cc-c-o.m4', '/usr/share/aclocal-1.15/runlog.m4', '/usr/share/aclocal-1.15/sanity.m4', '/usr/share/aclocal-1.15/silent.m4', '/usr/share/aclocal-1.15/strip.m4', '/usr/share/aclocal-1.15/substnot.m4', '/usr/share/aclocal-1.15/tar.m4', 'm4/libtool.m4', 'm4/ltoptions.m4', 'm4/ltsugar.m4', 'm4/ltversion.m4', 'm4/lt~obsolete.m4', 'configure.ac' ], { - 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, - '_LT_AC_CHECK_DLFCN' => 1, - 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, - 'AC_LTDL_SHLIBEXT' => 1, - 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, + '_LT_COMPILER_OPTION' => 1, + '_LT_AC_LANG_GCJ' => 1, + '_LT_PROG_LTMAIN' => 1, + 'AM_PROG_INSTALL_SH' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'AC_LIBTOOL_DLOPEN_SELF' => 1, + 'PKG_NOARCH_INSTALLDIR' => 1, + '_AM_CONFIG_MACRO_DIRS' => 1, + '_LT_AC_TRY_DLOPEN_SELF' => 1, + 'LTDL_INSTALLABLE' => 1, '_AM_PROG_CC_C_O' => 1, - 'LT_FUNC_ARGZ' => 1, - 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, - '_AM_DEPENDENCIES' => 1, + '_PKG_SHORT_ERRORS_SUPPORTED' => 1, + 'AC_LTDL_ENABLE_INSTALL' => 1, + 'AC_PROG_EGREP' => 1, + 'LT_AC_PROG_SED' => 1, + 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, + 'LT_AC_PROG_EGREP' => 1, + 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, '_LT_AC_LANG_C_CONFIG' => 1, - 'AC_LIBTOOL_CONFIG' => 1, - 'AC_PROG_LD_RELOAD_FLAG' => 1, - 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, - 'AC_LIBTOOL_RC' => 1, - 'LT_PATH_NM' => 1, - '_LT_AC_LANG_F77' => 1, - 'PKG_NOARCH_INSTALLDIR' => 1, - 'LT_WITH_LTDL' => 1, - 'LTOPTIONS_VERSION' => 1, - 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, - 'LT_SYS_DLSEARCH_PATH' => 1, - 'AM_SET_LEADING_DOT' => 1, - 'LT_FUNC_DLSYM_USCORE' => 1, - 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, - '_LT_AC_FILE_LTDLL_C' => 1, - '_AM_MANGLE_OPTION' => 1, - 'AC_LIBTOOL_DLOPEN_SELF' => 1, - 'AM_PROG_LD' => 1, - 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, - 'PKG_CHECK_MODULES' => 1, - '_AC_PROG_LIBTOOL' => 1, - 'AM_AUX_DIR_EXPAND' => 1, + 'AC_LIBTOOL_WIN32_DLL' => 1, + 'AC_LTDL_SHLIBPATH' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'AM_RUN_LOG' => 1, + 'AC_LIBTOOL_F77' => 1, + 'AC_ENABLE_SHARED' => 1, + 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, + '_LT_AC_LOCK' => 1, 'AM_MISSING_HAS_RUN' => 1, - 'AC_PROG_EGREP' => 1, - 'LTOBSOLETE_VERSION' => 1, - '_LT_AC_LANG_F77_CONFIG' => 1, + '_AM_AUTOCONF_VERSION' => 1, + 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_LTDL_OBJDIR' => 1, + 'LT_SYS_SYMBOL_USCORE' => 1, + 'AM_MAKE_INCLUDE' => 1, + '_LT_PROG_FC' => 1, + '_LT_AC_LANG_CXX' => 1, + 'AC_PROG_NM' => 1, + 'AC_LIBTOOL_LANG_C_CONFIG' => 1, + 'LT_CMD_MAX_LEN' => 1, + 'AC_LIBTOOL_COMPILER_OPTION' => 1, + 'LT_AC_PROG_RC' => 1, 'AC_DEFUN_ONCE' => 1, - 'AC_CONFIG_MACRO_DIR' => 1, - 'LT_PROG_GO' => 1, - '_AC_AM_CONFIG_HEADER_HOOK' => 1, - 'AC_DEFUN' => 1, - '_LT_DLL_DEF_P' => 1, - 'LT_AC_PROG_SED' => 1, + 'PKG_CHECK_MODULES_STATIC' => 1, '_LT_PREPARE_SED_QUOTE_VARS' => 1, - 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, - 'AM_RUN_LOG' => 1, - 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, - 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, - '_LT_PROG_CXX' => 1, - 'AC_PROG_LD_GNU' => 1, - 'AC_PROG_LD' => 1, - 'AC_LTDL_SYMBOL_USCORE' => 1, + 'LT_LANG' => 1, 'AC_LTDL_DLSYM_USCORE' => 1, - '_PKG_SHORT_ERRORS_SUPPORTED' => 1, - 'AM_SUBST_NOTMAKE' => 1, - 'LT_LIB_M' => 1, - 'AC_PROG_LIBTOOL' => 1, - 'LT_SYS_DLOPEN_DEPLIBS' => 1, - 'include' => 1, - 'LT_AC_PROG_EGREP' => 1, - 'AM_ENABLE_STATIC' => 1, - '_LT_AC_PROG_CXXCPP' => 1, - 'AM_DISABLE_STATIC' => 1, - 'LT_AC_PROG_RC' => 1, - 'LT_PROG_GCJ' => 1, - 'AM_PROG_LIBTOOL' => 1, - 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, - 'AM_SILENT_RULES' => 1, - 'AC_LIBTOOL_DLOPEN' => 1, - '_LT_COMPILER_OPTION' => 1, + 'm4_pattern_forbid' => 1, + 'LT_SYS_MODULE_PATH' => 1, + 'LT_AC_PROG_GCJ' => 1, 'LTDL_INIT' => 1, - 'LT_LIB_DLLOAD' => 1, - 'AM_DEP_TRACK' => 1, - '_LT_AC_TRY_DLOPEN_SELF' => 1, - 'AC_DISABLE_FAST_INSTALL' => 1, - '_LT_CC_BASENAME' => 1, - 'AC_PATH_MAGIC' => 1, - '_LT_WITH_SYSROOT' => 1, - 'AC_LIBTOOL_FC' => 1, - 'AM_MISSING_PROG' => 1, - '_LT_AC_LANG_CXX' => 1, - '_LT_PROG_FC' => 1, - 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, - '_AM_PROG_TAR' => 1, - 'AC_DEPLIBS_CHECK_METHOD' => 1, - 'AC_LIBTOOL_GCJ' => 1, - 'LT_PROG_RC' => 1, - 'AC_LIBTOOL_PICMODE' => 1, - 'AC_CONFIG_MACRO_DIR_TRACE' => 1, - 'AC_LTDL_PREOPEN' => 1, - '_LT_LIBOBJ' => 1, - '_LT_REQUIRED_DARWIN_CHECKS' => 1, - '_LT_AC_LANG_CXX_CONFIG' => 1, - '_AM_SUBST_NOTMAKE' => 1, - 'AC_CHECK_LIBM' => 1, + 'AC_LIBTOOL_RC' => 1, 'LT_INIT' => 1, - '_LT_AC_LANG_RC_CONFIG' => 1, - 'PKG_CHECK_EXISTS' => 1, - 'AC_DISABLE_STATIC' => 1, + 'AC_LIBTOOL_DLOPEN' => 1, + 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, + 'AM_PROG_LIBTOOL' => 1, 'PKG_CHECK_VAR' => 1, - 'AC_LIBTOOL_CXX' => 1, - 'AC_LIBTOOL_OBJDIR' => 1, + 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, + 'AC_LIBTOOL_GCJ' => 1, + 'PKG_PROG_PKG_CONFIG' => 1, + 'AM_PROG_LD' => 1, + 'AC_LIBTOOL_PICMODE' => 1, + '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, + 'AM_PROG_CC_C_O' => 1, + 'AC_PATH_TOOL_PREFIX' => 1, + 'AC_LIB_LTDL' => 1, + 'LT_SYS_DLOPEN_SELF' => 1, + '_LT_AC_LANG_F77' => 1, '_AM_IF_OPTION' => 1, - 'LT_LANG' => 1, - 'AC_LIBTOOL_COMPILER_OPTION' => 1, - 'm4_pattern_allow' => 1, - 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, - 'AM_INIT_AUTOMAKE' => 1, - 'PKG_INSTALLDIR' => 1, + 'AM_MISSING_PROG' => 1, + 'AC_DEFUN' => 1, '_LT_AC_SHELL_INIT' => 1, - 'AC_LIBTOOL_LANG_C_CONFIG' => 1, - 'LT_OUTPUT' => 1, - 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, - '_LT_PATH_TOOL_PREFIX' => 1, - 'LT_PATH_LD' => 1, - 'AC_LIBTOOL_LINKER_OPTION' => 1, + '_LT_PROG_CXX' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'AM_AUX_DIR_EXPAND' => 1, + 'AC_LIBTOOL_CONFIG' => 1, + '_LT_AC_LANG_RC_CONFIG' => 1, + '_LT_AC_SYS_LIBPATH_AIX' => 1, '_AM_SET_OPTION' => 1, - '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, - 'AC_ENABLE_STATIC' => 1, - 'LTVERSION_VERSION' => 1, + 'LT_PROG_RC' => 1, + 'PKG_CHECK_MODULES' => 1, + 'LT_PROG_GCJ' => 1, + 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, 'm4_include' => 1, - '_LT_AC_SYS_LIBPATH_AIX' => 1, - '_LT_AC_TAGVAR' => 1, - 'LT_SYS_SYMBOL_USCORE' => 1, - 'AC_LTDL_ENABLE_INSTALL' => 1, - '_LT_AC_LOCK' => 1, - 'AC_LIBTOOL_PROG_CC_C_O' => 1, - 'm4_pattern_forbid' => 1, - 'LT_CONFIG_LTDL_DIR' => 1, - 'LTDL_CONVENIENCE' => 1, - 'AC_LTDL_OBJDIR' => 1, - 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, + '_LT_AC_LANG_GCJ_CONFIG' => 1, + 'include' => 1, + 'AM_DISABLE_SHARED' => 1, 'LTSUGAR_VERSION' => 1, - 'AC_LIBLTDL_CONVENIENCE' => 1, - '_LT_PROG_LTMAIN' => 1, - 'AM_SET_DEPDIR' => 1, - 'AC_ENABLE_FAST_INSTALL' => 1, - 'AC_PROG_NM' => 1, - 'AC_DISABLE_SHARED' => 1, - 'AC_LIBLTDL_INSTALLABLE' => 1, - '_m4_warn' => 1, - 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'AM_ENABLE_STATIC' => 1, + 'AC_LTDL_SHLIBEXT' => 1, + '_LT_AC_PROG_ECHO_BACKSLASH' => 1, + 'LT_SYS_DLOPEN_DEPLIBS' => 1, + 'AC_PROG_LD_GNU' => 1, 'AM_ENABLE_SHARED' => 1, - 'LT_SYS_DLOPEN_SELF' => 1, + 'AM_SANITY_CHECK' => 1, + 'AM_DEP_TRACK' => 1, 'LT_SUPPORTED_TAG' => 1, - 'AC_LIBTOOL_F77' => 1, - 'PKG_PROG_PKG_CONFIG' => 1, - 'AM_PROG_INSTALL_STRIP' => 1, + 'AC_LIBTOOL_LINKER_OPTION' => 1, + 'AM_SUBST_NOTMAKE' => 1, + 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, '_LT_COMPILER_BOILERPLATE' => 1, - '_AM_AUTOCONF_VERSION' => 1, - '_LT_AC_TAGCONFIG' => 1, - 'AM_AUTOMAKE_VERSION' => 1, - 'AM_PROG_NM' => 1, - '_LT_AC_LANG_GCJ' => 1, - 'AC_LTDL_SYSSEARCHPATH' => 1, + 'PKG_INSTALLDIR' => 1, + '_LT_AC_LANG_CXX_CONFIG' => 1, + '_LT_REQUIRED_DARWIN_CHECKS' => 1, + 'LT_OUTPUT' => 1, + 'LT_SYS_MODULE_EXT' => 1, + 'AC_DISABLE_SHARED' => 1, + '_m4_warn' => 1, + 'AC_LTDL_DLLIB' => 1, + 'AC_LIBTOOL_SETUP' => 1, + 'AC_LTDL_PREOPEN' => 1, + '_LT_CC_BASENAME' => 1, + 'AM_SET_DEPDIR' => 1, + 'm4_pattern_allow' => 1, + 'AC_PROG_LD' => 1, + '_AC_AM_CONFIG_HEADER_HOOK' => 1, + '_LT_AC_CHECK_DLFCN' => 1, + '_LT_AC_LANG_F77_CONFIG' => 1, + '_LT_LINKER_OPTION' => 1, + 'LTVERSION_VERSION' => 1, + '_AM_MANGLE_OPTION' => 1, + '_LT_PATH_TOOL_PREFIX' => 1, + '_LT_LINKER_BOILERPLATE' => 1, + 'AM_PROG_INSTALL_STRIP' => 1, + 'AC_PATH_MAGIC' => 1, + 'AM_SILENT_RULES' => 1, + 'AU_DEFUN' => 1, + '_LT_LIBOBJ' => 1, + '_LT_WITH_SYSROOT' => 1, + 'AC_LIBLTDL_CONVENIENCE' => 1, + 'LT_PATH_LD' => 1, + 'LT_WITH_LTDL' => 1, + 'LT_PATH_NM' => 1, + 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, + 'LTOPTIONS_VERSION' => 1, + '_LT_AC_TAGVAR' => 1, '_LT_AC_SYS_COMPILER' => 1, + 'AC_LIBTOOL_PROG_CC_C_O' => 1, + 'LT_PROG_GO' => 1, + 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, + '_LT_DLL_DEF_P' => 1, + 'AC_CONFIG_MACRO_DIR' => 1, + 'AC_LIBLTDL_INSTALLABLE' => 1, + 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, '_LT_PROG_ECHO_BACKSLASH' => 1, - 'LT_CMD_MAX_LEN' => 1, - 'LTDL_INSTALLABLE' => 1, - '_LT_LINKER_BOILERPLATE' => 1, - '_LTDL_SETUP' => 1, - 'AC_LTDL_SHLIBPATH' => 1, - 'AC_PATH_TOOL_PREFIX' => 1, - 'AM_DISABLE_SHARED' => 1, - 'LT_SYS_MODULE_PATH' => 1, - '_LT_AC_PROG_ECHO_BACKSLASH' => 1, - '_LT_LINKER_OPTION' => 1, + 'LT_FUNC_ARGZ' => 1, + 'LT_LIB_DLLOAD' => 1, + '_AM_DEPENDENCIES' => 1, + '_AM_PROG_TAR' => 1, '_LT_PROG_F77' => 1, - 'AM_PROG_INSTALL_SH' => 1, - 'AC_ENABLE_SHARED' => 1, - 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, - '_AM_SET_OPTIONS' => 1, - '_AM_CONFIG_MACRO_DIRS' => 1, - 'LT_SYS_MODULE_EXT' => 1, - 'AC_LIBTOOL_WIN32_DLL' => 1, - 'AC_LIB_LTDL' => 1, - 'AM_MAKE_INCLUDE' => 1, - 'LT_AC_PROG_GCJ' => 1, - 'AU_DEFUN' => 1, + 'AC_LTDL_SYSSEARCHPATH' => 1, + 'AC_PROG_LD_RELOAD_FLAG' => 1, + 'LTDL_CONVENIENCE' => 1, + '_LTDL_SETUP' => 1, + 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, + 'AC_LIBTOOL_CXX' => 1, + 'LT_LIB_M' => 1, 'AC_WITH_LTDL' => 1, - 'AM_PROG_CC_C_O' => 1, - 'AC_LIBTOOL_SETUP' => 1, - 'PKG_CHECK_MODULES_STATIC' => 1, - '_LT_AC_LANG_GCJ_CONFIG' => 1, - 'AM_CONDITIONAL' => 1, - 'AM_SANITY_CHECK' => 1, - 'AC_LTDL_DLLIB' => 1 + 'LTOBSOLETE_VERSION' => 1, + 'AC_ENABLE_FAST_INSTALL' => 1, + 'AC_ENABLE_STATIC' => 1, + 'AC_LIBTOOL_OBJDIR' => 1, + 'AC_DISABLE_STATIC' => 1, + 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, + 'PKG_CHECK_EXISTS' => 1, + '_LT_AC_FILE_LTDLL_C' => 1, + 'LT_FUNC_DLSYM_USCORE' => 1, + 'AC_LTDL_SYMBOL_USCORE' => 1, + '_AM_SET_OPTIONS' => 1, + 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, + 'AC_DISABLE_FAST_INSTALL' => 1, + 'AM_DISABLE_STATIC' => 1, + 'AC_LIBTOOL_FC' => 1, + 'AM_SET_LEADING_DOT' => 1, + 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, + 'AC_CHECK_LIBM' => 1, + 'AC_CONFIG_MACRO_DIR_TRACE' => 1, + 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, + 'AM_PROG_NM' => 1, + 'AC_DEPLIBS_CHECK_METHOD' => 1, + 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, + 'LT_SYS_DLSEARCH_PATH' => 1, + '_LT_AC_TAGCONFIG' => 1, + '_LT_AC_PROG_CXXCPP' => 1, + '_AC_PROG_LIBTOOL' => 1 } ], 'Autom4te::Request' ) ); Index: trunk/npstat/stat/DeltaMixture1D.icc =================================================================== --- trunk/npstat/stat/DeltaMixture1D.icc (revision 0) +++ trunk/npstat/stat/DeltaMixture1D.icc (revision 595) @@ -0,0 +1,54 @@ +#include +#include + +#include "npstat/nm/isMonotonous.hh" + +namespace npstat { + template + void DeltaMixture1D::initialize(const Real1* unscaledCoords, + const Real2* unscaledWeights, + const unsigned arrayLength) + { + if (!arrayLength) throw std::invalid_argument( + "In npstat::DeltaMixture1D::initialize: " + "arrays of coordinates and weights must not be empty"); + assert(unscaledCoords); + assert(unscaledWeights); + + const Real2 zero = Real2(); + + unsigned firstNonZero = 0; + for (; firstNonZero < arrayLength; ++firstNonZero) + if (unscaledWeights[firstNonZero] != zero) + break; + if (firstNonZero == arrayLength) throw std::invalid_argument( + "In npstat::DeltaMixture1D::initialize: " + "must have at least one non-zero weight"); + + unsigned lastNonZero = arrayLength-1U; + for (;; --lastNonZero) + if (unscaledWeights[lastNonZero] != zero) + break; + + if (!isStrictlyIncreasing(unscaledCoords+firstNonZero, + unscaledCoords+(lastNonZero+1U))) + throw std::invalid_argument( + "In npstat::DeltaMixture1D::initialize: " + "coordinate sequence must be strictly increasing"); + + const unsigned sequenceLength = lastNonZero - firstNonZero + 1U; + locations_.reserve(sequenceLength); + weights_.reserve(sequenceLength); + + for (unsigned i=firstNonZero; i<=lastNonZero; ++i) + { + if (unscaledWeights[i] < zero) throw std::invalid_argument( + "In npstat::DeltaMixture1D::initialize: " + "all weights must be non-negative"); + locations_.push_back(static_cast(unscaledCoords[i])); + weights_.push_back(static_cast(unscaledWeights[i])); + } + + buildCdfTable(); + } +} Index: trunk/npstat/stat/Makefile.am =================================================================== --- trunk/npstat/stat/Makefile.am (revision 594) +++ trunk/npstat/stat/Makefile.am (revision 595) @@ -1,355 +1,357 @@ AM_CPPFLAGS = -I@top_srcdir@/ $(DEPS_CFLAGS) noinst_LTLIBRARIES = libstat.la libstat_la_SOURCES = AbsDistribution1D.cc AbsUnfoldND.cc \ AbsDistributionND.cc amiseOptimalBandwidth.cc CompositeDistribution1D.cc \ CompositeDistributionND.cc CopulaInterpolationND.cc SymbetaParams1D.cc \ Distribution1DFactory.cc Distribution1DReader.cc DistributionNDReader.cc \ Distributions1D.cc DistributionsND.cc CrossCovarianceAccumulator.cc \ fitSbParameters.cc StatAccumulatorArr.cc HistoAxis.cc ResponseMatrix.cc \ InterpolatedDistribution1D.cc JohnsonCurves.cc JohnsonKDESmoother.cc \ LocalPolyFilter1D.cc logLikelihoodPeak.cc PolyFilterCollection1D.cc \ SbMomentsBigGamma.cc SbMomentsCalculator.cc gaussianResponseMatrix.cc \ SequentialCopulaSmoother.cc SequentialPolyFilterND.cc StatAccumulator.cc \ UnitMapInterpolationND.cc WeightedStatAccumulator.cc AbsNtuple.cc \ QuadraticOrthoPolyND.cc NMCombinationSequencer.cc Filter1DBuilders.cc \ StatAccumulatorPair.cc GridRandomizer.cc ConstantBandwidthSmoother1D.cc \ GaussianMixture1D.cc HistoNDCdf.cc scanDensityAsWeight.cc NUHistoAxis.cc \ distributionReadError.cc WeightedStatAccumulatorPair.cc AbsUnfold1D.cc \ ProductSymmetricBetaNDCdf.cc DualHistoAxis.cc multinomialCovariance1D.cc \ StorableMultivariateFunctor.cc StorableMultivariateFunctorReader.cc \ TruncatedDistribution1D.cc neymanPearsonWindow1D.cc AsinhTransform1D.cc \ LOrPEMarginalSmoother.cc LeftCensoredDistribution.cc QuantileTable1D.cc \ RightCensoredDistribution.cc AbsDiscreteDistribution1D.cc convertAxis.cc \ DiscreteDistribution1DReader.cc DiscreteDistributions1D.cc lorpeMise1D.cc \ BernsteinFilter1DBuilder.cc BetaFilter1DBuilder.cc AbsFilter1DBuilder.cc \ continuousDegreeTaper.cc RatioOfNormals.cc AbsCVCopulaSmoother.cc \ DensityScan1D.cc BoundaryHandling.cc SmoothedEMUnfold1D.cc Copulas.cc \ PearsonsChiSquared.cc BinnedKSTest1D.cc MultiscaleEMUnfold1D.cc \ AbsBinnedComparison1D.cc BinnedADTest1D.cc LocalPolyFilter1DReader.cc \ MemoizingSymbetaFilterProvider.cc UGaussConvolution1D.cc BinSummary.cc \ SmoothedEMUnfoldND.cc UnfoldingFilterNDReader.cc AbsUnfoldingFilterND.cc \ UnfoldingBandwidthScannerND.cc DistributionMix1D.cc ScalableGaussND.cc \ InterpolatedDistro1D1P.cc AbsDistributionTransform1D.cc LogTransform1D.cc \ DistributionTransform1DReader.cc TransformedDistribution1D.cc \ WeightTableFilter1DBuilder.cc VerticallyInterpolatedDistribution1D.cc \ LocalMultiFilter1D.cc LogRatioTransform1D.cc IdentityTransform1D.cc \ VariableBandwidthSmoother1D.cc AbsMarginalSmootherBase.cc OSDE1D.cc \ buildInterpolatedHelpers.cc GridInterpolatedDistribution.cc \ AbsCopulaSmootherBase.cc BernsteinCopulaSmoother.cc distro1DStats.cc \ SequentialGroupedCopulaSmoother.cc UnfoldingBandwidthScanner1D.cc \ InterpolatedDistro1DNP.cc volumeDensityFromBinnedRadial.cc \ statUncertainties.cc LocationScaleFamily1D.cc SinhAsinhTransform1D.cc \ AbsKDE1DKernel.cc KDE1DHOSymbetaKernel.cc EdgeworthSeriesMethod.cc \ - EdgeworthSeries1D.cc + EdgeworthSeries1D.cc DeltaMixture1D.cc includedir = ${prefix}/include/npstat/stat include_HEADERS = AbsBandwidthCV.hh \ AbsBandwidthGCV.hh \ AbsBinnedComparison1D.hh \ AbsBinnedComparison1D.icc \ AbsCompositeDistroBuilder.hh \ AbsCompositeDistroBuilder.icc \ AbsCopulaSmootherBase.hh \ AbsCopulaSmootherBase.icc \ AbsCVCopulaSmoother.hh \ AbsDiscreteDistribution1D.hh \ AbsDistribution1D.hh \ AbsDistributionND.hh \ AbsDistributionND.icc \ AbsDistributionTransform1D.hh \ AbsDistro1DBuilder.hh \ AbsDistro1DBuilder.icc \ AbsFilter1DBuilder.hh \ AbsGridInterpolatedDistribution.hh \ AbsInterpolatedDistribution1D.hh \ AbsInterpolationAlgoND.hh \ AbsKDE1DKernel.hh \ AbsKDE1DKernel.icc \ AbsLossCalculator.hh \ AbsMarginalSmootherBase.hh \ AbsMarginalSmootherBase.icc \ AbsNtuple.hh \ AbsNtuple.icc \ AbsPolyFilter1D.hh \ AbsPolyFilterND.hh \ AbsResponseBoxBuilder.hh \ AbsResponseIntervalBuilder.hh \ AbsSymbetaFilterProvider.hh \ AbsUnfold1D.hh \ AbsUnfoldingFilterND.hh \ AbsUnfoldND.hh \ amiseOptimalBandwidth.hh \ amiseOptimalBandwidth.icc \ ArchivedNtuple.hh \ ArchivedNtuple.icc \ ArrayProjectors.hh \ ArrayProjectors.icc \ arrayStats.hh \ arrayStats.icc \ AsinhTransform1D.hh \ BandwidthCVLeastSquares1D.hh \ BandwidthCVLeastSquares1D.icc \ BandwidthCVLeastSquaresND.hh \ BandwidthCVLeastSquaresND.icc \ BandwidthCVPseudoLogli1D.hh \ BandwidthCVPseudoLogli1D.icc \ BandwidthCVPseudoLogliND.hh \ BandwidthCVPseudoLogliND.icc \ BandwidthGCVLeastSquares1D.hh \ BandwidthGCVLeastSquares1D.icc \ BandwidthGCVLeastSquaresND.hh \ BandwidthGCVLeastSquaresND.icc \ BandwidthGCVPseudoLogli1D.hh \ BandwidthGCVPseudoLogli1D.icc \ BandwidthGCVPseudoLogliND.hh \ BandwidthGCVPseudoLogliND.icc \ BernsteinCopulaSmoother.hh \ BernsteinFilter1DBuilder.hh \ betaKernelsBandwidth.hh \ betaKernelsBandwidth.icc \ BetaFilter1DBuilder.hh \ BinnedADTest1D.hh \ BinnedKSTest1D.hh \ BinSummary.hh \ BinSummary.icc \ BoundaryHandling.hh \ BoundaryMethod.hh \ buildInterpolatedCompositeDistroND.hh \ buildInterpolatedCompositeDistroND.icc \ buildInterpolatedDistro1DNP.hh \ buildInterpolatedDistro1DNP.icc \ buildInterpolatedHelpers.hh \ CensoredQuantileRegression.hh \ CensoredQuantileRegression.icc \ CircularBuffer.hh \ CircularBuffer.icc \ Column.hh \ Column.icc \ CompositeDistribution1D.hh \ CompositeDistributionND.hh \ CompositeDistributionND.icc \ CompositeDistros1D.hh \ ConstantBandwidthSmoother1D.hh \ ConstantBandwidthSmootherND.hh \ ConstantBandwidthSmootherND.icc \ continuousDegreeTaper.hh \ convertAxis.hh \ CopulaInterpolationND.hh \ Copulas.hh \ CrossCovarianceAccumulator.hh \ CrossCovarianceAccumulator.icc \ CVCopulaSmoother.hh \ CVCopulaSmoother.icc \ + DeltaMixture1D.hh \ + DeltaMixture1D.icc \ DensityAveScanND.hh \ DensityScan1D.hh \ DensityScanND.hh \ DiscreteDistribution1DReader.hh \ DiscreteDistributions1D.hh \ discretizationErrorND.hh \ Distribution1DFactory.hh \ Distribution1DReader.hh \ DistributionTransform1DReader.hh \ DistributionMix1D.hh \ DistributionNDReader.hh \ Distributions1D.hh \ Distributions1D.icc \ DistributionsND.hh \ DistributionsND.icc \ distributionReadError.hh \ distro1DStats.hh \ DualHistoAxis.hh \ DummyCompositeDistroBuilder.hh \ DummyDistro1DBuilder.hh \ DummyResponseBoxBuilder.hh \ DummyResponseIntervalBuilder.hh \ EdgeworthSeries1D.hh \ EdgeworthSeriesMethod.hh \ empiricalCopula.hh \ empiricalCopulaHisto.hh \ empiricalCopulaHisto.icc \ empiricalCopula.icc \ fillHistoFromText.hh \ fillHistoFromText.icc \ Filter1DBuilders.hh \ FitUtils.hh \ FitUtils.icc \ GaussianMixture1D.hh \ gaussianResponseMatrix.hh \ GCVCopulaSmoother.hh \ GCVCopulaSmoother.icc \ griddedRobustRegression.hh \ griddedRobustRegression.icc \ GriddedRobustRegressionStop.hh \ GridInterpolatedDistribution.hh \ GridRandomizer.hh \ HistoAxis.hh \ HistoND.hh \ HistoND.icc \ HistoNDCdf.hh \ HistoNDFunctorInstances.hh \ histoStats.hh \ histoStats.icc \ histoUtils.hh \ histoUtils.icc \ IdentityTransform1D.hh \ InMemoryNtuple.hh \ InMemoryNtuple.icc \ InterpolatedDistribution1D.hh \ InterpolatedDistro1D1P.hh \ InterpolatedDistro1DNP.hh \ interpolateHistoND.hh \ interpolateHistoND.icc \ InterpolationFunctorInstances.hh \ JohnsonCurves.hh \ JohnsonKDESmoother.hh \ KDE1D.hh \ KDE1DCV.hh \ KDE1DHOSymbetaKernel.hh \ KDECopulaSmoother.hh \ KDECopulaSmoother.icc \ KDEGroupedCopulaSmoother.hh \ KDEGroupedCopulaSmoother.icc \ KDEFilterND.hh \ KDEFilterND.icc \ kendallsTau.hh \ kendallsTau.icc \ LeftCensoredDistribution.hh \ LocalLogisticRegression.hh \ LocalLogisticRegression.icc \ LocalMultiFilter1D.hh \ LocalMultiFilter1D.icc \ LocalPolyFilter1D.hh \ LocalPolyFilter1D.icc \ LocalPolyFilter1DReader.hh \ LocalPolyFilterND.hh \ LocalPolyFilterND.icc \ LocalQuadraticLeastSquaresND.hh \ LocalQuadraticLeastSquaresND.icc \ LocalQuantileRegression.hh \ LocalQuantileRegression.icc \ LocationScaleFamily1D.hh \ LocationScaleTransform1.hh \ LocationScaleTransform1.icc \ logLikelihoodPeak.hh \ LogRatioTransform1D.hh \ LogTransform1D.hh \ LOrPECopulaSmoother.hh \ LOrPECopulaSmoother.icc \ LOrPEGroupedCopulaSmoother.hh \ LOrPEGroupedCopulaSmoother.icc \ LOrPEMarginalSmoother.hh \ lorpeBackgroundCVDensity1D.hh \ lorpeBackgroundCVDensity1D.icc \ lorpeBackground1D.hh \ lorpeBackground1D.icc \ lorpeMise1D.hh \ lorpeSmooth1D.hh \ lorpeSmooth1D.icc \ MemoizingSymbetaFilterProvider.hh \ MemoizingSymbetaFilterProvider.icc \ mergeTwoHistos.hh \ mergeTwoHistos.icc \ mirrorWeight.hh \ MultiscaleEMUnfold1D.hh \ multinomialCovariance1D.hh \ MultivariateSumAccumulator.hh \ MultivariateSumsqAccumulator.hh \ MultivariateSumsqAccumulator.icc \ MultivariateWeightedSumAccumulator.hh \ MultivariateWeightedSumsqAccumulator.hh \ MultivariateWeightedSumsqAccumulator.icc \ neymanPearsonWindow1D.hh \ NMCombinationSequencer.hh \ NonparametricCompositeBuilder.hh \ NonparametricCompositeBuilder.icc \ NonparametricDistro1DBuilder.hh \ NonparametricDistro1DBuilder.icc \ NtHistoFill.hh \ NtNtupleFill.hh \ NtRectangularCut.hh \ NtRectangularCut.icc \ NtupleBuffer.hh \ NtupleBuffer.icc \ NtupleRecordTypes.hh \ NtupleRecordTypesFwd.hh \ NtupleReference.hh \ NUHistoAxis.hh \ OrderedPointND.hh \ OrderedPointND.icc \ orthoPoly1DVProducts.hh \ orthoPoly1DVProducts.icc \ OSDE1D.hh \ OSDE1D.icc \ PearsonsChiSquared.hh \ PolyFilterCollection1D.hh \ productResponseMatrix.hh \ productResponseMatrix.icc \ ProductSymmetricBetaNDCdf.hh \ QuadraticOrthoPolyND.hh \ QuadraticOrthoPolyND.icc \ QuantileRegression1D.hh \ QuantileRegression1D.icc \ QuantileTable1D.hh \ RatioOfNormals.hh \ RatioResponseBoxBuilder.hh \ RatioResponseBoxBuilder.icc \ RatioResponseIntervalBuilder.hh \ RatioResponseIntervalBuilder.icc \ ResponseMatrix.hh \ RightCensoredDistribution.hh \ SampleAccumulator.hh \ SampleAccumulator.icc \ SbMomentsCalculator.hh \ ScalableGaussND.hh \ scanDensityAsWeight.hh \ SequentialCopulaSmoother.hh \ SequentialGroupedCopulaSmoother.hh \ SequentialPolyFilterND.hh \ SequentialPolyFilterND.icc \ SinhAsinhTransform1D.hh \ SmoothedEMUnfold1D.hh \ SmoothedEMUnfoldND.hh \ spearmansRho.hh \ spearmansRho.icc \ StatAccumulator.hh \ StatAccumulatorArr.hh \ StatAccumulatorPair.hh \ statUncertainties.hh \ StatUtils.hh \ StatUtils.icc \ StorableHistoNDFunctor.hh \ StorableHistoNDFunctor.icc \ StorableInterpolationFunctor.hh \ StorableInterpolationFunctor.icc \ StorableMultivariateFunctor.hh \ StorableMultivariateFunctorReader.hh \ SymbetaParams1D.hh \ TransformedDistribution1D.hh \ TruncatedDistribution1D.hh \ TwoPointsLTSLoss.hh \ TwoPointsLTSLoss.icc \ UGaussConvolution1D.hh \ UnfoldingBandwidthScanner1D.hh \ UnfoldingBandwidthScannerND.hh \ UnfoldingFilterNDReader.hh \ UnitMapInterpolationND.hh \ variableBandwidthSmooth1D.hh \ variableBandwidthSmooth1D.icc \ VariableBandwidthSmoother1D.hh \ VerticallyInterpolatedDistribution1D.hh \ volumeDensityFromBinnedRadial.hh \ weightedCopulaHisto.hh \ weightedCopulaHisto.icc \ WeightedDistro1DPtr.hh \ WeightedLTSLoss.hh \ WeightedLTSLoss.icc \ WeightedSampleAccumulator.hh \ WeightedSampleAccumulator.icc \ WeightedStatAccumulator.hh \ WeightedStatAccumulatorPair.hh \ WeightTableFilter1DBuilder.hh EXTRA_DIST = 00README.txt npstat_doxy.hh Index: trunk/npstat/stat/Makefile =================================================================== --- trunk/npstat/stat/Makefile (revision 594) +++ trunk/npstat/stat/Makefile (revision 595) @@ -1,1171 +1,1175 @@ # Makefile.in generated by automake 1.15.1 from Makefile.am. # npstat/stat/Makefile. Generated from Makefile.in by configure. # Copyright (C) 1994-2017 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)/npstat pkgincludedir = $(includedir)/npstat pkglibdir = $(libdir)/npstat pkglibexecdir = $(libexecdir)/npstat 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-pc-linux-gnu host_triplet = x86_64-pc-linux-gnu subdir = npstat/stat ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.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_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libstat_la_LIBADD = am_libstat_la_OBJECTS = AbsDistribution1D.lo AbsUnfoldND.lo \ AbsDistributionND.lo amiseOptimalBandwidth.lo \ CompositeDistribution1D.lo CompositeDistributionND.lo \ CopulaInterpolationND.lo SymbetaParams1D.lo \ Distribution1DFactory.lo Distribution1DReader.lo \ DistributionNDReader.lo Distributions1D.lo DistributionsND.lo \ CrossCovarianceAccumulator.lo fitSbParameters.lo \ StatAccumulatorArr.lo HistoAxis.lo ResponseMatrix.lo \ InterpolatedDistribution1D.lo JohnsonCurves.lo \ JohnsonKDESmoother.lo LocalPolyFilter1D.lo \ logLikelihoodPeak.lo PolyFilterCollection1D.lo \ SbMomentsBigGamma.lo SbMomentsCalculator.lo \ gaussianResponseMatrix.lo SequentialCopulaSmoother.lo \ SequentialPolyFilterND.lo StatAccumulator.lo \ UnitMapInterpolationND.lo WeightedStatAccumulator.lo \ AbsNtuple.lo QuadraticOrthoPolyND.lo NMCombinationSequencer.lo \ Filter1DBuilders.lo StatAccumulatorPair.lo GridRandomizer.lo \ ConstantBandwidthSmoother1D.lo GaussianMixture1D.lo \ HistoNDCdf.lo scanDensityAsWeight.lo NUHistoAxis.lo \ distributionReadError.lo WeightedStatAccumulatorPair.lo \ AbsUnfold1D.lo ProductSymmetricBetaNDCdf.lo DualHistoAxis.lo \ multinomialCovariance1D.lo StorableMultivariateFunctor.lo \ StorableMultivariateFunctorReader.lo \ TruncatedDistribution1D.lo neymanPearsonWindow1D.lo \ AsinhTransform1D.lo LOrPEMarginalSmoother.lo \ LeftCensoredDistribution.lo QuantileTable1D.lo \ RightCensoredDistribution.lo AbsDiscreteDistribution1D.lo \ convertAxis.lo DiscreteDistribution1DReader.lo \ DiscreteDistributions1D.lo lorpeMise1D.lo \ BernsteinFilter1DBuilder.lo BetaFilter1DBuilder.lo \ AbsFilter1DBuilder.lo continuousDegreeTaper.lo \ RatioOfNormals.lo AbsCVCopulaSmoother.lo DensityScan1D.lo \ BoundaryHandling.lo SmoothedEMUnfold1D.lo Copulas.lo \ PearsonsChiSquared.lo BinnedKSTest1D.lo \ MultiscaleEMUnfold1D.lo AbsBinnedComparison1D.lo \ BinnedADTest1D.lo LocalPolyFilter1DReader.lo \ MemoizingSymbetaFilterProvider.lo UGaussConvolution1D.lo \ BinSummary.lo SmoothedEMUnfoldND.lo UnfoldingFilterNDReader.lo \ AbsUnfoldingFilterND.lo UnfoldingBandwidthScannerND.lo \ DistributionMix1D.lo ScalableGaussND.lo \ InterpolatedDistro1D1P.lo AbsDistributionTransform1D.lo \ LogTransform1D.lo DistributionTransform1DReader.lo \ TransformedDistribution1D.lo WeightTableFilter1DBuilder.lo \ VerticallyInterpolatedDistribution1D.lo LocalMultiFilter1D.lo \ LogRatioTransform1D.lo IdentityTransform1D.lo \ VariableBandwidthSmoother1D.lo AbsMarginalSmootherBase.lo \ OSDE1D.lo buildInterpolatedHelpers.lo \ GridInterpolatedDistribution.lo AbsCopulaSmootherBase.lo \ BernsteinCopulaSmoother.lo distro1DStats.lo \ SequentialGroupedCopulaSmoother.lo \ UnfoldingBandwidthScanner1D.lo InterpolatedDistro1DNP.lo \ volumeDensityFromBinnedRadial.lo statUncertainties.lo \ LocationScaleFamily1D.lo SinhAsinhTransform1D.lo \ AbsKDE1DKernel.lo KDE1DHOSymbetaKernel.lo \ - EdgeworthSeriesMethod.lo EdgeworthSeries1D.lo + EdgeworthSeriesMethod.lo EdgeworthSeries1D.lo \ + DeltaMixture1D.lo libstat_la_OBJECTS = $(am_libstat_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 = 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. depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_$(V)) am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_$(V)) am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(libstat_la_SOURCES) DIST_SOURCES = $(libstat_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac 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)$(includedir)" HEADERS = $(include_HEADERS) 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 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = ${SHELL} /home/igv/Hepforge/npstat/trunk/missing aclocal-1.15 AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AR = ar AUTOCONF = ${SHELL} /home/igv/Hepforge/npstat/trunk/missing autoconf AUTOHEADER = ${SHELL} /home/igv/Hepforge/npstat/trunk/missing autoheader AUTOMAKE = ${SHELL} /home/igv/Hepforge/npstat/trunk/missing automake-1.15 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -g -O2 CPP = gcc -E CPPFLAGS = CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -std=c++11 -O3 -Wall -W -Werror CYGPATH_W = echo DEFS = -DPACKAGE_NAME=\"npstat\" -DPACKAGE_TARNAME=\"npstat\" -DPACKAGE_VERSION=\"4.10.0\" -DPACKAGE_STRING=\"npstat\ 4.10.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"npstat\" -DVERSION=\"4.10.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" DEPDIR = .deps DEPS_CFLAGS = -I/usr/local/include DEPS_LIBS = -L/usr/local/lib -lfftw3 -lgeners -lkstest DLLTOOL = false DSYMUTIL = DUMPBIN = ECHO_C = ECHO_N = -n ECHO_T = EGREP = /bin/grep -E EXEEXT = F77 = g77 FFLAGS = -g -O2 FGREP = /bin/grep -F FLIBS = -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -lgfortran -lm -lquadmath GREP = /bin/grep INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s LD = /usr/bin/ld -m elf_x86_64 LDFLAGS = LIBOBJS = LIBS = LIBTOOL = $(SHELL) $(top_builddir)/libtool LIPO = LN_S = ln -s LTLIBOBJS = LT_SYS_LIBRARY_PATH = MAKEINFO = ${SHELL} /home/igv/Hepforge/npstat/trunk/missing makeinfo MANIFEST_TOOL = : MKDIR_P = /bin/mkdir -p NM = /usr/bin/nm -B NMEDIT = OBJDUMP = objdump OBJEXT = o OTOOL = OTOOL64 = PACKAGE = npstat PACKAGE_BUGREPORT = PACKAGE_NAME = npstat PACKAGE_STRING = npstat 4.10.0 PACKAGE_TARNAME = npstat PACKAGE_URL = PACKAGE_VERSION = 4.10.0 PATH_SEPARATOR = : PKG_CONFIG = /usr/bin/pkg-config PKG_CONFIG_LIBDIR = PKG_CONFIG_PATH = /usr/local/lib/pkgconfig RANLIB = ranlib SED = /bin/sed SET_MAKE = SHELL = /bin/bash STRIP = strip VERSION = 4.10.0 abs_builddir = /home/igv/Hepforge/npstat/trunk/npstat/stat abs_srcdir = /home/igv/Hepforge/npstat/trunk/npstat/stat abs_top_builddir = /home/igv/Hepforge/npstat/trunk abs_top_srcdir = /home/igv/Hepforge/npstat/trunk ac_ct_AR = ar ac_ct_CC = gcc ac_ct_CXX = g++ ac_ct_DUMPBIN = ac_ct_F77 = g77 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-pc-linux-gnu build_alias = build_cpu = x86_64 build_os = linux-gnu build_vendor = pc builddir = . datadir = ${datarootdir} datarootdir = ${prefix}/share docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} dvidir = ${docdir} exec_prefix = ${prefix} host = x86_64-pc-linux-gnu host_alias = host_cpu = x86_64 host_os = linux-gnu host_vendor = pc htmldir = ${docdir} includedir = ${prefix}/include/npstat/stat infodir = ${datarootdir}/info install_sh = ${SHELL} /home/igv/Hepforge/npstat/trunk/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 = /usr/local program_transform_name = s,x,x, psdir = ${docdir} runstatedir = ${localstatedir}/run sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../../ top_builddir = ../.. top_srcdir = ../.. AM_CPPFLAGS = -I../../ $(DEPS_CFLAGS) noinst_LTLIBRARIES = libstat.la libstat_la_SOURCES = AbsDistribution1D.cc AbsUnfoldND.cc \ AbsDistributionND.cc amiseOptimalBandwidth.cc CompositeDistribution1D.cc \ CompositeDistributionND.cc CopulaInterpolationND.cc SymbetaParams1D.cc \ Distribution1DFactory.cc Distribution1DReader.cc DistributionNDReader.cc \ Distributions1D.cc DistributionsND.cc CrossCovarianceAccumulator.cc \ fitSbParameters.cc StatAccumulatorArr.cc HistoAxis.cc ResponseMatrix.cc \ InterpolatedDistribution1D.cc JohnsonCurves.cc JohnsonKDESmoother.cc \ LocalPolyFilter1D.cc logLikelihoodPeak.cc PolyFilterCollection1D.cc \ SbMomentsBigGamma.cc SbMomentsCalculator.cc gaussianResponseMatrix.cc \ SequentialCopulaSmoother.cc SequentialPolyFilterND.cc StatAccumulator.cc \ UnitMapInterpolationND.cc WeightedStatAccumulator.cc AbsNtuple.cc \ QuadraticOrthoPolyND.cc NMCombinationSequencer.cc Filter1DBuilders.cc \ StatAccumulatorPair.cc GridRandomizer.cc ConstantBandwidthSmoother1D.cc \ GaussianMixture1D.cc HistoNDCdf.cc scanDensityAsWeight.cc NUHistoAxis.cc \ distributionReadError.cc WeightedStatAccumulatorPair.cc AbsUnfold1D.cc \ ProductSymmetricBetaNDCdf.cc DualHistoAxis.cc multinomialCovariance1D.cc \ StorableMultivariateFunctor.cc StorableMultivariateFunctorReader.cc \ TruncatedDistribution1D.cc neymanPearsonWindow1D.cc AsinhTransform1D.cc \ LOrPEMarginalSmoother.cc LeftCensoredDistribution.cc QuantileTable1D.cc \ RightCensoredDistribution.cc AbsDiscreteDistribution1D.cc convertAxis.cc \ DiscreteDistribution1DReader.cc DiscreteDistributions1D.cc lorpeMise1D.cc \ BernsteinFilter1DBuilder.cc BetaFilter1DBuilder.cc AbsFilter1DBuilder.cc \ continuousDegreeTaper.cc RatioOfNormals.cc AbsCVCopulaSmoother.cc \ DensityScan1D.cc BoundaryHandling.cc SmoothedEMUnfold1D.cc Copulas.cc \ PearsonsChiSquared.cc BinnedKSTest1D.cc MultiscaleEMUnfold1D.cc \ AbsBinnedComparison1D.cc BinnedADTest1D.cc LocalPolyFilter1DReader.cc \ MemoizingSymbetaFilterProvider.cc UGaussConvolution1D.cc BinSummary.cc \ SmoothedEMUnfoldND.cc UnfoldingFilterNDReader.cc AbsUnfoldingFilterND.cc \ UnfoldingBandwidthScannerND.cc DistributionMix1D.cc ScalableGaussND.cc \ InterpolatedDistro1D1P.cc AbsDistributionTransform1D.cc LogTransform1D.cc \ DistributionTransform1DReader.cc TransformedDistribution1D.cc \ WeightTableFilter1DBuilder.cc VerticallyInterpolatedDistribution1D.cc \ LocalMultiFilter1D.cc LogRatioTransform1D.cc IdentityTransform1D.cc \ VariableBandwidthSmoother1D.cc AbsMarginalSmootherBase.cc OSDE1D.cc \ buildInterpolatedHelpers.cc GridInterpolatedDistribution.cc \ AbsCopulaSmootherBase.cc BernsteinCopulaSmoother.cc distro1DStats.cc \ SequentialGroupedCopulaSmoother.cc UnfoldingBandwidthScanner1D.cc \ InterpolatedDistro1DNP.cc volumeDensityFromBinnedRadial.cc \ statUncertainties.cc LocationScaleFamily1D.cc SinhAsinhTransform1D.cc \ AbsKDE1DKernel.cc KDE1DHOSymbetaKernel.cc EdgeworthSeriesMethod.cc \ - EdgeworthSeries1D.cc + EdgeworthSeries1D.cc DeltaMixture1D.cc include_HEADERS = AbsBandwidthCV.hh \ AbsBandwidthGCV.hh \ AbsBinnedComparison1D.hh \ AbsBinnedComparison1D.icc \ AbsCompositeDistroBuilder.hh \ AbsCompositeDistroBuilder.icc \ AbsCopulaSmootherBase.hh \ AbsCopulaSmootherBase.icc \ AbsCVCopulaSmoother.hh \ AbsDiscreteDistribution1D.hh \ AbsDistribution1D.hh \ AbsDistributionND.hh \ AbsDistributionND.icc \ AbsDistributionTransform1D.hh \ AbsDistro1DBuilder.hh \ AbsDistro1DBuilder.icc \ AbsFilter1DBuilder.hh \ AbsGridInterpolatedDistribution.hh \ AbsInterpolatedDistribution1D.hh \ AbsInterpolationAlgoND.hh \ AbsKDE1DKernel.hh \ AbsKDE1DKernel.icc \ AbsLossCalculator.hh \ AbsMarginalSmootherBase.hh \ AbsMarginalSmootherBase.icc \ AbsNtuple.hh \ AbsNtuple.icc \ AbsPolyFilter1D.hh \ AbsPolyFilterND.hh \ AbsResponseBoxBuilder.hh \ AbsResponseIntervalBuilder.hh \ AbsSymbetaFilterProvider.hh \ AbsUnfold1D.hh \ AbsUnfoldingFilterND.hh \ AbsUnfoldND.hh \ amiseOptimalBandwidth.hh \ amiseOptimalBandwidth.icc \ ArchivedNtuple.hh \ ArchivedNtuple.icc \ ArrayProjectors.hh \ ArrayProjectors.icc \ arrayStats.hh \ arrayStats.icc \ AsinhTransform1D.hh \ BandwidthCVLeastSquares1D.hh \ BandwidthCVLeastSquares1D.icc \ BandwidthCVLeastSquaresND.hh \ BandwidthCVLeastSquaresND.icc \ BandwidthCVPseudoLogli1D.hh \ BandwidthCVPseudoLogli1D.icc \ BandwidthCVPseudoLogliND.hh \ BandwidthCVPseudoLogliND.icc \ BandwidthGCVLeastSquares1D.hh \ BandwidthGCVLeastSquares1D.icc \ BandwidthGCVLeastSquaresND.hh \ BandwidthGCVLeastSquaresND.icc \ BandwidthGCVPseudoLogli1D.hh \ BandwidthGCVPseudoLogli1D.icc \ BandwidthGCVPseudoLogliND.hh \ BandwidthGCVPseudoLogliND.icc \ BernsteinCopulaSmoother.hh \ BernsteinFilter1DBuilder.hh \ betaKernelsBandwidth.hh \ betaKernelsBandwidth.icc \ BetaFilter1DBuilder.hh \ BinnedADTest1D.hh \ BinnedKSTest1D.hh \ BinSummary.hh \ BinSummary.icc \ BoundaryHandling.hh \ BoundaryMethod.hh \ buildInterpolatedCompositeDistroND.hh \ buildInterpolatedCompositeDistroND.icc \ buildInterpolatedDistro1DNP.hh \ buildInterpolatedDistro1DNP.icc \ buildInterpolatedHelpers.hh \ CensoredQuantileRegression.hh \ CensoredQuantileRegression.icc \ CircularBuffer.hh \ CircularBuffer.icc \ Column.hh \ Column.icc \ CompositeDistribution1D.hh \ CompositeDistributionND.hh \ CompositeDistributionND.icc \ CompositeDistros1D.hh \ ConstantBandwidthSmoother1D.hh \ ConstantBandwidthSmootherND.hh \ ConstantBandwidthSmootherND.icc \ continuousDegreeTaper.hh \ convertAxis.hh \ CopulaInterpolationND.hh \ Copulas.hh \ CrossCovarianceAccumulator.hh \ CrossCovarianceAccumulator.icc \ CVCopulaSmoother.hh \ CVCopulaSmoother.icc \ + DeltaMixture1D.hh \ + DeltaMixture1D.icc \ DensityAveScanND.hh \ DensityScan1D.hh \ DensityScanND.hh \ DiscreteDistribution1DReader.hh \ DiscreteDistributions1D.hh \ discretizationErrorND.hh \ Distribution1DFactory.hh \ Distribution1DReader.hh \ DistributionTransform1DReader.hh \ DistributionMix1D.hh \ DistributionNDReader.hh \ Distributions1D.hh \ Distributions1D.icc \ DistributionsND.hh \ DistributionsND.icc \ distributionReadError.hh \ distro1DStats.hh \ DualHistoAxis.hh \ DummyCompositeDistroBuilder.hh \ DummyDistro1DBuilder.hh \ DummyResponseBoxBuilder.hh \ DummyResponseIntervalBuilder.hh \ EdgeworthSeries1D.hh \ EdgeworthSeriesMethod.hh \ empiricalCopula.hh \ empiricalCopulaHisto.hh \ empiricalCopulaHisto.icc \ empiricalCopula.icc \ fillHistoFromText.hh \ fillHistoFromText.icc \ Filter1DBuilders.hh \ FitUtils.hh \ FitUtils.icc \ GaussianMixture1D.hh \ gaussianResponseMatrix.hh \ GCVCopulaSmoother.hh \ GCVCopulaSmoother.icc \ griddedRobustRegression.hh \ griddedRobustRegression.icc \ GriddedRobustRegressionStop.hh \ GridInterpolatedDistribution.hh \ GridRandomizer.hh \ HistoAxis.hh \ HistoND.hh \ HistoND.icc \ HistoNDCdf.hh \ HistoNDFunctorInstances.hh \ histoStats.hh \ histoStats.icc \ histoUtils.hh \ histoUtils.icc \ IdentityTransform1D.hh \ InMemoryNtuple.hh \ InMemoryNtuple.icc \ InterpolatedDistribution1D.hh \ InterpolatedDistro1D1P.hh \ InterpolatedDistro1DNP.hh \ interpolateHistoND.hh \ interpolateHistoND.icc \ InterpolationFunctorInstances.hh \ JohnsonCurves.hh \ JohnsonKDESmoother.hh \ KDE1D.hh \ KDE1DCV.hh \ KDE1DHOSymbetaKernel.hh \ KDECopulaSmoother.hh \ KDECopulaSmoother.icc \ KDEGroupedCopulaSmoother.hh \ KDEGroupedCopulaSmoother.icc \ KDEFilterND.hh \ KDEFilterND.icc \ kendallsTau.hh \ kendallsTau.icc \ LeftCensoredDistribution.hh \ LocalLogisticRegression.hh \ LocalLogisticRegression.icc \ LocalMultiFilter1D.hh \ LocalMultiFilter1D.icc \ LocalPolyFilter1D.hh \ LocalPolyFilter1D.icc \ LocalPolyFilter1DReader.hh \ LocalPolyFilterND.hh \ LocalPolyFilterND.icc \ LocalQuadraticLeastSquaresND.hh \ LocalQuadraticLeastSquaresND.icc \ LocalQuantileRegression.hh \ LocalQuantileRegression.icc \ LocationScaleFamily1D.hh \ LocationScaleTransform1.hh \ LocationScaleTransform1.icc \ logLikelihoodPeak.hh \ LogRatioTransform1D.hh \ LogTransform1D.hh \ LOrPECopulaSmoother.hh \ LOrPECopulaSmoother.icc \ LOrPEGroupedCopulaSmoother.hh \ LOrPEGroupedCopulaSmoother.icc \ LOrPEMarginalSmoother.hh \ lorpeBackgroundCVDensity1D.hh \ lorpeBackgroundCVDensity1D.icc \ lorpeBackground1D.hh \ lorpeBackground1D.icc \ lorpeMise1D.hh \ lorpeSmooth1D.hh \ lorpeSmooth1D.icc \ MemoizingSymbetaFilterProvider.hh \ MemoizingSymbetaFilterProvider.icc \ mergeTwoHistos.hh \ mergeTwoHistos.icc \ mirrorWeight.hh \ MultiscaleEMUnfold1D.hh \ multinomialCovariance1D.hh \ MultivariateSumAccumulator.hh \ MultivariateSumsqAccumulator.hh \ MultivariateSumsqAccumulator.icc \ MultivariateWeightedSumAccumulator.hh \ MultivariateWeightedSumsqAccumulator.hh \ MultivariateWeightedSumsqAccumulator.icc \ neymanPearsonWindow1D.hh \ NMCombinationSequencer.hh \ NonparametricCompositeBuilder.hh \ NonparametricCompositeBuilder.icc \ NonparametricDistro1DBuilder.hh \ NonparametricDistro1DBuilder.icc \ NtHistoFill.hh \ NtNtupleFill.hh \ NtRectangularCut.hh \ NtRectangularCut.icc \ NtupleBuffer.hh \ NtupleBuffer.icc \ NtupleRecordTypes.hh \ NtupleRecordTypesFwd.hh \ NtupleReference.hh \ NUHistoAxis.hh \ OrderedPointND.hh \ OrderedPointND.icc \ orthoPoly1DVProducts.hh \ orthoPoly1DVProducts.icc \ OSDE1D.hh \ OSDE1D.icc \ PearsonsChiSquared.hh \ PolyFilterCollection1D.hh \ productResponseMatrix.hh \ productResponseMatrix.icc \ ProductSymmetricBetaNDCdf.hh \ QuadraticOrthoPolyND.hh \ QuadraticOrthoPolyND.icc \ QuantileRegression1D.hh \ QuantileRegression1D.icc \ QuantileTable1D.hh \ RatioOfNormals.hh \ RatioResponseBoxBuilder.hh \ RatioResponseBoxBuilder.icc \ RatioResponseIntervalBuilder.hh \ RatioResponseIntervalBuilder.icc \ ResponseMatrix.hh \ RightCensoredDistribution.hh \ SampleAccumulator.hh \ SampleAccumulator.icc \ SbMomentsCalculator.hh \ ScalableGaussND.hh \ scanDensityAsWeight.hh \ SequentialCopulaSmoother.hh \ SequentialGroupedCopulaSmoother.hh \ SequentialPolyFilterND.hh \ SequentialPolyFilterND.icc \ SinhAsinhTransform1D.hh \ SmoothedEMUnfold1D.hh \ SmoothedEMUnfoldND.hh \ spearmansRho.hh \ spearmansRho.icc \ StatAccumulator.hh \ StatAccumulatorArr.hh \ StatAccumulatorPair.hh \ statUncertainties.hh \ StatUtils.hh \ StatUtils.icc \ StorableHistoNDFunctor.hh \ StorableHistoNDFunctor.icc \ StorableInterpolationFunctor.hh \ StorableInterpolationFunctor.icc \ StorableMultivariateFunctor.hh \ StorableMultivariateFunctorReader.hh \ SymbetaParams1D.hh \ TransformedDistribution1D.hh \ TruncatedDistribution1D.hh \ TwoPointsLTSLoss.hh \ TwoPointsLTSLoss.icc \ UGaussConvolution1D.hh \ UnfoldingBandwidthScanner1D.hh \ UnfoldingBandwidthScannerND.hh \ UnfoldingFilterNDReader.hh \ UnitMapInterpolationND.hh \ variableBandwidthSmooth1D.hh \ variableBandwidthSmooth1D.icc \ VariableBandwidthSmoother1D.hh \ VerticallyInterpolatedDistribution1D.hh \ volumeDensityFromBinnedRadial.hh \ weightedCopulaHisto.hh \ weightedCopulaHisto.icc \ WeightedDistro1DPtr.hh \ WeightedLTSLoss.hh \ WeightedLTSLoss.icc \ WeightedSampleAccumulator.hh \ WeightedSampleAccumulator.icc \ WeightedStatAccumulator.hh \ WeightedStatAccumulatorPair.hh \ WeightTableFilter1DBuilder.hh EXTRA_DIST = 00README.txt npstat_doxy.hh all: all-am .SUFFIXES: .SUFFIXES: .cc .lo .o .obj $(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) --foreign npstat/stat/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign npstat/stat/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__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 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): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_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}; \ } libstat.la: $(libstat_la_OBJECTS) $(libstat_la_DEPENDENCIES) $(EXTRA_libstat_la_DEPENDENCIES) $(AM_V_CXXLD)$(CXXLINK) $(libstat_la_OBJECTS) $(libstat_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c include ./$(DEPDIR)/AbsBinnedComparison1D.Plo include ./$(DEPDIR)/AbsCVCopulaSmoother.Plo include ./$(DEPDIR)/AbsCopulaSmootherBase.Plo include ./$(DEPDIR)/AbsDiscreteDistribution1D.Plo include ./$(DEPDIR)/AbsDistribution1D.Plo include ./$(DEPDIR)/AbsDistributionND.Plo include ./$(DEPDIR)/AbsDistributionTransform1D.Plo include ./$(DEPDIR)/AbsFilter1DBuilder.Plo include ./$(DEPDIR)/AbsKDE1DKernel.Plo include ./$(DEPDIR)/AbsMarginalSmootherBase.Plo include ./$(DEPDIR)/AbsNtuple.Plo include ./$(DEPDIR)/AbsUnfold1D.Plo include ./$(DEPDIR)/AbsUnfoldND.Plo include ./$(DEPDIR)/AbsUnfoldingFilterND.Plo include ./$(DEPDIR)/AsinhTransform1D.Plo include ./$(DEPDIR)/BernsteinCopulaSmoother.Plo include ./$(DEPDIR)/BernsteinFilter1DBuilder.Plo include ./$(DEPDIR)/BetaFilter1DBuilder.Plo include ./$(DEPDIR)/BinSummary.Plo include ./$(DEPDIR)/BinnedADTest1D.Plo include ./$(DEPDIR)/BinnedKSTest1D.Plo include ./$(DEPDIR)/BoundaryHandling.Plo include ./$(DEPDIR)/CompositeDistribution1D.Plo include ./$(DEPDIR)/CompositeDistributionND.Plo include ./$(DEPDIR)/ConstantBandwidthSmoother1D.Plo include ./$(DEPDIR)/CopulaInterpolationND.Plo include ./$(DEPDIR)/Copulas.Plo include ./$(DEPDIR)/CrossCovarianceAccumulator.Plo +include ./$(DEPDIR)/DeltaMixture1D.Plo include ./$(DEPDIR)/DensityScan1D.Plo include ./$(DEPDIR)/DiscreteDistribution1DReader.Plo include ./$(DEPDIR)/DiscreteDistributions1D.Plo include ./$(DEPDIR)/Distribution1DFactory.Plo include ./$(DEPDIR)/Distribution1DReader.Plo include ./$(DEPDIR)/DistributionMix1D.Plo include ./$(DEPDIR)/DistributionNDReader.Plo include ./$(DEPDIR)/DistributionTransform1DReader.Plo include ./$(DEPDIR)/Distributions1D.Plo include ./$(DEPDIR)/DistributionsND.Plo include ./$(DEPDIR)/DualHistoAxis.Plo include ./$(DEPDIR)/EdgeworthSeries1D.Plo include ./$(DEPDIR)/EdgeworthSeriesMethod.Plo include ./$(DEPDIR)/Filter1DBuilders.Plo include ./$(DEPDIR)/GaussianMixture1D.Plo include ./$(DEPDIR)/GridInterpolatedDistribution.Plo include ./$(DEPDIR)/GridRandomizer.Plo include ./$(DEPDIR)/HistoAxis.Plo include ./$(DEPDIR)/HistoNDCdf.Plo include ./$(DEPDIR)/IdentityTransform1D.Plo include ./$(DEPDIR)/InterpolatedDistribution1D.Plo include ./$(DEPDIR)/InterpolatedDistro1D1P.Plo include ./$(DEPDIR)/InterpolatedDistro1DNP.Plo include ./$(DEPDIR)/JohnsonCurves.Plo include ./$(DEPDIR)/JohnsonKDESmoother.Plo include ./$(DEPDIR)/KDE1DHOSymbetaKernel.Plo include ./$(DEPDIR)/LOrPEMarginalSmoother.Plo include ./$(DEPDIR)/LeftCensoredDistribution.Plo include ./$(DEPDIR)/LocalMultiFilter1D.Plo include ./$(DEPDIR)/LocalPolyFilter1D.Plo include ./$(DEPDIR)/LocalPolyFilter1DReader.Plo include ./$(DEPDIR)/LocationScaleFamily1D.Plo include ./$(DEPDIR)/LogRatioTransform1D.Plo include ./$(DEPDIR)/LogTransform1D.Plo include ./$(DEPDIR)/MemoizingSymbetaFilterProvider.Plo include ./$(DEPDIR)/MultiscaleEMUnfold1D.Plo include ./$(DEPDIR)/NMCombinationSequencer.Plo include ./$(DEPDIR)/NUHistoAxis.Plo include ./$(DEPDIR)/OSDE1D.Plo include ./$(DEPDIR)/PearsonsChiSquared.Plo include ./$(DEPDIR)/PolyFilterCollection1D.Plo include ./$(DEPDIR)/ProductSymmetricBetaNDCdf.Plo include ./$(DEPDIR)/QuadraticOrthoPolyND.Plo include ./$(DEPDIR)/QuantileTable1D.Plo include ./$(DEPDIR)/RatioOfNormals.Plo include ./$(DEPDIR)/ResponseMatrix.Plo include ./$(DEPDIR)/RightCensoredDistribution.Plo include ./$(DEPDIR)/SbMomentsBigGamma.Plo include ./$(DEPDIR)/SbMomentsCalculator.Plo include ./$(DEPDIR)/ScalableGaussND.Plo include ./$(DEPDIR)/SequentialCopulaSmoother.Plo include ./$(DEPDIR)/SequentialGroupedCopulaSmoother.Plo include ./$(DEPDIR)/SequentialPolyFilterND.Plo include ./$(DEPDIR)/SinhAsinhTransform1D.Plo include ./$(DEPDIR)/SmoothedEMUnfold1D.Plo include ./$(DEPDIR)/SmoothedEMUnfoldND.Plo include ./$(DEPDIR)/StatAccumulator.Plo include ./$(DEPDIR)/StatAccumulatorArr.Plo include ./$(DEPDIR)/StatAccumulatorPair.Plo include ./$(DEPDIR)/StorableMultivariateFunctor.Plo include ./$(DEPDIR)/StorableMultivariateFunctorReader.Plo include ./$(DEPDIR)/SymbetaParams1D.Plo include ./$(DEPDIR)/TransformedDistribution1D.Plo include ./$(DEPDIR)/TruncatedDistribution1D.Plo include ./$(DEPDIR)/UGaussConvolution1D.Plo include ./$(DEPDIR)/UnfoldingBandwidthScanner1D.Plo include ./$(DEPDIR)/UnfoldingBandwidthScannerND.Plo include ./$(DEPDIR)/UnfoldingFilterNDReader.Plo include ./$(DEPDIR)/UnitMapInterpolationND.Plo include ./$(DEPDIR)/VariableBandwidthSmoother1D.Plo include ./$(DEPDIR)/VerticallyInterpolatedDistribution1D.Plo include ./$(DEPDIR)/WeightTableFilter1DBuilder.Plo include ./$(DEPDIR)/WeightedStatAccumulator.Plo include ./$(DEPDIR)/WeightedStatAccumulatorPair.Plo include ./$(DEPDIR)/amiseOptimalBandwidth.Plo include ./$(DEPDIR)/buildInterpolatedHelpers.Plo include ./$(DEPDIR)/continuousDegreeTaper.Plo include ./$(DEPDIR)/convertAxis.Plo include ./$(DEPDIR)/distributionReadError.Plo include ./$(DEPDIR)/distro1DStats.Plo include ./$(DEPDIR)/fitSbParameters.Plo include ./$(DEPDIR)/gaussianResponseMatrix.Plo include ./$(DEPDIR)/logLikelihoodPeak.Plo include ./$(DEPDIR)/lorpeMise1D.Plo include ./$(DEPDIR)/multinomialCovariance1D.Plo include ./$(DEPDIR)/neymanPearsonWindow1D.Plo include ./$(DEPDIR)/scanDensityAsWeight.Plo include ./$(DEPDIR)/statUncertainties.Plo include ./$(DEPDIR)/volumeDensityFromBinnedRadial.Plo .cc.o: $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po # $(AM_V_CXX)source='$<' object='$@' libtool=no \ # DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ # $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< .cc.obj: $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po # $(AM_V_CXX)source='$<' object='$@' libtool=no \ # DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ # $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.lo: $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo # $(AM_V_CXX)source='$<' object='$@' libtool=yes \ # DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ # $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs 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) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(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-am 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-am 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: $(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 check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am 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: 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-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-includeHEADERS install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-includeHEADERS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES 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-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs 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 .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: Index: trunk/npstat/stat/Distribution1DFactory.cc =================================================================== --- trunk/npstat/stat/Distribution1DFactory.cc (revision 594) +++ trunk/npstat/stat/Distribution1DFactory.cc (revision 595) @@ -1,66 +1,68 @@ #include "npstat/stat/Distribution1DFactory.hh" #include "npstat/stat/Distributions1D.hh" #include "npstat/stat/JohnsonCurves.hh" #include "npstat/stat/GaussianMixture1D.hh" #include "npstat/stat/QuantileTable1D.hh" #include "npstat/stat/UGaussConvolution1D.hh" +#include "npstat/stat/DeltaMixture1D.hh" namespace npstat { DefaultScalableDistribution1DFactory:: DefaultScalableDistribution1DFactory() { (*this)["Uniform1D"] = new ScalableDistribution1DFactory(); (*this)["Gauss1D"] = new ScalableDistribution1DFactory(); (*this)["BifurcatedGauss1D"] = new ScalableDistribution1DFactory(); (*this)["TruncatedGauss1D"] = new ScalableDistribution1DFactory(); (*this)["SymmetricBeta1D"] = new ScalableDistribution1DFactory(); (*this)["Beta1D"] = new ScalableDistribution1DFactory(); (*this)["Gamma1D"] = new ScalableDistribution1DFactory(); (*this)["Pareto1D"] = new ScalableDistribution1DFactory(); (*this)["UniPareto1D"] = new ScalableDistribution1DFactory(); (*this)["Huber1D"] = new ScalableDistribution1DFactory(); (*this)["Cauchy1D"] = new ScalableDistribution1DFactory(); (*this)["LogNormal"] = new ScalableDistribution1DFactory(); (*this)["BinnedDensity1D"] = new ScalableDistribution1DFactory(); (*this)["Tabulated1D"] = new ScalableDistribution1DFactory(); (*this)["JohnsonSu"] = new ScalableDistribution1DFactory(); (*this)["JohnsonSb"] = new ScalableDistribution1DFactory(); (*this)["JohnsonSystem"] = new ScalableDistribution1DFactory(); (*this)["Quadratic1D"] = new ScalableDistribution1DFactory(); (*this)["LogQuadratic1D"] = new ScalableDistribution1DFactory(); (*this)["StudentsT1D"] = new ScalableDistribution1DFactory(); (*this)["GaussianMixture1D"] = new ScalableDistribution1DFactory(); (*this)["Exponential1D"] = new ScalableDistribution1DFactory(); (*this)["QuantileTable1D"] = new ScalableDistribution1DFactory(); (*this)["UGaussConvolution1D"] = new ScalableDistribution1DFactory(); (*this)["Moyal1D"] = new ScalableDistribution1DFactory(); (*this)["MirroredGauss1D"] = new ScalableDistribution1DFactory(); (*this)["IsoscelesTriangle1D"] = new ScalableDistribution1DFactory(); (*this)["Logistic1D"] = new ScalableDistribution1DFactory(); + (*this)["DeltaMixture1D"] = new ScalableDistribution1DFactory(); } DefaultScalableDistribution1DFactory:: ~DefaultScalableDistribution1DFactory() { for (std::map:: iterator it = begin(); it != end(); ++it) delete it->second; } } Index: trunk/npstat/stat/DeltaMixture1D.cc =================================================================== --- trunk/npstat/stat/DeltaMixture1D.cc (revision 0) +++ trunk/npstat/stat/DeltaMixture1D.cc (revision 595) @@ -0,0 +1,241 @@ +#include + +#include "geners/binaryIO.hh" + +#include "npstat/stat/DeltaMixture1D.hh" +#include "npstat/stat/distributionReadError.hh" + +namespace npstat { + bool DeltaMixture1D::isEqual(const AbsDistribution1D& o) const + { + const DeltaMixture1D& r = static_cast(o); + return AbsScalableDistribution1D::isEqual(r) && + locations_ == r.locations_ && weights_ == r.weights_; + } + + void DeltaMixture1D::buildCdfTable() + { + const unsigned len = locations_.size(); + assert(len); + assert(len == weights_.size()); + + cdf_.clear(); + cdf_.reserve(len); + long double sum = 0.0L; + for (unsigned i=0; i 0.0); + for (unsigned i=0; i=0L; --i) + { + sum += weights_[i]; + exceedance_[i] = sum; + } + dsum = sum; + for (unsigned i=0; i()); + current.ensureSameId(id); + + double location, scale; + if (AbsScalableDistribution1D::read(in, &location, &scale)) + { + std::vector coords, weights; + gs::read_pod_vector(in, &coords); + gs::read_pod_vector(in, &weights); + const unsigned len = coords.size(); + if (!in.fail() && len && len == weights.size()) + return new DeltaMixture1D(location, scale, &coords[0], &weights[0], len); + } + distributionReadError(in, classname()); + return 0; + } + + DeltaMixture1D::DeltaMixture1D(const double location, const double scale, + const std::vector& params) + : AbsScalableDistribution1D(location, scale) + { + const unsigned nParams = params.size(); + if (!nParams) throw std::invalid_argument( + "In npstat::DeltaMixture1D constructor: " + "must have a positive number of parameters"); + if (nParams % 2) throw std::invalid_argument( + "In npstat::DeltaMixture1D constructor: " + "must have an even number of parameters"); + const unsigned half = nParams/2; + initialize(¶ms[0], ¶ms[half], half); + } + + double DeltaMixture1D::unscaledCdf(const double x) const + { + const unsigned ind = std::upper_bound(locations_.begin(), locations_.end(), x) - + locations_.begin(); + if (ind) + return cdf_[ind-1U]; + else + return 0.0; + } + + double DeltaMixture1D::unscaledExceedance(const double x) const + { + // Sum of cdf and exceedance should be 1 + const unsigned ind = std::upper_bound(locations_.begin(), locations_.end(), x) - + locations_.begin(); + if (ind == exceedance_.size()) + return 0.0; + else + return exceedance_[ind]; + } + + double DeltaMixture1D::unscaledQuantile(const double r1) const + { + if (!(r1 >= 0.0 && r1 <= 1.0)) throw std::domain_error( + "In npstat::DeltaMixture1D::unscaledQuantile: " + "cdf argument outside of [0, 1] interval"); + if (r1 == 0.0) + // It is not clear what to do here, as the inverse cdf + // function is multivalued + return locations_[0]; + else if (r1 == 1.0) + return locations_.back(); + else + { + const unsigned ind = std::lower_bound(cdf_.begin(), cdf_.end(), r1) - + cdf_.begin(); + return locations_.at(ind); + } + } + + double DeltaMixture1D::weightSum(const unsigned imin, const unsigned imax) const + { + long double sum = 0.0L; + const unsigned sz = weights_.size(); + const unsigned upper = std::min(imax, sz); + if (imin < upper) + { + const double* w = &weights_[imin]; + for (unsigned i=imin; iscale(); + const double mu = this->location(); + const double a = (a0 - mu)/s; + const double b = (b0 - mu)/s; + const unsigned sz = locations_.size(); + + *imin = std::lower_bound(locations_.begin(), locations_.end(), a) - + locations_.begin(); + *imax = std::lower_bound(locations_.begin(), locations_.end(), b) - + locations_.begin(); + if (!includeLeftBoundary) + if (*imin < sz) + if (locations_[*imin] == a) + ++*imin; + if (includeRightBoundary) + if (*imax < sz) + if (locations_[*imax] == b) + ++*imax; + } + + double DeltaMixture1D::integral(const double a, const bool includePointAtA, + const double b, const bool includePointAtB) const + { + if (a > b) + return -integral(b, includePointAtB, a, includePointAtA); + unsigned imin, imax; + determineRange(a, includePointAtA, b, includePointAtB, &imin, &imax); + return weightSum(imin, imax); + } + + long double DeltaMixture1D::moment(const long double center, + const unsigned order) const + { + if (order == 0U) + return 1.0L; + + const double s = this->scale(); + const double mu = this->location(); + const unsigned sz = locations_.size(); + assert(sz == weights_.size()); + long double sum = 0.0L; + for (unsigned i=0; i 1U) + sum += weights_[i]*powl(delta, order); + else + sum += weights_[i]*delta; + } + return sum; + } + + void DeltaMixture1D::moments(const long double center, const unsigned maxOrder, + long double* o_moments) const + { + assert(o_moments); + o_moments[0] = 1.0L; + for (unsigned i=1; i<=maxOrder; ++i) + o_moments[i] = 0.0L; + if (maxOrder) + { + const double s = this->scale(); + const double mu = this->location(); + const unsigned sz = locations_.size(); + assert(sz == weights_.size()); + + for (unsigned i=0; i 1U) + moments(mean, maxOrder, o_moments); + o_moments[1] = mean; + } + } +} Index: trunk/npstat/stat/DiscreteDistributions1D.cc =================================================================== --- trunk/npstat/stat/DiscreteDistributions1D.cc (revision 594) +++ trunk/npstat/stat/DiscreteDistributions1D.cc (revision 595) @@ -1,410 +1,407 @@ #include #include #include #include #include #include "geners/binaryIO.hh" #include "npstat/rng/permutation.hh" #include "npstat/stat/DiscreteDistributions1D.hh" #include "npstat/stat/Distributions1D.hh" #include "npstat/stat/distributionReadError.hh" #define POISSON_MAXLAMBDA 1.0e6 static long doubleToLong(const double d) { const double f = floor(d); if (f >= static_cast(LONG_MAX)) return LONG_MAX; else if (f <= static_cast(LONG_MIN)) return LONG_MIN; else return static_cast(f); } namespace npstat { Poisson1D::Poisson1D(const double lam) : lambda_(lam), table_(0), minUse_(0), lnlambda_(0.0L) { if (lambda_ < 0.0) throw std::invalid_argument("In npstat::Poisson1D constructor: " "lambda can not be negative"); if (lambda_ > 0.0) lnlambda_ = logl(lambda_); } void Poisson1D::buildTable() { assert(table_ == 0); assert(lambda_ > 0.0); assert(lambda_ < POISSON_MAXLAMBDA); const long l = static_cast(floor(lambda_)); long step = static_cast(floor(sqrt(lambda_))); if (step < 1L) step = 1L; long tableZero = l; for (; ; tableZero+=step) { const double p = probability(tableZero); if (p <= DBL_MIN) break; } for (; ; --tableZero) { const double p = probability(tableZero); if (p > DBL_MIN) break; } for (minUse_ = l; ; minUse_-=step) { const double p = probability(minUse_); if (p <= DBL_MIN) break; } if (minUse_ < 0L) minUse_ = 0L; for (; ; ++minUse_) { const double p = probability(tableZero); if (p > DBL_MIN) break; } const long tableLen = tableZero - minUse_ + 1L; assert(tableLen > 0L); std::vector probs(tableLen); for (long i=0; iclone(); } Poisson1D& Poisson1D::operator=(const Poisson1D& r) { if (this != &r) { DiscreteTabulated1D* newtable = 0; if (r.table_) newtable = r.table_->clone(); AbsDiscreteDistribution1D::operator=(r); lambda_ = r.lambda_; lnlambda_ = r.lnlambda_; minUse_ = r.minUse_; delete table_; table_ = newtable; } return *this; } double Poisson1D::probability(long x) const { if (x < 0L) return 0.0; else if (lambda_ == 0.0) { if (x == 0L) return 1.0; else return 0.0; } else if (lambda_ >= POISSON_MAXLAMBDA) { Gauss1D g(lambda_, sqrt(lambda_)); return g.density(x); } else { const long double lg = x*lnlambda_ - logfactorial(x) - lambda_; return expl(lg); } } double Poisson1D::cdf(double x) const { if (x < 0.0) return 0.0; else if (lambda_ == 0.0) { if (x < 0.0) return 0.0; else return 1.0; } else if (lambda_ >= POISSON_MAXLAMBDA) { Gauss1D g(lambda_, sqrt(lambda_)); return g.cdf(x); } else { if (table_ == 0) (const_cast(this))->buildTable(); return table_->cdf(x); } } double Poisson1D::exceedance(double x) const { if (x < 0.0) return 1.0; else if (lambda_ == 0.0) { if (x < 0.0) return 1.0; else return 0.0; } else if (lambda_ >= POISSON_MAXLAMBDA) { Gauss1D g(lambda_, sqrt(lambda_)); return g.exceedance(x); } else { if (table_ == 0) (const_cast(this))->buildTable(); return table_->exceedance(x); } } long Poisson1D::quantile(const double r1) const { if (!(r1 >= 0.0 && r1 <= 1.0)) throw std::domain_error( "In npstat::Poisson1D::quantile: " "cdf argument outside of [0, 1] interval"); if (lambda_ == 0.0) return 0L; else if (lambda_ >= POISSON_MAXLAMBDA) { Gauss1D g(lambda_, sqrt(lambda_)); long l = static_cast(round(g.quantile(r1))); if (l < 0L) l = 0L; return l; } else { if (table_ == 0) (const_cast(this))->buildTable(); return table_->quantile(r1); } } unsigned Poisson1D::random(AbsRandomGenerator& g, long* generatedRandom) const { assert(generatedRandom); if (lambda_ == 0.0) { *generatedRandom = 0L; return 0U; } else if (lambda_ >= POISSON_MAXLAMBDA) { Gauss1D ga(lambda_, sqrt(lambda_)); double d; const unsigned nUsed = ga.random(g, &d); *generatedRandom = static_cast(round(d)); if (*generatedRandom < 0L) *generatedRandom = 0L; return nUsed; } else { if (table_ == 0) (const_cast(this))->buildTable(); *generatedRandom = table_->quantile(g()); return 1U; } } bool Poisson1D::write(std::ostream& os) const { gs::write_pod(os, lambda_); return !os.fail(); } Poisson1D* Poisson1D::read(const gs::ClassId& id, std::istream& in) { static const gs::ClassId current(gs::ClassId::makeId()); current.ensureSameId(id); double d(-1.0); gs::read_pod(in, &d); if (in.fail() || d < 0.0) distributionReadError(in, classname()); return new Poisson1D(d); } bool DiscreteTabulated1D::isEqual(const AbsDiscreteDistribution1D& o) const { const DiscreteTabulated1D& r = static_cast(o); return ShiftableDiscreteDistribution1D::isEqual(o) && table_ == r.table_; } bool DiscreteTabulated1D::write(std::ostream& os) const { long locat = this->location(); gs::write_pod(os, locat); gs::write_pod_vector(os, table_); return !os.fail(); } DiscreteTabulated1D* DiscreteTabulated1D::read( const gs::ClassId& id, std::istream& in) { static const gs::ClassId current( gs::ClassId::makeId()); current.ensureSameId(id); long locat; gs::read_pod(in, &locat); std::vector t; gs::read_pod_vector(in, &t); if (in.fail() || t.empty()) distributionReadError(in, classname()); return new DiscreteTabulated1D(locat, &t[0], t.size()); } void DiscreteTabulated1D::initialize() { long double sum = 0.0L; const unsigned len = table_.size(); if (!len) throw std::invalid_argument("In npstat::DiscreteTabulated1D::initialize: " "probability table is empty"); cdf_.reserve(len); for (unsigned i=0; i 0.0) firstNonZero_ = i; } for (lastNonZero_ = len - 1; lastNonZero_ > 0U; --lastNonZero_) if (cdf_[lastNonZero_] > cdf_[lastNonZero_ - 1U]) break; sum = 0.0L; exceedance_.resize(len); for (long i = len-1U; i>=0L; --i) { sum += table_[i]; exceedance_[i] = sum; } dsum = sum; for (unsigned i=0; i= table_.size()) return 0.0; else return table_[ul]; } } double DiscreteTabulated1D::unshiftedCdf(const double x) const { const long l = doubleToLong(x); if (l < 0) return 0.0; else { const unsigned long ul = l; if (ul >= cdf_.size()) return 1.0; else return cdf_[ul]; } } double DiscreteTabulated1D::unshiftedExceedance(const double x) const { const long l = doubleToLong(x) + 1L; if (l < 0) return 1.0; else { const unsigned long ul = l; if (ul >= exceedance_.size()) return 0.0; else return exceedance_[ul]; } } long DiscreteTabulated1D::unshiftedQuantile(const double r1) const { if (!(r1 >= 0.0 && r1 <= 1.0)) throw std::domain_error( "In npstat::DiscreteTabulated1D::unshiftedQuantile: " "cdf argument outside of [0, 1] interval"); if (r1 == 0.0) return firstNonZero_; else if (r1 == 1.0) return lastNonZero_; else - { - const long double lr = r1; - return std::lower_bound(cdf_.begin(), cdf_.end(), lr) - cdf_.begin(); - } + return std::lower_bound(cdf_.begin(), cdf_.end(), r1) - cdf_.begin(); } DiscreteTabulated1D pooledDiscreteTabulated1D( const DiscreteTabulated1D& d1, const double sampleSize1, const DiscreteTabulated1D& d2, const double sampleSize2, const long first, const long oneAfterLast) { const long len = oneAfterLast - first; if (len <= 0L) throw std::invalid_argument( "In npstat::pooledDiscreteTabulated1D: invalid first/last range"); if (sampleSize1 < 0.0 || sampleSize2 < 0.0) throw std::invalid_argument( "In npstat::pooledDiscreteTabulated1D: invalid sample size"); std::vector table(len); for (long i=0; i&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 = npstat/stat ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.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_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libstat_la_LIBADD = am_libstat_la_OBJECTS = AbsDistribution1D.lo AbsUnfoldND.lo \ AbsDistributionND.lo amiseOptimalBandwidth.lo \ CompositeDistribution1D.lo CompositeDistributionND.lo \ CopulaInterpolationND.lo SymbetaParams1D.lo \ Distribution1DFactory.lo Distribution1DReader.lo \ DistributionNDReader.lo Distributions1D.lo DistributionsND.lo \ CrossCovarianceAccumulator.lo fitSbParameters.lo \ StatAccumulatorArr.lo HistoAxis.lo ResponseMatrix.lo \ InterpolatedDistribution1D.lo JohnsonCurves.lo \ JohnsonKDESmoother.lo LocalPolyFilter1D.lo \ logLikelihoodPeak.lo PolyFilterCollection1D.lo \ SbMomentsBigGamma.lo SbMomentsCalculator.lo \ gaussianResponseMatrix.lo SequentialCopulaSmoother.lo \ SequentialPolyFilterND.lo StatAccumulator.lo \ UnitMapInterpolationND.lo WeightedStatAccumulator.lo \ AbsNtuple.lo QuadraticOrthoPolyND.lo NMCombinationSequencer.lo \ Filter1DBuilders.lo StatAccumulatorPair.lo GridRandomizer.lo \ ConstantBandwidthSmoother1D.lo GaussianMixture1D.lo \ HistoNDCdf.lo scanDensityAsWeight.lo NUHistoAxis.lo \ distributionReadError.lo WeightedStatAccumulatorPair.lo \ AbsUnfold1D.lo ProductSymmetricBetaNDCdf.lo DualHistoAxis.lo \ multinomialCovariance1D.lo StorableMultivariateFunctor.lo \ StorableMultivariateFunctorReader.lo \ TruncatedDistribution1D.lo neymanPearsonWindow1D.lo \ AsinhTransform1D.lo LOrPEMarginalSmoother.lo \ LeftCensoredDistribution.lo QuantileTable1D.lo \ RightCensoredDistribution.lo AbsDiscreteDistribution1D.lo \ convertAxis.lo DiscreteDistribution1DReader.lo \ DiscreteDistributions1D.lo lorpeMise1D.lo \ BernsteinFilter1DBuilder.lo BetaFilter1DBuilder.lo \ AbsFilter1DBuilder.lo continuousDegreeTaper.lo \ RatioOfNormals.lo AbsCVCopulaSmoother.lo DensityScan1D.lo \ BoundaryHandling.lo SmoothedEMUnfold1D.lo Copulas.lo \ PearsonsChiSquared.lo BinnedKSTest1D.lo \ MultiscaleEMUnfold1D.lo AbsBinnedComparison1D.lo \ BinnedADTest1D.lo LocalPolyFilter1DReader.lo \ MemoizingSymbetaFilterProvider.lo UGaussConvolution1D.lo \ BinSummary.lo SmoothedEMUnfoldND.lo UnfoldingFilterNDReader.lo \ AbsUnfoldingFilterND.lo UnfoldingBandwidthScannerND.lo \ DistributionMix1D.lo ScalableGaussND.lo \ InterpolatedDistro1D1P.lo AbsDistributionTransform1D.lo \ LogTransform1D.lo DistributionTransform1DReader.lo \ TransformedDistribution1D.lo WeightTableFilter1DBuilder.lo \ VerticallyInterpolatedDistribution1D.lo LocalMultiFilter1D.lo \ LogRatioTransform1D.lo IdentityTransform1D.lo \ VariableBandwidthSmoother1D.lo AbsMarginalSmootherBase.lo \ OSDE1D.lo buildInterpolatedHelpers.lo \ GridInterpolatedDistribution.lo AbsCopulaSmootherBase.lo \ BernsteinCopulaSmoother.lo distro1DStats.lo \ SequentialGroupedCopulaSmoother.lo \ UnfoldingBandwidthScanner1D.lo InterpolatedDistro1DNP.lo \ volumeDensityFromBinnedRadial.lo statUncertainties.lo \ LocationScaleFamily1D.lo SinhAsinhTransform1D.lo \ AbsKDE1DKernel.lo KDE1DHOSymbetaKernel.lo \ - EdgeworthSeriesMethod.lo EdgeworthSeries1D.lo + EdgeworthSeriesMethod.lo EdgeworthSeries1D.lo \ + DeltaMixture1D.lo libstat_la_OBJECTS = $(am_libstat_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 = 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@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(libstat_la_SOURCES) DIST_SOURCES = $(libstat_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac 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)$(includedir)" HEADERS = $(include_HEADERS) 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 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FGREP = @FGREP@ FLIBS = @FLIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ 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@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ 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@ ac_ct_F77 = @ac_ct_F77@ 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 = ${prefix}/include/npstat/stat 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@ runstatedir = @runstatedir@ 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@ AM_CPPFLAGS = -I@top_srcdir@/ $(DEPS_CFLAGS) noinst_LTLIBRARIES = libstat.la libstat_la_SOURCES = AbsDistribution1D.cc AbsUnfoldND.cc \ AbsDistributionND.cc amiseOptimalBandwidth.cc CompositeDistribution1D.cc \ CompositeDistributionND.cc CopulaInterpolationND.cc SymbetaParams1D.cc \ Distribution1DFactory.cc Distribution1DReader.cc DistributionNDReader.cc \ Distributions1D.cc DistributionsND.cc CrossCovarianceAccumulator.cc \ fitSbParameters.cc StatAccumulatorArr.cc HistoAxis.cc ResponseMatrix.cc \ InterpolatedDistribution1D.cc JohnsonCurves.cc JohnsonKDESmoother.cc \ LocalPolyFilter1D.cc logLikelihoodPeak.cc PolyFilterCollection1D.cc \ SbMomentsBigGamma.cc SbMomentsCalculator.cc gaussianResponseMatrix.cc \ SequentialCopulaSmoother.cc SequentialPolyFilterND.cc StatAccumulator.cc \ UnitMapInterpolationND.cc WeightedStatAccumulator.cc AbsNtuple.cc \ QuadraticOrthoPolyND.cc NMCombinationSequencer.cc Filter1DBuilders.cc \ StatAccumulatorPair.cc GridRandomizer.cc ConstantBandwidthSmoother1D.cc \ GaussianMixture1D.cc HistoNDCdf.cc scanDensityAsWeight.cc NUHistoAxis.cc \ distributionReadError.cc WeightedStatAccumulatorPair.cc AbsUnfold1D.cc \ ProductSymmetricBetaNDCdf.cc DualHistoAxis.cc multinomialCovariance1D.cc \ StorableMultivariateFunctor.cc StorableMultivariateFunctorReader.cc \ TruncatedDistribution1D.cc neymanPearsonWindow1D.cc AsinhTransform1D.cc \ LOrPEMarginalSmoother.cc LeftCensoredDistribution.cc QuantileTable1D.cc \ RightCensoredDistribution.cc AbsDiscreteDistribution1D.cc convertAxis.cc \ DiscreteDistribution1DReader.cc DiscreteDistributions1D.cc lorpeMise1D.cc \ BernsteinFilter1DBuilder.cc BetaFilter1DBuilder.cc AbsFilter1DBuilder.cc \ continuousDegreeTaper.cc RatioOfNormals.cc AbsCVCopulaSmoother.cc \ DensityScan1D.cc BoundaryHandling.cc SmoothedEMUnfold1D.cc Copulas.cc \ PearsonsChiSquared.cc BinnedKSTest1D.cc MultiscaleEMUnfold1D.cc \ AbsBinnedComparison1D.cc BinnedADTest1D.cc LocalPolyFilter1DReader.cc \ MemoizingSymbetaFilterProvider.cc UGaussConvolution1D.cc BinSummary.cc \ SmoothedEMUnfoldND.cc UnfoldingFilterNDReader.cc AbsUnfoldingFilterND.cc \ UnfoldingBandwidthScannerND.cc DistributionMix1D.cc ScalableGaussND.cc \ InterpolatedDistro1D1P.cc AbsDistributionTransform1D.cc LogTransform1D.cc \ DistributionTransform1DReader.cc TransformedDistribution1D.cc \ WeightTableFilter1DBuilder.cc VerticallyInterpolatedDistribution1D.cc \ LocalMultiFilter1D.cc LogRatioTransform1D.cc IdentityTransform1D.cc \ VariableBandwidthSmoother1D.cc AbsMarginalSmootherBase.cc OSDE1D.cc \ buildInterpolatedHelpers.cc GridInterpolatedDistribution.cc \ AbsCopulaSmootherBase.cc BernsteinCopulaSmoother.cc distro1DStats.cc \ SequentialGroupedCopulaSmoother.cc UnfoldingBandwidthScanner1D.cc \ InterpolatedDistro1DNP.cc volumeDensityFromBinnedRadial.cc \ statUncertainties.cc LocationScaleFamily1D.cc SinhAsinhTransform1D.cc \ AbsKDE1DKernel.cc KDE1DHOSymbetaKernel.cc EdgeworthSeriesMethod.cc \ - EdgeworthSeries1D.cc + EdgeworthSeries1D.cc DeltaMixture1D.cc include_HEADERS = AbsBandwidthCV.hh \ AbsBandwidthGCV.hh \ AbsBinnedComparison1D.hh \ AbsBinnedComparison1D.icc \ AbsCompositeDistroBuilder.hh \ AbsCompositeDistroBuilder.icc \ AbsCopulaSmootherBase.hh \ AbsCopulaSmootherBase.icc \ AbsCVCopulaSmoother.hh \ AbsDiscreteDistribution1D.hh \ AbsDistribution1D.hh \ AbsDistributionND.hh \ AbsDistributionND.icc \ AbsDistributionTransform1D.hh \ AbsDistro1DBuilder.hh \ AbsDistro1DBuilder.icc \ AbsFilter1DBuilder.hh \ AbsGridInterpolatedDistribution.hh \ AbsInterpolatedDistribution1D.hh \ AbsInterpolationAlgoND.hh \ AbsKDE1DKernel.hh \ AbsKDE1DKernel.icc \ AbsLossCalculator.hh \ AbsMarginalSmootherBase.hh \ AbsMarginalSmootherBase.icc \ AbsNtuple.hh \ AbsNtuple.icc \ AbsPolyFilter1D.hh \ AbsPolyFilterND.hh \ AbsResponseBoxBuilder.hh \ AbsResponseIntervalBuilder.hh \ AbsSymbetaFilterProvider.hh \ AbsUnfold1D.hh \ AbsUnfoldingFilterND.hh \ AbsUnfoldND.hh \ amiseOptimalBandwidth.hh \ amiseOptimalBandwidth.icc \ ArchivedNtuple.hh \ ArchivedNtuple.icc \ ArrayProjectors.hh \ ArrayProjectors.icc \ arrayStats.hh \ arrayStats.icc \ AsinhTransform1D.hh \ BandwidthCVLeastSquares1D.hh \ BandwidthCVLeastSquares1D.icc \ BandwidthCVLeastSquaresND.hh \ BandwidthCVLeastSquaresND.icc \ BandwidthCVPseudoLogli1D.hh \ BandwidthCVPseudoLogli1D.icc \ BandwidthCVPseudoLogliND.hh \ BandwidthCVPseudoLogliND.icc \ BandwidthGCVLeastSquares1D.hh \ BandwidthGCVLeastSquares1D.icc \ BandwidthGCVLeastSquaresND.hh \ BandwidthGCVLeastSquaresND.icc \ BandwidthGCVPseudoLogli1D.hh \ BandwidthGCVPseudoLogli1D.icc \ BandwidthGCVPseudoLogliND.hh \ BandwidthGCVPseudoLogliND.icc \ BernsteinCopulaSmoother.hh \ BernsteinFilter1DBuilder.hh \ betaKernelsBandwidth.hh \ betaKernelsBandwidth.icc \ BetaFilter1DBuilder.hh \ BinnedADTest1D.hh \ BinnedKSTest1D.hh \ BinSummary.hh \ BinSummary.icc \ BoundaryHandling.hh \ BoundaryMethod.hh \ buildInterpolatedCompositeDistroND.hh \ buildInterpolatedCompositeDistroND.icc \ buildInterpolatedDistro1DNP.hh \ buildInterpolatedDistro1DNP.icc \ buildInterpolatedHelpers.hh \ CensoredQuantileRegression.hh \ CensoredQuantileRegression.icc \ CircularBuffer.hh \ CircularBuffer.icc \ Column.hh \ Column.icc \ CompositeDistribution1D.hh \ CompositeDistributionND.hh \ CompositeDistributionND.icc \ CompositeDistros1D.hh \ ConstantBandwidthSmoother1D.hh \ ConstantBandwidthSmootherND.hh \ ConstantBandwidthSmootherND.icc \ continuousDegreeTaper.hh \ convertAxis.hh \ CopulaInterpolationND.hh \ Copulas.hh \ CrossCovarianceAccumulator.hh \ CrossCovarianceAccumulator.icc \ CVCopulaSmoother.hh \ CVCopulaSmoother.icc \ + DeltaMixture1D.hh \ + DeltaMixture1D.icc \ DensityAveScanND.hh \ DensityScan1D.hh \ DensityScanND.hh \ DiscreteDistribution1DReader.hh \ DiscreteDistributions1D.hh \ discretizationErrorND.hh \ Distribution1DFactory.hh \ Distribution1DReader.hh \ DistributionTransform1DReader.hh \ DistributionMix1D.hh \ DistributionNDReader.hh \ Distributions1D.hh \ Distributions1D.icc \ DistributionsND.hh \ DistributionsND.icc \ distributionReadError.hh \ distro1DStats.hh \ DualHistoAxis.hh \ DummyCompositeDistroBuilder.hh \ DummyDistro1DBuilder.hh \ DummyResponseBoxBuilder.hh \ DummyResponseIntervalBuilder.hh \ EdgeworthSeries1D.hh \ EdgeworthSeriesMethod.hh \ empiricalCopula.hh \ empiricalCopulaHisto.hh \ empiricalCopulaHisto.icc \ empiricalCopula.icc \ fillHistoFromText.hh \ fillHistoFromText.icc \ Filter1DBuilders.hh \ FitUtils.hh \ FitUtils.icc \ GaussianMixture1D.hh \ gaussianResponseMatrix.hh \ GCVCopulaSmoother.hh \ GCVCopulaSmoother.icc \ griddedRobustRegression.hh \ griddedRobustRegression.icc \ GriddedRobustRegressionStop.hh \ GridInterpolatedDistribution.hh \ GridRandomizer.hh \ HistoAxis.hh \ HistoND.hh \ HistoND.icc \ HistoNDCdf.hh \ HistoNDFunctorInstances.hh \ histoStats.hh \ histoStats.icc \ histoUtils.hh \ histoUtils.icc \ IdentityTransform1D.hh \ InMemoryNtuple.hh \ InMemoryNtuple.icc \ InterpolatedDistribution1D.hh \ InterpolatedDistro1D1P.hh \ InterpolatedDistro1DNP.hh \ interpolateHistoND.hh \ interpolateHistoND.icc \ InterpolationFunctorInstances.hh \ JohnsonCurves.hh \ JohnsonKDESmoother.hh \ KDE1D.hh \ KDE1DCV.hh \ KDE1DHOSymbetaKernel.hh \ KDECopulaSmoother.hh \ KDECopulaSmoother.icc \ KDEGroupedCopulaSmoother.hh \ KDEGroupedCopulaSmoother.icc \ KDEFilterND.hh \ KDEFilterND.icc \ kendallsTau.hh \ kendallsTau.icc \ LeftCensoredDistribution.hh \ LocalLogisticRegression.hh \ LocalLogisticRegression.icc \ LocalMultiFilter1D.hh \ LocalMultiFilter1D.icc \ LocalPolyFilter1D.hh \ LocalPolyFilter1D.icc \ LocalPolyFilter1DReader.hh \ LocalPolyFilterND.hh \ LocalPolyFilterND.icc \ LocalQuadraticLeastSquaresND.hh \ LocalQuadraticLeastSquaresND.icc \ LocalQuantileRegression.hh \ LocalQuantileRegression.icc \ LocationScaleFamily1D.hh \ LocationScaleTransform1.hh \ LocationScaleTransform1.icc \ logLikelihoodPeak.hh \ LogRatioTransform1D.hh \ LogTransform1D.hh \ LOrPECopulaSmoother.hh \ LOrPECopulaSmoother.icc \ LOrPEGroupedCopulaSmoother.hh \ LOrPEGroupedCopulaSmoother.icc \ LOrPEMarginalSmoother.hh \ lorpeBackgroundCVDensity1D.hh \ lorpeBackgroundCVDensity1D.icc \ lorpeBackground1D.hh \ lorpeBackground1D.icc \ lorpeMise1D.hh \ lorpeSmooth1D.hh \ lorpeSmooth1D.icc \ MemoizingSymbetaFilterProvider.hh \ MemoizingSymbetaFilterProvider.icc \ mergeTwoHistos.hh \ mergeTwoHistos.icc \ mirrorWeight.hh \ MultiscaleEMUnfold1D.hh \ multinomialCovariance1D.hh \ MultivariateSumAccumulator.hh \ MultivariateSumsqAccumulator.hh \ MultivariateSumsqAccumulator.icc \ MultivariateWeightedSumAccumulator.hh \ MultivariateWeightedSumsqAccumulator.hh \ MultivariateWeightedSumsqAccumulator.icc \ neymanPearsonWindow1D.hh \ NMCombinationSequencer.hh \ NonparametricCompositeBuilder.hh \ NonparametricCompositeBuilder.icc \ NonparametricDistro1DBuilder.hh \ NonparametricDistro1DBuilder.icc \ NtHistoFill.hh \ NtNtupleFill.hh \ NtRectangularCut.hh \ NtRectangularCut.icc \ NtupleBuffer.hh \ NtupleBuffer.icc \ NtupleRecordTypes.hh \ NtupleRecordTypesFwd.hh \ NtupleReference.hh \ NUHistoAxis.hh \ OrderedPointND.hh \ OrderedPointND.icc \ orthoPoly1DVProducts.hh \ orthoPoly1DVProducts.icc \ OSDE1D.hh \ OSDE1D.icc \ PearsonsChiSquared.hh \ PolyFilterCollection1D.hh \ productResponseMatrix.hh \ productResponseMatrix.icc \ ProductSymmetricBetaNDCdf.hh \ QuadraticOrthoPolyND.hh \ QuadraticOrthoPolyND.icc \ QuantileRegression1D.hh \ QuantileRegression1D.icc \ QuantileTable1D.hh \ RatioOfNormals.hh \ RatioResponseBoxBuilder.hh \ RatioResponseBoxBuilder.icc \ RatioResponseIntervalBuilder.hh \ RatioResponseIntervalBuilder.icc \ ResponseMatrix.hh \ RightCensoredDistribution.hh \ SampleAccumulator.hh \ SampleAccumulator.icc \ SbMomentsCalculator.hh \ ScalableGaussND.hh \ scanDensityAsWeight.hh \ SequentialCopulaSmoother.hh \ SequentialGroupedCopulaSmoother.hh \ SequentialPolyFilterND.hh \ SequentialPolyFilterND.icc \ SinhAsinhTransform1D.hh \ SmoothedEMUnfold1D.hh \ SmoothedEMUnfoldND.hh \ spearmansRho.hh \ spearmansRho.icc \ StatAccumulator.hh \ StatAccumulatorArr.hh \ StatAccumulatorPair.hh \ statUncertainties.hh \ StatUtils.hh \ StatUtils.icc \ StorableHistoNDFunctor.hh \ StorableHistoNDFunctor.icc \ StorableInterpolationFunctor.hh \ StorableInterpolationFunctor.icc \ StorableMultivariateFunctor.hh \ StorableMultivariateFunctorReader.hh \ SymbetaParams1D.hh \ TransformedDistribution1D.hh \ TruncatedDistribution1D.hh \ TwoPointsLTSLoss.hh \ TwoPointsLTSLoss.icc \ UGaussConvolution1D.hh \ UnfoldingBandwidthScanner1D.hh \ UnfoldingBandwidthScannerND.hh \ UnfoldingFilterNDReader.hh \ UnitMapInterpolationND.hh \ variableBandwidthSmooth1D.hh \ variableBandwidthSmooth1D.icc \ VariableBandwidthSmoother1D.hh \ VerticallyInterpolatedDistribution1D.hh \ volumeDensityFromBinnedRadial.hh \ weightedCopulaHisto.hh \ weightedCopulaHisto.icc \ WeightedDistro1DPtr.hh \ WeightedLTSLoss.hh \ WeightedLTSLoss.icc \ WeightedSampleAccumulator.hh \ WeightedSampleAccumulator.icc \ WeightedStatAccumulator.hh \ WeightedStatAccumulatorPair.hh \ WeightTableFilter1DBuilder.hh EXTRA_DIST = 00README.txt npstat_doxy.hh all: all-am .SUFFIXES: .SUFFIXES: .cc .lo .o .obj $(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) --foreign npstat/stat/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign npstat/stat/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__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 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): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_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}; \ } libstat.la: $(libstat_la_OBJECTS) $(libstat_la_DEPENDENCIES) $(EXTRA_libstat_la_DEPENDENCIES) $(AM_V_CXXLD)$(CXXLINK) $(libstat_la_OBJECTS) $(libstat_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsBinnedComparison1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsCVCopulaSmoother.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsCopulaSmootherBase.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsDiscreteDistribution1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsDistribution1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsDistributionND.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsDistributionTransform1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsFilter1DBuilder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsKDE1DKernel.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsMarginalSmootherBase.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsNtuple.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsUnfold1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsUnfoldND.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AbsUnfoldingFilterND.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AsinhTransform1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BernsteinCopulaSmoother.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BernsteinFilter1DBuilder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BetaFilter1DBuilder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BinSummary.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BinnedADTest1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BinnedKSTest1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BoundaryHandling.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CompositeDistribution1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CompositeDistributionND.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConstantBandwidthSmoother1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CopulaInterpolationND.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Copulas.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CrossCovarianceAccumulator.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DeltaMixture1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DensityScan1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DiscreteDistribution1DReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DiscreteDistributions1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Distribution1DFactory.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Distribution1DReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DistributionMix1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DistributionNDReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DistributionTransform1DReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Distributions1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DistributionsND.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DualHistoAxis.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EdgeworthSeries1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EdgeworthSeriesMethod.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Filter1DBuilders.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GaussianMixture1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GridInterpolatedDistribution.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GridRandomizer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HistoAxis.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HistoNDCdf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IdentityTransform1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InterpolatedDistribution1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InterpolatedDistro1D1P.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InterpolatedDistro1DNP.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/JohnsonCurves.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/JohnsonKDESmoother.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/KDE1DHOSymbetaKernel.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LOrPEMarginalSmoother.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LeftCensoredDistribution.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LocalMultiFilter1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LocalPolyFilter1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LocalPolyFilter1DReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LocationScaleFamily1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LogRatioTransform1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LogTransform1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MemoizingSymbetaFilterProvider.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MultiscaleEMUnfold1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NMCombinationSequencer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NUHistoAxis.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OSDE1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PearsonsChiSquared.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PolyFilterCollection1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ProductSymmetricBetaNDCdf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/QuadraticOrthoPolyND.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/QuantileTable1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RatioOfNormals.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ResponseMatrix.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RightCensoredDistribution.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SbMomentsBigGamma.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SbMomentsCalculator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ScalableGaussND.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SequentialCopulaSmoother.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SequentialGroupedCopulaSmoother.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SequentialPolyFilterND.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SinhAsinhTransform1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SmoothedEMUnfold1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SmoothedEMUnfoldND.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StatAccumulator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StatAccumulatorArr.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StatAccumulatorPair.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StorableMultivariateFunctor.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StorableMultivariateFunctorReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SymbetaParams1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TransformedDistribution1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TruncatedDistribution1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UGaussConvolution1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UnfoldingBandwidthScanner1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UnfoldingBandwidthScannerND.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UnfoldingFilterNDReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UnitMapInterpolationND.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VariableBandwidthSmoother1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VerticallyInterpolatedDistribution1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeightTableFilter1DBuilder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeightedStatAccumulator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeightedStatAccumulatorPair.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amiseOptimalBandwidth.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buildInterpolatedHelpers.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/continuousDegreeTaper.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/convertAxis.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/distributionReadError.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/distro1DStats.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fitSbParameters.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaussianResponseMatrix.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logLikelihoodPeak.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lorpeMise1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multinomialCovariance1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/neymanPearsonWindow1D.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanDensityAsWeight.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statUncertainties.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/volumeDensityFromBinnedRadial.Plo@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs 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) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(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-am 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-am 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: $(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 check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am 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: 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-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-includeHEADERS install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-includeHEADERS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES 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-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs 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 .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: Index: trunk/npstat/stat/DeltaMixture1D.hh =================================================================== --- trunk/npstat/stat/DeltaMixture1D.hh (revision 0) +++ trunk/npstat/stat/DeltaMixture1D.hh (revision 595) @@ -0,0 +1,102 @@ +#ifndef NPSTAT_DELTAMIXTURE1D_HH_ +#define NPSTAT_DELTAMIXTURE1D_HH_ + +/*! +// \file DeltaMixture1D.hh +// +// \brief A mixture of 1-d Dirac delta functions +// +// Author: I. Volobouev +// +// July 2019 +*/ + +#include + +#include "npstat/stat/AbsDistribution1D.hh" +#include "npstat/stat/Distribution1DFactory.hh" + +namespace npstat { + class DeltaMixture1D : public AbsScalableDistribution1D + { + public: + template + inline DeltaMixture1D(const double location, const double scale, + const Real1* unscaledCoords, + const Real2* unscaledWeights, + const unsigned arrayLength) + : AbsScalableDistribution1D(location, scale) + {initialize(unscaledCoords, unscaledWeights, arrayLength);} + + inline virtual DeltaMixture1D* clone() const + {return new DeltaMixture1D(*this);} + + inline virtual ~DeltaMixture1D() {} + + /** Density integral on the intervals (a, b), [a, b], etc */ + double integral(double a, bool includePointAtA, + double b, bool includePointAtB) const; + + /** Distribution moment */ + long double moment(long double center, unsigned order) const; + + /** + // A collection of distribution moments. The array "moments" + // should have at least "maxOrder+1" elements. + */ + void moments(long double center, unsigned maxOrder, + long double* moments) const; + + /** + // A collection of distribution central moments. The array "moments" + // should have at least "maxOrder+1" elements. On exit, moments[1] + // will be set to the mean while all other moments will be central. + */ + void centralMoments(unsigned maxOrder, long double* moments) const; + + // Methods needed for I/O + virtual gs::ClassId classId() const {return gs::ClassId(*this);} + virtual bool write(std::ostream&) const; + + static inline const char* classname() {return "npstat::DeltaMixture1D";} + static inline unsigned version() {return 1;} + static DeltaMixture1D* read(const gs::ClassId& id, std::istream& in); + + protected: + virtual bool isEqual(const AbsDistribution1D&) const; + + private: + friend class ScalableDistribution1DFactory; + + DeltaMixture1D(double location, double scale, + const std::vector& params); + inline static int nParameters() {return -1;} + + template + void initialize(const Real1* unscaledCoords, + const Real2* unscaledWeights, + const unsigned arrayLength); + void buildCdfTable(); + + inline double unscaledDensity(double /* x */) const {return 0.0;} + double unscaledCdf(double x) const; + double unscaledExceedance(double x) const; + double unscaledQuantile(double x) const; + + double weightSum(unsigned imin, unsigned imax) const; + + // Find all locations in the range + void determineRange(double a, bool includeLeftBoundary, + double b, bool includeRightBoundary, + unsigned* imin, unsigned* imax) const; + + std::vector locations_; + std::vector weights_; + std::vector cdf_; + std::vector exceedance_; + }; +} + +#include "npstat/stat/DeltaMixture1D.icc" + +#endif // NPSTAT_DELTAMIXTURE1D_HH_ Index: trunk/npstat/stat/00README.txt =================================================================== --- trunk/npstat/stat/00README.txt (revision 594) +++ trunk/npstat/stat/00README.txt (revision 595) @@ -1,714 +1,716 @@ The code in this directory can depend on headers from the "nm" and "rng" directories in the "npstat" package. The classes implemented in this directory can be split into several subgroups by their purpose: * Data representation * Descriptive statistics * Statistical distributions * Fitting of parametric models * Statistical testing * Local filtering * Nonparametric density estimation * Deconvolution density estimation (Unfolding) * Nonparametric regression * Interpolation of statistical distributions * Miscellaneous data analysis techniques * Convenience API * Utilities * I/O Data representation ------------------- AbsNtuple.hh -- interface class for ntuples. Implemented in InMemoryNtuple.hh, ArchivedNtuple.hh. To be used by application code. NtHistoFill.hh, NtNtupleFill.hh, NtRectangularCut.hh -- convenience classes and functors for use inside "cycleOverRows", "conditionalCycleOverRows", and other similar ntuple methods. Column.hh -- helper class for AbsNtuple.hh. Can be used to refer to ntuple columns either by name or by column number. Used by AbsNtuple.hh, and should not be used separately. ArchivedNtuple.hh -- class for storing huge ntuples which do not fit in the computer memory. To be used by application code. HistoAxis.hh -- representation of a histogram axis with equidistant bins. NUHistoAxis.hh -- representation of a histogram axis with non-uniform bins. DualHistoAxis.hh -- histogram axis which works reasonably well for both uniform and non-uniform bins. convertAxis.hh -- conversion functions between histogram and grid axes. HistoND.hh -- arbitrary-dimensional histogram template. interpolateHistoND.hh -- interpolation of histogram data to coordinate values between bin centers. mergeTwoHistos.hh -- a utility for smooth blending of two histograms. ProductSymmetricBetaNDCdf.hh -- an interpolation function for blending histograms. InMemoryNtuple.hh -- class for storing small ntuples which completely fit in the computer memory. Works faster than ArchivedNtuple. NtupleBuffer.hh -- data buffer for data exchange between ArchivedNtuple and disk-based archive. OrderedPointND.hh -- a multidimensional point which can be sorted according to multiple sorting criteria. StorableMultivariateFunctor.hh -- Base class for storable multivariate functors. StorableHistoNDFunctor.hh -- Adaptation that represents HistoND as a StorableMultivariateFunctor. HistoNDFunctorInstances.hh -- A number of concrete typedefs for StorableHistoNDFunctor template. StorableInterpolationFunctor.hh -- Adaptation that represents LinInterpolatedTableND as a StorableMultivariateFunctor. InterpolationFunctorInstances.hh -- A number of concrete typedefs for StorableInterpolationFunctor template. Descriptive statistics ---------------------- ArrayProjectors.hh -- helper classes for making lower-dimensional projections of the ArrayND class. Calculate various statistics over projected dimensions (mean, median, etc). arrayStats.hh -- means, standard deviations, and covariance matrices of multivariate arrays. skewness and kurtosis for 1-d arrays. statUncertainties.hh -- uncertainties of various sample statistics. histoStats.hh -- means and covariance matrices for histograms. kendallsTau.hh -- Kendall's rank correlation coefficient, from a sample of points or from copula. spearmansRho.hh -- Spearman's rank correlation coefficient, from a sample of points or from copula. logLikelihoodPeak.hh -- summary of a 1-d log-likelihood curve. MultivariateSumAccumulator.hh -- classes in these files are MultivariateSumsqAccumulator.hh intended for calculating MultivariateWeightedSumAccumulator.hh covariance and correlation MultivariateWeightedSumsqAccumulator.hh matrices of multivariate data in a numerically stable manner. These classes can serve as appropriate accumulator functors in various "cycleOverRows" methods of AbsNtuple or as separate tools. SampleAccumulator.hh -- accumulator of items for the purpose of calculating statistical summaries. For use inside histograms, etc. WeightedSampleAccumulator.hh -- similar class for use with weighted items. CircularBuffer.hh -- accumulator of items with fixed length. When this length is exceeded, the oldest items are discarded. Can calculate statistical summaries (mean, stdev) that do not require element sorting. StatAccumulator.hh -- simple, single-pass calculator of mean and standard deviation. Updates a running average, so it works a bit better than a "naive" version. StatAccumulatorPair.hh -- simple, single-pass calculator of mean, standard deviation, and covariance for two variables. StatAccumulatorArr.hh -- simple, single-pass calculator of mean and standard deviation for array sets. CrossCovarianceAccumulator.hh -- single-pass calculator of covariances and correlations for samples with elements represented by arrays. WeightedStatAccumulator.hh -- single-pass calculator of mean and standard deviation for weighted points. WeightedStatAccumulatorPair.hh -- simple, single-pass calculator of mean, standard deviation, and covariance for weighted points. BinSummary.hh -- a five-number summary for SampleAccumulator, StatAccumulator, WeightedSampleAccumulator, and WeightedSampleAccumulator which can be used for making box plots, etc. Allows for direct manipulation of the center value, upper and lower ranges, and min/max value. Statistical distributions ------------------------- AbsDistribution1D.hh -- interface classes for 1-d parametric and tabulated statistical distributions. AbsDiscreteDistribution1D.hh -- interface classes for 1-d discrete statistical distributions. Implemented in DiscreteDistributions1D.hh. AbsDistributionTransform1D.hh -- interface class for 1-d coordinate transforms intended for subsequent use in constructing distributions (in particular, with the TransformedDistribution1D class). AsinhTransform1D.hh -- asinh transform (just like the one used to generate Johnson's S_U curves). SinhAsinhTransform1D.hh -- transform y = sinh(a + b*asinh(x)). LogRatioTransform1D.hh -- log(y/(1-y)) transform with scale and location adjustment (just like the one used to generate Johnson's S_B curves). LogTransform1D.hh -- transform y = log(1 + x). AbsDistributionND.hh -- interface classes for multivariate statistical distributions. CompositeDistribution1D.hh -- represents univariate statistical distributions whose cumulative distribution functions F(x) can be built by composition of two other cumulative distribution functions: F(x) = G(H(x)). CompositeDistributionND.hh -- represents multivariate statistical distributions decomposed into copula and marginals. Copulas.hh -- distributions which are copulas. CompositeDistros1D.hh -- several implementations of CompositeDistribution1D.hh using concrete distributions. +DeltaSequence1D.hh -- a mixture of Dirac delta functions. + Distributions1D.hh -- a number of continuous 1-d statistical distributions. DistributionsND.hh -- a number of continuous multivariate statistical distributions. DiscreteDistributions1D.hh -- several discrete statistical distributions, including Poisson and tabulated. DistributionMix1D.hh -- Mixtures of one-dimensional statistical distributions. distro1DStats.hh -- a utility for empirical calculation of distribution mean, standard deviation, skewness, and kurtosis. EdgeworthSeries1D.hh -- Edgeworth series. EdgeworthSeriesMethod.hh -- Helper class for defining Edgeworth series. GaussianMixture1D.hh -- One-dimensional Gaussian mixtures. GridRandomizer.hh -- class which knows how to map the unit hypercube into a distribution whose density is represented on an n-d grid (and, therefore, how to generate corresponding random numbers). Not intended for direct use by application code (use class "BinnedDensityND" instead). IdentityTransform1D.hh -- Identity coordinate transformation. LocationScaleFamily1D.hh -- Creates a location-scale family from a (typically non-scalable) 1-d distribution. LocationScaleTransform1.hh -- Coordinate transformation of the type y = (x - mu)/sigma, with mu and sigma depending on a single parameter and calculated by two separate functors. JohnsonCurves.hh -- Johnson frequency curves. RatioOfNormals.hh -- Distribution generated when one Gaussian variable is divided by another. SbMomentsCalculator.hh -- Calculator of moments for S_b curves. Not for use by application code. ScalableGaussND.hh -- multivariate Gaussian with diagonal covariance matrix. TransformedDistribution1D.hh -- 1-d distributions in x but whose density, cdf, etc are specified in the y (transformed) space. TruncatedDistribution1D.hh -- 1-d distributions with truncated support. LeftCensoredDistribution.hh -- left-censored distribution. RightCensoredDistribution.hh -- right-censored distribution. UGaussConvolution1D.hh -- convolution of uniform and Gaussian distributions. Fitting of parametric models ---------------------------- FitUtils.hh -- fitting of 1-d histograms. See also headers minuitFitJohnsonCurves.hh and MinuitDensityFitFcn1D.hh in the "interfaces" directory. Statistical testing ------------------- AbsBinnedComparison1D.hh -- interface for comparisons of binned distributions BinnedADTest1D.hh -- binned version of the Anderson-Darling test BinnedKSTest1D.hh -- binned version of the Kolmogorov-Smirnov test PearsonsChiSquared.hh -- chi-squared goodness-of-fit test Local filtering --------------- AbsFilter1DBuilder.hh -- interface classes for building local polynomial filters in 1d. Implemented in Filter1DBuilders.hh, BetaFilter1DBuilder.hh, WeightTableFilter1DBuilder.hh, BernsteinFilter1DBuilder.hh. Used by LocalPolyFilter1D.hh. AbsPolyFilter1D.hh -- interface class for building univariate smoothers that can be optimized by cross-validation. Implemented in ConstantBandwidthSmoother1D.hh, LocalPolyFilter1D.hh. AbsPolyFilterND.hh -- interface class for building multivariate smoothers that can be optimized by cross-validation. Implemented in LocalPolyFilterND.hh, SequentialPolyFilterND.hh, and KDEFilterND.hh. Used by AbsBandwidthCV.hh, BandwidthCVLeastSquaresND.hh, BandwidthCVPseudoLogliND.hh. AbsSymbetaFilterProvider.hh -- interface class for building local polynomial filters in 1d using kernels from the symmetric beta family. MemoizingSymbetaFilterProvider.hh -- implements AbsSymbetaFilterProvider interface and allows for filter storage and lookup. BernsteinFilter1DBuilder.hh -- concrete class for building filters which smooth densities using Bernstein polynomials. BetaFilter1DBuilder.hh -- concrete class for building filters which smooth densities using beta functions (Bernstein polynomials of non-integer degree). betaKernelsBandwidth.hh -- optimal bandwidth for density estimation with beta kernels. BoundaryHandling.hh -- user API for handling LOrPE boundary methods. BoundaryMethod.hh -- enums for handling LOrPE boundary methods. continuousDegreeTaper.hh -- a method for generating tapers with effectively continuous degree. Intended for use with LocalPolyFilter1D. Filter1DBuilders.hh -- concrete classes for building local polynomial filters in 1d. They differ by their treatment of the weight function and boundary effects. WeightTableFilter1DBuilder.hh -- concrete classes for building local polynomial filters in 1d from density scans. KDEFilterND.hh -- KDE filtering (Nadaraya-Watson regression) on a regularly spaced 1-d grid. LocalPolyFilter1D.hh -- local polynomial filtering (regression) on a regularly spaced 1-d grid. LocalPolyFilterND.hh -- local polynomial filtering (regression) on a regularly spaced multivariate grid. LocalMultiFilter1D.hh -- local polynomial filtering with separate polynomials from an orthogonal set. LocalQuadraticLeastSquaresND.hh -- local quadratic polynomial filtering for an irregular set of points (possibly including uncertainties). lorpeSmooth1D.hh -- high level driver for LocalPolyFilter1D, etc. Intended for density reconstruction from histograms. lorpeBackground1D.hh -- high level driver for fitting mixed models in which signal is parameterized and background is nonparametric. lorpeBackgroundCVDensity1D.hh -- linearization of cross-validation calculations for fitting mixed models with nonparametric background. QuadraticOrthoPolyND.hh -- local quadratic polynomial filtering on a grid. In comparison with LocalPolyFilterND.hh, supports a finer interface to filtering functionality (direct support of an AbsDistributionND as a weight, calculations of gradient and hessian for the fitted surface, fitting is performed on functors rather than ArrayND objects, etc). Used by LocalLogisticRegression.hh. SequentialPolyFilterND.hh -- similar to LocalPolyFilterND.hh, but the filtering is performed sequentially for each dimension using 1-d filters. SymbetaPolyCollection1D.hh -- class that builds LocalPolyFilter1D objects and memoizes local polynomials for the bandwidth values used. Nonparametric density estimation -------------------------------- AbsBandwidthCV.hh -- interface classes for calculating 1-d and multivariate cross-validation criteria for bandwidth and taper selection. Interfaces declared in this file are implemented in BandwidthCVLeastSquares1D.hh, BandwidthCVLeastSquaresND.hh, BandwidthCVPseudoLogli1D.hh, and BandwidthCVPseudoLogliND.hh. These interfaces are used by classes in CVCopulaSmoother.hh. AbsBandwidthGCV.hh -- interface classes for calculating 1-d and multivariate cross-validation criteria for bandwidth and taper selection. Interfaces declared in this file are implemented in BandwidthGCVLeastSquares1D.hh, BandwidthGCVLeastSquaresND.hh, BandwidthGCVPseudoLogli1D.hh, and BandwidthGCVPseudoLogliND.hh. These interfaces are used by classes in GCVCopulaSmoother.hh. The difference with the series of classes defined in "AbsBandwidthCV.hh" is that the grouping (i.e., the binning) of data is explicitly acknowledged, so that a substantially different set of filters (removing the whole group) can be used for cross-validation. AbsCompositeDistroBuilder.hh -- interface class for building composite distrubutions (which consist of copula and marginals) out of data samples. Implemented in DummyCompositeDistroBuilder.hh and NonparametricCompositeBuilder.hh. AbsDistro1DBuilder.hh -- interface class for building 1-d distributions out of data samples. Implemented in DummyDistro1DBuilder.hh and NonparametricDistro1DBuilder.hh. AbsCopulaSmootherBase.hh -- interface class for building copulas out of data samples. Implemented in AbsCVCopulaSmoother.hh. Used by NonparametricCompositeBuilder.hh. AbsKDE1DKernel.hh -- interface class for simple, brute-force KDE in 1-d without discretization or boundary correction. Implemented in KDE1DHOSymbetaKernel.hh. AbsMarginalSmootherBase.hh -- interface class for building 1-d smoothers of histograms. Implemented in JohnsonKDESmoother.hh, LOrPEMarginalSmoother.hh, ConstantBandwidthSmoother1D.hh, and VariableBandwidthSmoother1D.hh. Used by NonparametricCompositeBuilder.hh. AbsResponseIntervalBuilder.hh -- interface class for making cuts in the inivariate response space when density estimation is performed in the regression context. Implemented in DummyResponseIntervalBuilder.hh and RatioResponseIntervalBuilder.hh. AbsResponseBoxBuilder.hh -- interface class for making cuts in the multivariate response space when density estimation is performed in the regression context. Implemented in DummyResponseBoxBuilder.hh and RatioResponseBoxBuilder.hh. amiseOptimalBandwidth.hh -- function for selecting optimal LOrPE bandwidth values by optimizing AMISE on a reference distribution. Used in JohnsonKDESmoother.cc and ConstantBandwidthSmoother1D.cc. Can also be used by application code. BandwidthCVLeastSquares1D.hh -- class for calculating KDE or LOrPE cross-validation MISE approximations for 1-d density estimates. BandwidthCVLeastSquaresND.hh -- class for calculating KDE or LOrPE cross-validation MISE approximations for multivariate density estimates. BandwidthCVPseudoLogli1D.hh -- class for calculating KDE or LOrPE cross-validation pseudo log likelihood, for 1-d density estimates. BandwidthCVPseudoLogliND.hh -- Class for calculating KDE or LOrPE cross-validation pseudo log likelihood, for multivariate density estimates. buildInterpolatedCompositeDistroND.hh -- Multivariate density estimation in the regression context, with interpolation. buildInterpolatedDistro1DNP.hh -- Univariate density estimation in the regression context, with interpolation. ConstantBandwidthSmoother1D.hh -- 1-d KDE implementation with constant bandwidth. Implements AbsMarginalSmoother interface. ConstantBandwidthSmootherND.hh -- multivariate KDE implementation with constant bandwidth. CVCopulaSmoother.hh -- an interface to copula smoothers which use constant bandwidth LOrPE and select bandwidth by cross-validation. Implemented in LOrPECopulaSmoother.hh, SequentialCopulaSmoother.hh, KDECopulaSmoother.hh, and BernsteinCopulaSmoother.hh. Could be used by application code if it needs to develop its own cross-validation method for nonparametric copula estimation. GCVCopulaSmoother.hh -- an interface to copula smoothers working with grouped data and using substantially different filters for cross-validation. Implemented in KDEGroupedCopulaSmoother.hh, LOrPEGroupedCopulaSmoother.hh, and SequentialGroupedCopulaSmoother.hh. empiricalCopula.hh -- functions for building empirical copulas by constructing kd-tree for the data points and then doing lookups in this tree. empiricalCopulaHisto.hh -- function for building empirical copula densities by ordering the data points in multiple dimensions. weightedCopulaHisto.hh -- function for building empirical copula densities by ordering weighted data points in multiple dimensions. HistoNDCdf.hh -- multivariate cumulative distribution function built from a histogram. Its "coveringBox" method can be used to make k-NN type density estimates (and for other purposes). JohnsonKDESmoother.hh -- 1-d KDE implementation with adaptive bandwidth (see comments in the header file for details). Implements AbsMarginalSmoother interface. See also "fitCompositeJohnson.hh" header in the "interfaces" directory for an alternative approach. KDE1D.hh -- Convenience class which aggregates the kernel and the data for brute-force 1-d KDE without boundary correction. KDE1DCV.hh -- Cross-validation utilities for brute-force KDE in 1-d. KDE1DHOSymbetaKernel.hh -- high order Gaussian or symmetric beta kernels for brute-force KDE in 1-d. KDECopulaSmoother.hh -- constant bandwidth multivariate KDE copula smoother in which the bandwidth is selected by cross-validation. Implements CVCopulaSmoother. LOrPECopulaSmoother.hh -- constant bandwidth multivariate LOrPE copula smoother in which the bandwidth is selected by cross-validation. Implements CVCopulaSmoother. LOrPEMarginalSmoother.hh -- 1-d LOrPE for fitting margins of composite distributions. Basically, interfaces "lorpeSmooth1D" to AbsMarginalSmoother. lorpeMise1D.hh -- Deterministic MISE calculation for reconstructing an arbitrary 1-d density. NonparametricCompositeBuilder.hh -- an implementation of AbsCompositeDistroBuilder. Uses separate density estimation procedures for copula and marginals. orthoPoly1DVProducts.hh -- utility functions for calculating certain statistical properties of 1-d orthogonal polynomials. OSDE1D.hh -- orthogonal series density estimation in one dimension. PolyFilterCollection1D.hh -- collection of LocalPolyFilter1D objects with the same kernel but different bandwidth values. Intended for use with bandwidth scans (for example, in cross-validation scenarios). QuantileTable1D.hh -- density function defined by its quantile table. Can be easily constructed using "empiricalQuantile" function from StatUtils.hh. SequentialCopulaSmoother.hh -- similar to LOrPECopulaSmoother, but the filters are limited to tensor products of univariate filters. variableBandwidthSmooth1D.hh -- KDE with adaptive bandwidth. Used by JohnsonKDESmoother.hh. Deconvolution density estimation (Unfolding) -------------------------------------------- AbsUnfold1D.hh -- interface class for deconvolution density estimation in 1-d (a.k.a. unfolding). AbsUnfoldND.hh -- interface class for multivariate deconvolution density estimation (a.k.a. unfolding). AbsUnfoldingFilterND.hh -- interface class for smoothers used in multivariate unfolding. gaussianResponseMatrix.hh -- helper function for building response matrices for one-dimensional unfolding problems. MultiscaleEMUnfold1D.hh -- a variation of 1-d unfolding algorithm with multiscale filtering and, potentially, faster convergence. productResponseMatrix.hh -- helper function for building sparse response matrices for multivariate unfolding problems. ResponseMatrix.hh -- sparse response matrix representation for multivariate unfolding. SmoothedEMUnfold1D.hh -- expectation-maximization (a.k.a. D'Agostini) unfolding with smoothing for 1-d distributions. SmoothedEMUnfoldND.hh -- expectation-maximization unfolding with smoothing for multivariate distributions. UnfoldingBandwidthScanner1D.hh -- class which gets various information from 1-d unfolding results in a convenient form. UnfoldingBandwidthScannerND.hh -- class which gets various information from multivariate unfolding results in a convenient form. Nonparametric regression ------------------------ LocalLogisticRegression.hh -- facilities for performing local linear and quadratic logistic regression. The interface is designed for use together with Minuit. See also the header "minuitLocalRegression.hh" in the "interfaces" directory. QuantileRegression1D.hh -- nonparametric quantile regression with one predictor. Supports polynomials of arbitrary degrees. Useful for constructing Neyman belts. See also "minuitLocalQuantileRegression1D.hh" header in the "interfaces" directory. LocalQuantileRegression.hh -- multivariate local linear or quadratic quantile regression. Can be used to fit histograms or collections of points. See also "minuitQuantileRegression.hh" header in the "interfaces" directory. CensoredQuantileRegression.hh -- multivariate local linear or quadratic quantile regression which can be used for data samples affected by a one-sided cut. griddedRobustRegression.hh -- framework for local robust regression (in particular, for local least trimmed squares). GriddedRobustRegressionStop.hh -- simple functor for stopping robust regression sequence. AbsLossCalculator.hh -- abstract class for calculating local loss for local robust regression. Implemented in "WeightedLTSLoss.hh" and "TwoPointsLTSLoss.hh". WeightedLTSLoss.hh -- functor for calculating local least trimmed squares with one point removed. TwoPointsLTSLoss.hh -- functor for calculating local least trimmed squares with two points or 1-d stripes removed. Interpolation of statistical distributions ------------------------------------------ AbsGridInterpolatedDistribution.hh -- interface class for interpolating between probability distributions placed at the points of a rectangular parameter grid. Implemented in GridInterpolatedDistribution.hh. To be used by application code. AbsInterpolatedDistribution1D.hh -- interface class for univariate density interpolation algorithms. Implemented by InterpolatedDistribution1D.hh and VerticallyInterpolatedDistribution1D.hh. AbsInterpolationAlgoND.hh -- interface class for multivariate density interpolation algorithms. Implemented by CopulaInterpolationND.hh and UnitMapInterpolationND.hh. Used by GridInterpolatedDistribution.hh. CopulaInterpolationND.hh -- interpolation of distributions represented by CompositeDistributionND. Copulas and quantile functions of the marginals are combined with externally provided weights. UnitMapInterpolationND.hh -- interpolation of distributions mapped to the unit cube by conditional quantile functions. GridInterpolatedDistribution.hh -- class which represents a complete multivariate distribution interpolated in parameters. Constructed incrementally, by adding distributions to the grid points. InterpolatedDistribution1D.hh -- 1-d continuous statistical distribution which interpolates between other distributions by performing linear interpolation of the quantile function. InterpolatedDistro1D1P.hh -- 1-d continuous statistical distribution interpolation on a 1-d parameter grid, with linear interpolation of weights between parameter values. Supports both interpolation of quantile functions and vertical interpolation. InterpolatedDistro1DNP.hh -- 1-d continuous statistical distribution interpolation on a multivariate parameter grid, with multilinear interpolation of weights between parameter values. Supports both interpolation of quantile functions and vertical interpolation. UnitMapInterpolationND.hh -- this class interpolates between multivariate distributions by interpolating between their unit maps. Miscellaneous data analysis techniques -------------------------------------- neymanPearsonWindow1D.hh -- search for likelihood ratio maximum and determination of optimal cuts in 1-d based on likelihood ratio between signal and background. Convenience API --------------- DensityScan1D.hh -- utility class for discretizing 1-d densities. DensityScanND.hh -- functor for filling multidimensional arrays with multivariate density scans. Calculates the density in the bin center. discretizationErrorND.hh -- function for calculating the ISE due to discretization of multivariate densities. DensityAveScanND.hh -- functor for filling multidimensional arrays with multivariate density scans. Integrates the density over the bin area. Distribution1DFactory.hh -- creation of a number of 1-d distributions from a uniform interface. scanDensityAsWeight.hh -- determines density support and scans a multivariate density in a manner suitable for subsequent construction of orthogonal polynomial systems. Utilities --------- buildInterpolatedHelpers.hh -- utilities for nonparametric interpolation of statistical distributions. Not for use by application code. histoUtils.hh -- utilities related to special ways of filling histograms, etc. mirrorWeight.hh -- helper function for scanning multivariate densities. Used by LocalPolyFilterND and KDEFilterND codes. multinomialCovariance1D.hh -- helper function for building multinomial distribution covariance matrices. NMCombinationSequencer.hh -- helper class for a certain type of integer permutations (distinct ways of choosing M out of N objects). StatUtils.hh -- a few useful functions which did not fit naturally anywhere else. SymbetaParams1D.hh -- collects the parameters of symmetric beta kernels. volumeDensityFromBinnedRadial.hh -- convert a density which was obtained from a histogram of radius values into the density per unit area (or per unit volume or hypervolume). WeightedDistro1DPtr.hh -- associates a pointer to AbsDistribution1D with a weight. Not for use by application code. I/O --- Distribution1DReader.hh -- factory for deserializing 1-d distribution functions. DistributionNDReader.hh -- factory for deserializing N-d distribution functions. distributionReadError.hh -- this code throws an appropriate exception if input I/O operations fail for a distribution previously stored on disk. DiscreteDistribution1DReader.hh -- factory for deserializing 1-d discrete distributions. DistributionTransform1DReader.hh -- factory for deserializing 1-d transforms. fillHistoFromText.hh -- utility for filling histograms from text files similar utility for ntuples in declared in the AbsNtuple.hh header). LocalPolyFilter1DReader.hh -- a reader factory for classes derived from LocalPolyFilter1D. NtupleRecordTypes.hh -- mechanisms for locating parts of the ArchivedNtuple NtupleRecordTypesFwd.hh in the archive. Not for use by application code. NtupleReference.hh -- special reference type for ArchivedNtuple. StorableMultivariateFunctorReader.hh -- factory for deserializing for storable multivariate functors. UnfoldingFilterNDReader.hh -- reader factory for classes derived from AbsUnfoldingFilterND. Index: trunk/npstat/stat/Distribution1DReader.cc =================================================================== --- trunk/npstat/stat/Distribution1DReader.cc (revision 594) +++ trunk/npstat/stat/Distribution1DReader.cc (revision 595) @@ -1,67 +1,69 @@ #include "npstat/stat/Distribution1DReader.hh" #include "npstat/stat/Distributions1D.hh" #include "npstat/stat/JohnsonCurves.hh" #include "npstat/stat/CompositeDistribution1D.hh" #include "npstat/stat/GaussianMixture1D.hh" #include "npstat/stat/DistributionMix1D.hh" #include "npstat/stat/TruncatedDistribution1D.hh" #include "npstat/stat/QuantileTable1D.hh" #include "npstat/stat/LeftCensoredDistribution.hh" #include "npstat/stat/RightCensoredDistribution.hh" #include "npstat/stat/RatioOfNormals.hh" #include "npstat/stat/UGaussConvolution1D.hh" #include "npstat/stat/InterpolatedDistro1D1P.hh" #include "npstat/stat/InterpolatedDistro1DNP.hh" #include "npstat/stat/TransformedDistribution1D.hh" #include "npstat/stat/LocationScaleFamily1D.hh" #include "npstat/stat/EdgeworthSeries1D.hh" +#include "npstat/stat/DeltaMixture1D.hh" #define add_reader(Derived) do {\ const gs::ClassId& id(gs::ClassId::makeId());\ (*this)[id.name()] = new gs::ConcreteReader();\ } while(0); namespace npstat { Distribution1DReader::Distribution1DReader() { add_reader(BinnedDensity1D); add_reader(JohnsonSu); add_reader(JohnsonSb); add_reader(JohnsonSystem); add_reader(Gauss1D); add_reader(BifurcatedGauss1D); add_reader(LogNormal); add_reader(Cauchy1D); add_reader(Uniform1D); add_reader(Quadratic1D); add_reader(LogQuadratic1D); add_reader(TruncatedGauss1D); add_reader(SymmetricBeta1D); add_reader(Beta1D); add_reader(Gamma1D); add_reader(Pareto1D); add_reader(Huber1D); add_reader(StudentsT1D); add_reader(Tabulated1D); add_reader(CompositeDistribution1D); add_reader(GaussianMixture1D); add_reader(Exponential1D); add_reader(TruncatedDistribution1D); add_reader(QuantileTable1D); add_reader(LeftCensoredDistribution); add_reader(RightCensoredDistribution); add_reader(RatioOfNormals); add_reader(DistributionMix1D); add_reader(UGaussConvolution1D); add_reader(Moyal1D); add_reader(InterpolatedDistro1D1P); add_reader(InterpolatedDistro1DNP); add_reader(MirroredGauss1D); add_reader(TransformedDistribution1D); add_reader(LocationScaleFamily1D); add_reader(IsoscelesTriangle1D); add_reader(Logistic1D); add_reader(EdgeworthSeries1D); + add_reader(DeltaMixture1D); } } Index: trunk/NEWS =================================================================== --- trunk/NEWS (revision 594) +++ trunk/NEWS (revision 595) @@ -1,711 +1,713 @@ Version 4.10.0 - development * Added SemiInfGaussianQuadrature class. * Added functions arrayMoment, arrayMoments, and arrayCentralMoments. * Added enum EdgeworthSeriesMethod and class EdgeworthSeries1D. +* Added DeltaMixture1D class. + Version 4.9.0 - Dec 18 2018, by I. Volobouev * Added "integratePoly" and "jointIntegral" methods to the AbsClassicalOrthoPoly1D class. * Added utility functions "truncatedInverseSqrt" and "matrixIndexPairs". * Added a number of functions to "orthoPoly1DVProducts.hh". * Added classes ChebyshevOrthoPoly1st and ChebyshevOrthoPoly2nd inheriting from AbsClassicalOrthoPoly1D. * Added class HermiteProbOrthoPoly1D. * Added FejerQuadrature class. * Added classe IsoscelesTriangle1D and Logistic1D. * Added classes AbsKDE1DKernel and KDE1DHOSymbetaKernel. * Added static function "optimalDegreeHart" to OSDE1D class. Version 4.8.0 - Jul 9 2018, by I. Volobouev * Added ShiftedLegendreOrthoPoly1D class. * Added Lanczos method to generate recurrence coefficients for the ContOrthoPoly1D class. * Added npstat/stat/orthoPoly1DVProducts.hh file with various utilities for statistical analyis of chaos polynomials. Version 4.7.0 - Jan 13 2018, by I. Volobouev * Added "UniPareto1D" distribution (uniform with Pareto tail to the right). * More coordinate/weight cases for the GaussLegendreQuadrature class. * Added ContOrthoPoly1D class -- continuous orthogonal polynomials with discrete measure. * Added functions "linearLeastSquares" and "tdSymEigen" to the Matrix class. * Added OSDE1D class. * Added classes LocationScaleFamily1D and SinhAsinhTransform1D. * Added new functors (CdfFunctor1D, etc) as AbsDistribution1D helpers. * Small fix in StatAccumulatorArr.cc. Version 4.6.0 - Jan 23 2017, by I. Volobouev * Updated 1-d LOrPE cross validation code (classes AbsBandwidthCV, BandwidthCVLeastSquares1D, BandwidthCVPseudoLogli1D) for use with weighted samples in the case the sample itself is available at the point cross validation is run. Version 4.5.0 - Aug 01 2016, by I. Volobouev * A small fix in OrthoPolyND.icc (switched from cycling over unsigned to unsigned long in the scalar product function). * Implemented Gauss-Hermite quadrature with Gaussian density weight. * Changed the meaning of Quadratic1D and LogQuadratic1D parameters to be consistent with Legendre polynomial coefficients on [-1, 1] (new parameters are 1/2 of old). * Added class MinuitUnbinnedFitFcn1D (to interfaces). * Added function "findRootNewtonRaphson". * Added "statUncertainties" header with various functions. Version 4.4.0 - May 9 2016, by I. Volobouev * Added "timestamp" function. * Improved implementation of BinnedDensity1D::unscaledQuantile function. Certain problems caused by round-off errors are now fixed. * Added the capability to use the single closest parameter cells (thus disabling actual interpolation between parameter values, for speed) to "GridInterpolatedDistribution". Version 4.3.0 - March 19 2016, by I. Volobouev * Put additional assert statements inside OrthoPolyND.icc to prevent phony "array subscript is above array bounds" messages in g++ 4.9.2. * Improved CmdLine.hh. * Additional methods in CopulaInterpolationND and GridInterpolatedDistribution. * Added function "volumeDensityFromBinnedRadial". * Added convenience method "globalFilter" to the OrthoPoly1D class. * Initiated the transition of the Python API from Python 2 to Python 3. Version 4.2.0 - October 29 2015, by I. Volobouev * Added interpolation methods for the marginals to classes "CopulaInterpolationND" and "GridInterpolatedDistribution". * Removed assert on underflow in the "igamc" function. Now in such cases this function simply returns 0.0. Version 4.1.0 - July 27 2015, by I. Volobouev * Made a few additional methods virtual in AbsNtuple. * Declared methods "columnIndices" of AbsNtuple const (as they should be). * Added function "weightedCopulaHisto" to build copulas for samples of weighted points. * Added function "weightedVariableBandwidthSmooth1D" to use variable bandwidth smoothing with weighted histograms. * Added "AbsWeightedMarginalSmoother" interface class for smoothing samples of weighted points. Modified classes ConstantBandwidthSmoother1D, JohnsonKDESmoother, and LOrPEMarginalSmoother to support this interface. * Added class "VariableBandwidthSmoother1D" which implements both AbsMarginalSmoother and AbsWeightedMarginalSmoother interfaces. * Implemented cross-validation for weighted samples. * Implemented "buildInterpolatedCompositeDistroND" for generic construction of multivariate transfer functions. * Implemented "buildInterpolatedDistro1DNP" for generic construction of univariate transfer functions. Version 4.0.1 - June 17 2015, by I. Volobouev * Added "dump_qmc" example executable. Version 4.0.0 - June 10 2015, by I. Volobouev * Complete overhaul of 1-d filter-building code. Addition of new boundary methods is a lot easier now. The user API for choosing a LOrPE boundary method is encapsulated in the new "BoundaryHandling" class. * Implemented a number of new filter builders with different boundary treatments. * Updated the "LocalPolyFilter1D" class so that it holds the local bandwidth factors derived by the filter builders. Version 3.8.0 - June 1 2015, by I. Volobouev * Implemented class ConstSqFilter1DBuilder (declared in the header file npstat/stat/Filter1DBuilders.hh). The "BoundaryMethod" enum has been extended accordingly. Other files using this enum have been updated. * Implemented class FoldingSqFilter1DBuilder. Similar to ConstSqFilter1DBuilder but it also folds the kernel in addition to stretching it. * Added virtual destructors to a number of classes. * Added "externalMemArrayND" with various signatures to allow the use of ArrayND with memory not managed by ArrayND. * Added move constructors and move assignment operators to ArrayND and Matrix classes. Version 3.7.0 - May 10 2015, by I. Volobouev * Better numerical derivative calculation in InterpolatedDistribution1D.cc. * Added class "LocalMultiFilter1D" for fast generation of filters which correspond to each orthogonal polynomial separately. * Added a function calculating the area of n-dimensional sphere. * Added I/O capabilities to the RadialProfileND class. * Added class "LogRatioTransform1D". * Added utility function "multiFill1DHistoWithCDFWeights" (header file histoUtils.hh). * Avoiding underflow of the incomplete gamma in "convertToSphericalRandom". Version 3.6.0 - April 6 2015, by I. Volobouev * Fixed Marsaglia's code calculating the Anderson-Darling statistics (it was breaking down for large values of z). * Added high-level driver function "simpleVariableBandwidthSmooth1D" to automatically build the pilot estimate for "variableBandwidthSmooth1D". * Swithched to log of sigma as Minuit parameter in "minuitFitJohnsonCurves" instead of sigma (linear sigma would sometimes break the fit when Minuit would come up with 0 or negative trial value for it). * Extended "MinuitDensityFitFcn1D" class so that it could be used to fit non-uniformly binned histograms. * Adapted "minuitFitJohnsonCurves" function so that it could be used with histograms templated upon DualHistoAxis. * Added functions "fillArrayCentersPreservingAreas" and "canFillArrayCentersPreservingAreas". * Implemented an interface to monotonous coordinate transformations with the intent of using them in constructing densities. Implemented a number of transforms. * Implemented class "TransformedDistribution1D". * Added class "VerticallyInterpolatedDistro1D1P". * Added utility function "fill1DHistoWithCDFWeights". Version 3.5.0 - February 21 2015, by I. Volobouev * Added "symPDEigenInv" method to the Matrix class. * Added "variableCount" method to unfolding bandwidth scanner classes. * Increased the tolerance parameters in JohnsonSu::initialize and in JohnsonFit constructor. * Bug fix in function "fillHistoFromText". Version 3.4.4 - January 13 2015, by I. Volobouev * Corrected handling of some "assert" statements so that the code compiles correctly with the -DNDEBUG option. Version 3.4.3 - January 5 2015, by I. Volobouev * Implemented class MirroredGauss1D. * Added method "getOracleData" to class UnfoldingBandwidthScanner1D. * Bug fix in FoldingFilter1DBuilder::makeOrthoPoly. Version 3.4.2 - December 15 2014, by I. Volobouev * Implemented InterpolatedDistro1D1P class. Version 3.4.1 - November 07 2014, by I. Volobouev * Implemented "divideTransforms" function for deconvolutions. * Implemented the Moyal distribution. * Added "fillHistoFromText" utility function. * Added "apply_lorpe_1d" example. Version 3.4.0 - October 01 2014, by I. Volobouev * Implemented Hadamard product and Hadamard ratio for matrices. * Bug fix in the "solve_linear_system" lapack interface function. Version 3.3.1 - August 08 2014, by I. Volobouev * Terminate iterative refinement of the unfolding error propagation matrix early in case the solution does not seem to improve. Version 3.3.0 - August 05 2014, by I. Volobouev * Added correction factors to the determination of the number of fitted parameters in various unfolding procedures. Version 3.2.0 - July 25 2014, by I. Volobouev * Added "gaussianResponseMatrix" function for non-uniform binning. * Added Pareto distribution. * Implemented EMS unfolding with sparse matrices. * Added methods "getObservedShape" and "getUnfoldedShape" to the AbsUnfoldND class. * Bug fix in the assignment operator of ProductDistributionND class. Made class ProductDistributionND persistent. * Bug fix in the error propagation for unfolding, in the code which takes into account the extra normalization constant. * Added "productResponseMatrix" function to assist in making sparse response matrices. * Bug fix in the factory constructor of the Cauchy1D class. * Completed implementation of the "RatioOfNormals" class. Version 3.1.0 - June 29 2014, by I. Volobouev * Improved (again) random number generator for the 1-d Gaussian distribution. Something about expectation values of normalized Hermite polynomials over random numbers made by this generator is still not fully understood. The standard deviation of these expectations decreases with the polynomial order (while it should stay constant). It is possible that the numbers of points used are simply insufficient to sample the tails correctly. * Implemented smoothed expectation-maximization (a.k.a. D'Agostini) unfolding for 1-d distributions in classes SmoothedEMUnfold1D and MultiscaleEMUnfold1D. In certain usage scenarios, MultiscaleEMUnfold1D can be more efficient than SmoothedEMUnfold1D. * Implemented smoothed expectation-maximization unfolding for multivariate distributions in a class SmoothedEMUnfoldND. * Added class "UnfoldingBandwidthScanner1D" to study 1-d unfolding behavior as a function of filter bandwidth. * Added class "UnfoldingBandwidthScannerND" to study multivariate unfolding behavior as a function of provided bandwidth values. * Added DummyLocalPolyFilter1D class useful when a filter is needed which does not smooth anything. * Added function "poissonLogLikelihood" (header file npstat/stat/arrayStats.hh). * Added function "pooledDiscreteTabulated1D" (header file npstat/stat/DiscreteDistributions1D.hh). * Implemented class UGaussConvolution1D (convolution of uniform distribution with a Gaussian). * Implemented gamma distribution (class Gamma1D). * Defined interface for comparing binned distributions, AbsBinnedComparison1D. * Implemented several comparison classes for comparing binned distributions: PearsonsChiSquared, BinnedKSTest1D, BinnedADTest1D. Class BinnedKSTest1D pulled in dependence on the "kstest" package. * Made classes LocalPolyFilter1D, LocalPolyFilterND, and SequentialPolyFilterND persistent. * Added code generating dense filter matrices to LocalPolyFilterND and SequentialPolyFilterND (as needed for unfolding). * Made class MemoizingSymbetaFilterProvider persistent. * Implemented function goldenSectionSearchOnAGrid (header file npstat/nm/goldenSectionSearch.hh). * Implemented function parabolicExtremum (header npstat/nm/MathUtils.hh). * Added class DistributionMix1D (header npstat/stat/DistributionMix1D.hh). * Added interface to solving A*X = B, with matrices X and B, to the Matrix class (method "solveLinearSystems"). * Added "reshape" methods to the ArrayND class. * Added "gaussianResponseMatrix" function. * Added a section on unfolding to the documentation. * Added "ems_unfold_1d" example program. Version 3.0.0 - March 14 2014, by I. Volobouev * Added interface to the LAPACK SVD routines. * Added function "lorpeMise1D" to calculate MISE for arbitrary distributions. * Added FoldingFilter1DBuilder class. * Changed interfaces for several high-level functions to use FoldingFilter1DBuilder. The major version number got bumped up. * Split DensityScan1D.hh away from AbsDistribution1D.hh. Version 2.7.0 - March 10 2014, by I. Volobouev * Added code to optimize operations with diagonal matrices. * Added discretizedDistance.hh file for simple L1 and L2 distance calculations with numeric arrays. * Added base class for future unfolding code. * The "reset" method of the Matrix class was renamed into "uninitialize" in order to be consistent with ArrayND. * Added function "multinomialCovariance1D". * Added "polyTimesWeight" method to the OrthoPoly1D class. * Added methods "TtimesThis" and "timesT" to the Matrix class. These methods are more efficient than transpose followed by multiplication. Version 2.6.0 - January 30 2014, by I. Volobouev * Added function "lorpeBackgroundCVDensity1D" which linearizes calculation of the cross validation likelihood in semiparametric fits. Argument "linearizeCrossValidation" was added to MinuitSemiparametricFitFcn1D constructor, "lorpeBackground1D" function, etc. * Added the ability to build filters with center point removed to classes WeightTableFilter1DBuilder and StretchingFilter1DBuilder. The function "symbetaLOrPEFilter1D" now has an appropriate switch. * Added "removeRowAndColumn" method to the Matrix class. * Added CircularBuffer class. * Added various plugin bandwidth functions which work with non-integer polynomial degrees. * Switched to the Legendre polynomial basis for calculating all 1-d orthogonal polynomials (instead of monomial basis). * Added MemoizingSymbetaFilterProvider class. * Added "operator+=" method to the MultivariateSumAccumulator class. * Simplified implementation of the PolyFilterCollection1D class. File PolyFilterCollection1D.icc is removed. * Added "RatioOfNormals" 1-d distribution function. Only the density is currently implemented but not the CDF. * Added ExpMapper1d class. Version 2.5.0 - October 15 2013, by I. Volobouev * Added "getFilterMatrix" method to the LocalPolyFilter1D class. * Added "genEigen" method to the Matrix class (for determination of eigenvalues and eigenvectors of general real matrices). * Refactored the LAPACK interface so that interface functions to floats are automatically generated from interface functions to doubles. See the comment at the end of the "lapack_interface.icc" file for the shell commands to do this. Version 2.4.0 - October 6 2013, by I. Volobouev * Added functions "lorpeBackground1D", "lorpeBgCVPseudoLogli1D", and "lorpeBgLogli1D". * Added minuit interface classes "MinuitLOrPEBgCVFcn1D" and "MinuitSemiparametricFitFcn1D". * Added "ScalableDensityConstructor1D" class for use with Minuit interface functions. * Added classes AbsSymbetaFilterProvider and SymbetaPolyCollection1D. Version 2.3.0 - October 1 2013, by I. Volobouev * Allowed point dimensionality to be larger than the histogram dimensionality in the "empiricalCopulaHisto" function. * Added "keepAllFilters" method to AbsFilter1DBuilder and all derived classes. * Implemented exclusion regions for WeightTableFilter1DBuilder and StretchingFilter1DBuilder. * "symbetaLOrPEFilter1D" function (in the header LocalPolyFilter1D.hh) is updated to take the exclusion mask argument. * Added "continuousDegreeTaper" function which can do something meaningful with the continuous LOrPE degree parameter. Version 2.2.0 - June 30 2013, by I. Volobouev * Added classes DiscreteBernsteinPoly1D and BernsteinFilter1DBuilder. * Added classes DiscreteBeta1D and BetaFilter1DBuilder. * Added BifurcatedGauss1D class to model Gaussian-like distributions with different sigmas on the left and right sides. * Added virtual destructors to the classes declared in the Filter1DBuilders.hh header. * Added a method to the Matrix template to calculate Frobenius norm. * Added methods to the Matrix template to calculate row and column sums. * Added "directSum" method to the Matrix template. * Added constructor from a subrange of another matrix to the Matrix template. * Added code to the LocalPolyFilter1D class that generates a doubly stochastic filter out of an arbitrary filter. * Added "npstat/nm/definiteIntegrals.hh" header and corresponding .cc file for various infrequently used integrals. * Added "betaKernelsBandwidth" function. Version 2.1.0 - June 20 2013, by I. Volobouev * Fixed couple problems which showed up in the robust regression code due to compiler update. * Fixed CensoredQuantileRegressionOnKDTree::process method (needed this-> dereference for some member). Version 2.0.0 - June 15 2013, by I. Volobouev * Updated to use "Geners" version 1.3.0. A few interfaces were changed (API for the string archives was removed because Geners own string archive facilities are now adequate) so the major version number was bumped up. Version 1.6.0 - June 12 2013, by I. Volobouev * Updated some documentation. * Updated fitCompositeJohnson.icc to use simplified histogram constructors. * Bug fix in the "minuitLocalQuantileRegression1D" function. * Changed the "quantileBinFromCdf" function to use unsigned long type for array indices. * Added "weightedLocalQuantileRegression1D" function (namespace npsi) for local regression with single predictor on weighted points. Version 1.5.0 - May 23 2013, by I. Volobouev * Added interfaces to LAPACK routines DSYEVD, DSYEVR, and corresponding single precision versions. * Added the "symPSDefEffectiveRank" method to the Matrix class for calculating effective ranks of symmetric positive semidefinite matrices. * Added converting constructor and assignment operator to the Matrix class. * Run the Gram-Schmidt procedure twice when orthogonal polynomials are derived in order to improve orthogonality. Version 1.4.0 - May 20 2013, by I. Volobouev * Added the "append" method to the AbsNtuple class. Version 1.3.0 - May 10 2013, by I. Volobouev * Added the code for Hermite polynomial series. * Improved random number generator for the 1-d Gaussian distribution. * Added a framework for discrete 1-d distributions as well as two concrete distribution classes (Poisson1D, DiscreteTabulated1D). * Added functions "readCompressedStringArchiveExt" and "writeCompressedStringArchiveExt" which can read/write either compressed or uncompressed string archives, distinguished by file extension. Version 1.2.1 - March 22 2013, by I. Volobouev * Improved CmdLine.hh in the "examples/C++" directory. * Added class QuantileTable1D. * Added classes LeftCensoredDistribution and RightCensoredDistribution. Version 1.2.0 - March 13 2013, by I. Volobouev * Added convenience "fill" methods to work with the ntuples which have small number of columns (up to 10). * Fixed a bug in AbsRandomGenerator for univariate generators making multivariate points. * Added LOrPEMarginalSmoother class. Version 1.1.1 - March 11 2013, by I. Volobouev * Added utility function "symbetaLOrPEFilter1D" which creates 1-d LOrPE filters using kernels from the symmetric beta family (and the Gaussian). * Added high level driver function "lorpeSmooth1D". * Allowed variables with zero variances for calculation of correlation coefficients in "MultivariateSumsqAccumulator". Such variables will have zero correlation coefficients with all other variables. * Added rebinning constructor to the HistoND class. Version 1.1.0 - March 8 2013, by I. Volobouev * Changed NUHistoAxis::fltBinNumber method to produce correct results with interpolation degree 0. It is not yet obvious which method would work best for higher interpolation degrees. * Added functions for converting between StringArchive and python bytearray. They have been placed in a new header: wrap/stringArchiveToBinary.hh. * Added methods "exportMemSlice" and "importMemSlice" to ArrayND. These methods allow for filling array slices from unstructured memory buffers and for exporting array slices to such memory buffers. * Added "simpleColumnNames" function (header file AbsNtuple.hh) to generate trivial column names when ntuple column names are not important. * Added functions "neymanPearsonWindow1D" and "signalToBgMaximum1D". They are declared in a new header npstat/neymanPearsonWindow1D.hh. Version 1.0.5 - December 17 2012, by I. Volobouev * Flush string archives before writing them out in stringArchiveIO.cc. * Added class TruncatedDistribution1D. Version 1.0.4 - November 14 2012, by I. Volobouev * Added utilities for reading/writing Geners string archives to files. * Added BinSummary class. * Doxygen documentation improved. Every header file in stat, nm, rng, and interfaces now has a brief description. Version 1.0.3 - September 27 2012, by I. Volobouev * Fixed some bugs related to moving StorableMultivariateFunctor code from "nm" to "stat". Version 1.0.2 - August 6 2012, by I. Volobouev * Added converting copy constructor to the "LinInterpolatedTableND" class. * Added StorableMultivariateFunctor class (together with the corresponding reader class). * Added StorableInterpolationFunctor class which inherits from the above and can be used with interpolation tables. * Added StorableHistoNDFunctor class which inherits from StorableMultivariateFunctor and can be used to interpolate histogram bins. * Added "transpose" method to HistoND class. * Created DualAxis class. * Created DualHistoAxis class. * Added conversion functions between histogram and grid axes. * Added "mergeTwoHistos" function for smooth merging of two histograms. * Added "ProductSymmetricBetaNDCdf" functor to be used as weight in merging histograms. * Added CoordinateSelector class. Version 1.0.1 - June 29 2012, by I. Volobouev * Implemented class LinInterpolatedTableND with related supporting code.