#EXTRA_CXXFLAGS=-Wno-unused-parameter -Wno-self-assign-field
EXTRA_CXXFLAGS=-Wno-unused-parameter
CXXFLAGS=-Wall -W -Wno-unused-variable -Wno-empty-body $(EXTRA_CXXFLAGS) -g -O3 -std=c++98
CPPFLAGS=-I/opt/local/include
LDFLAGS=-L/opt/local/lib
LOADLIBES=

predict-timeseries: CPPFLAGS=-I/opt/local/include -I/opt/local/include/boost-numeric-bindings
predict-timeseries: LDFLAGS=-L/opt/local/lib -L$(HOME)/import/local/science/blas+lapack+atlas/clapack-3.2.1-CMAKE-yatihoko
predict-timeseries: LOADLIBES=-ltmglib -llapack -lblas -lf2c

#generate-noise: CPPFLAGS=-I/opt/local/10.4/include
#generate-noises: CPPFLAGS=-I/opt/local/10.4/include

EXES=\
check-vector_numeric	\
alt/generate-timeseries generate-timeseries	\
alt/embed-timeseries	embed-timeseries	\
predict-timeseries	\
generate-noise	\
generate-noises	\

DATS=\
data/henon.dat	\
data/henon.dat.prd-l1.emb	\
data/henon.dat.prd-lp-1.emb	\
data/henon.dat.prd-l2.emb	\
data/henon.dat.prd-l3.emb	\
data/henon.dat.prd-lu.emb	\
data/henon.dat.prd-jm.emb	\
data/henon.dat.prd-rbf.emb	\
data/henon.dat.prd-arbf.emb	\
data/lorenz.dat	\
data/lorenz_2.dat	\
data/lorenz.dat.prd-l1	\
data/lorenz.dat.prd-lp-1	\
data/lorenz.dat.prd-l2	\
data/lorenz.dat.prd-l3	\
data/lorenz.dat.prd-lu	\
data/lorenz.dat.prd-jm	\
data/lorenz.dat.prd-rbf	\
data/lorenz.dat.prd-arbf	\
data/rossler.dat	\
data/rossler_2.dat	\
data/rossler.dat.prd-l1	\
data/rossler.dat.prd-lp-1	\
data/rossler.dat.prd-l2	\
data/rossler.dat.prd-l3	\
data/rossler.dat.prd-lu	\
data/rossler.dat.prd-jm	\
data/rossler.dat.prd-rbf	\
data/rossler.dat.prd-arbf	\

all: $(EXES)

clean:
	rm -f $(EXES)
	rm -rf $(EXES:%=%.dSYM)

test: $(EXES)
	[ -d data ] || mkdir data
#
	./generate-timeseries --henon /x .1 /y 0 > data/henon.dat
	./generate-timeseries --lorenz > data/lorenz.dat
	./generate-timeseries --lorenz /x 10.1 /y 20.1 /z 30.1 > data/lorenz_2.dat
	./generate-timeseries --rossler > data/rossler.dat
	./generate-timeseries --rossler /x .01 /y .01 /z .01 > data/rossler_2.dat
#
	time ./predict-timeseries --lorenz_uniform		 -d 2 -p 1 -m  3 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-l1.emb
	time ./predict-timeseries --lorenz_generalized_uniform	 -d 2 -p 1 -m  3 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-lp-1.emb
	time ./predict-timeseries --lorenz_reciprocal		 -d 2 -p 1 -m  3 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-l2.emb
	time ./predict-timeseries --lorenz_exponential		 -d 2 -p 1 -m  3 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-l3.emb
	time ./predict-timeseries --lu_factorize		 -d 2 -p 1 -m 10 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-lu.emb
	time ./predict-timeseries --jacobian_matrix		 -d 2 -p 1 -m 10 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-jm.emb
#	time ./predict-timeseries --rbf_network			 -d 2 -p 1 -m 10 -b 1e+2,1e+2 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-rbf.emb
	time ./predict-timeseries --rbf_network			 -d 2 -p 1 -m 10 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-rbf.emb
#	time ./predict-timeseries --smoothing_rbf_network	 -d 2 -p 1 -m 10 -b 1e+2,1e+2 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-srbf.emb
	time ./predict-timeseries --smoothing_rbf_network	 -d 2 -p 1 -m 10 --smooth 1e+0 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-srbf.emb
#	time ./predict-timeseries --affine_plus_rbf_network	 -d 2 -p 1 -m 10 -b 1e+1,1e+1 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-arbf.emb
	time ./predict-timeseries --affine_plus_rbf_network	 -d 2 -p 1 -m 10 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-arbf.emb
#	time ./predict-timeseries --affine_plus_smoothing_rbf_network	 -d 2 -p 1 -m 10 -b 1e+1,1e+1 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-asrbf.emb
	time ./predict-timeseries --affine_plus_smoothing_rbf_network	 -d 2 -p 1 -m 10 --smooth 1e+0 -i 5000 data/henon.dat | ./embed-timeseries -d 2 > data/henon.dat.prd-asrbf.emb
	time ./predict-timeseries --lorenz_uniform		 -d 1,1,1 -p 5 -m  5 -i 5000 data/lorenz.dat data/lorenz_2.dat > data/lorenz.dat.prd-l1
	time ./predict-timeseries --lorenz_generalized_uniform	 -d 1,1,1 -p 5 -m  5 -i 5000 data/lorenz.dat data/lorenz_2.dat > data/lorenz.dat.prd-lp-1
	time ./predict-timeseries --lorenz_reciprocal		 -d 1,1,1 -p 5 -m  5 -i 5000 data/lorenz.dat data/lorenz_2.dat > data/lorenz.dat.prd-l2
	time ./predict-timeseries --lorenz_exponential		 -d 1,1,1 -p 5 -m  5 -i 5000 data/lorenz.dat data/lorenz_2.dat > data/lorenz.dat.prd-l3
	time ./predict-timeseries --lu_factorize		 -d 1,1,1 -p 5 -m 25 -i 5000 data/lorenz.dat data/lorenz_2.dat > data/lorenz.dat.prd-lu
	time ./predict-timeseries --jacobian_matrix		 -d 1,1,1 -p 5 -m 25 -i 5000 data/lorenz.dat data/lorenz_2.dat > data/lorenz.dat.prd-jm
#	time ./predict-timeseries --rbf_network			 -d 1,1,1 -p 5 -m 100 -c 10 -b 1e+0,1e+0,1e+0 -i 5000 --normalize zero_one   data/lorenz_2.dat > data/lorenz.dat.prd-rbf
#	time ./predict-timeseries --rbf_network			 -d 1,1,1 -p 5 -m 100 -c 10 -b 1e+1,1e+1,1e+1 -i 5000 --normalize statistic  data/lorenz_2.dat > data/lorenz.dat.prd-rbf
#	time ./predict-timeseries --rbf_network			 -d 1,1,1 -p 5 -m 100 -c 10 -b 1e+0,1e+0,1e+0 -i 5000 --normalize domain     data/lorenz_2.dat > data/lorenz.dat.prd-rbf
	time ./predict-timeseries --rbf_network			 -d 1,1,1 -p 5 -m  25 -c 40 -i 5000 data/lorenz_2.dat > data/lorenz.dat.prd-rbf
#	time ./predict-timeseries --smoothing_rbf_network	 -d 1,1,1 -p 5 -m 100 -c 10 -b 1e+0,1e+0,1e+0 -i 5000 --normalize domain     data/lorenz_2.dat > data/lorenz.dat.prd-srbf
	time ./predict-timeseries --smoothing_rbf_network	 -d 1,1,1 -p 5 -m  25 -c 40 --smooth 1e+0 -i 5000 data/lorenz_2.dat > data/lorenz.dat.prd-srbf
#	time ./predict-timeseries --affine_plus_rbf_network	 -d 1,1,1 -p 5 -m 100 -c 10 -b 1e+2,1e+2,1e+2 -i 5000 data/lorenz_2.dat > data/lorenz.dat.prd-arbf
	time ./predict-timeseries --affine_plus_rbf_network	 -d 1,1,1 -p 5 -m  25 -c 40 -i 5000 data/lorenz_2.dat > data/lorenz.dat.prd-arbf
#	time ./predict-timeseries --affine_plus_smoothing_rbf_network	 -d 1,1,1 -p 5 -m 100 -c 10 -b 1e+2,1e+2,1e+2 -i 5000 data/lorenz_2.dat > data/lorenz.dat.prd-asrbf
	time ./predict-timeseries --affine_plus_smoothing_rbf_network	 -d 1,1,1 -p 5 -m  25 -c 40 --smooth 1e+0 -i 5000 data/lorenz_2.dat > data/lorenz.dat.prd-asrbf
	time ./predict-timeseries --lorenz_uniform		 -d 1,1,1 -p 5 -m  5 -i 5000 data/rossler.dat data/rossler_2.dat > data/rossler.dat.prd-l1
	time ./predict-timeseries --lorenz_generalized_uniform	 -d 1,1,1 -p 5 -m  5 -i 5000 data/rossler.dat data/rossler_2.dat > data/rossler.dat.prd-lp-1
	time ./predict-timeseries --lorenz_reciprocal		 -d 1,1,1 -p 5 -m  5 -i 5000 data/rossler.dat data/rossler_2.dat > data/rossler.dat.prd-l2
	time ./predict-timeseries --lorenz_exponential		 -d 1,1,1 -p 5 -m  5 -i 5000 data/rossler.dat data/rossler_2.dat > data/rossler.dat.prd-l3
	time ./predict-timeseries --lu_factorize		 -d 1,1,1 -p 5 -m 25 -i 5000 data/rossler.dat data/rossler_2.dat > data/rossler.dat.prd-lu
	time ./predict-timeseries --jacobian_matrix		 -d 1,1,1 -p 5 -m 25 -i 5000 data/rossler.dat data/rossler_2.dat > data/rossler.dat.prd-jm
#	time ./predict-timeseries --rbf_network			 -d 1,1,1 -p 5 -m 100 -c 50 -b 7e-1,7e-1,7e-1 -i 5000 --normalize zero_one   data/rossler_2.dat > data/rossler.dat.prd-rbf
#	time ./predict-timeseries --rbf_network			 -d 1,1,1 -p 5 -m 100 -c 50 -b 1e+1,1e+1,1e+1 -i 5000 --normalize statistic  data/rossler_2.dat > data/rossler.dat.prd-rbf
#	time ./predict-timeseries --rbf_network			 -d 1,1,1 -p 5 -m 100 -c 50 -b 2e-1,2e-1,2e-1 -i 5000 --normalize domain     data/rossler_2.dat > data/rossler.dat.prd-rbf
	time ./predict-timeseries --rbf_network			 -d 1,1,1 -p 5 -m 100 -c 50 -i 5000 data/rossler_2.dat > data/rossler.dat.prd-rbf
#	time ./predict-timeseries --smoothing_rbf_network	 -d 1,1,1 -p 5 -m 100 -c 50 -b 1e+1,1e+1,1e+1 -i 5000 --normalize statistic  data/rossler_2.dat > data/rossler.dat.prd-srbf
	time ./predict-timeseries --smoothing_rbf_network	 -d 1,1,1 -p 5 -m 100 -c 50 --smooth 1e+0 -i 5000 data/rossler_2.dat > data/rossler.dat.prd-srbf
#	time ./predict-timeseries --affine_plus_rbf_network	 -d 1,1,1 -p 5 -m 100 -c 10 -b 1e+3,1e+3,1e+3 -i 5000 data/rossler_2.dat > data/rossler.dat.prd-arbf
	time ./predict-timeseries --affine_plus_rbf_network	 -d 1,1,1 -p 5 -m 50 -c 100 -i 5000 data/rossler_2.dat > data/rossler.dat.prd-arbf
#	time ./predict-timeseries --affine_plus_smoothing_rbf_network	 -d 1,1,1 -p 5 -m 100 -c 10 -b 1e+3,1e+3,1e+3 -i 5000 data/rossler_2.dat > data/rossler.dat.prd-asrbf
	time ./predict-timeseries --affine_plus_smoothing_rbf_network	 -d 1,1,1 -p 5 -m 50 -c 100 --smooth 1e+0 -i 5000 data/rossler_2.dat > data/rossler.dat.prd-asrbf
#
	for terminal in 'x11 enhanced 20' 'postscript enhanced eps 20'; do \
	case "$$terminal" in x11*)pause='pause mouse keypress;';;*)pause='';; esac;\
	./embed-timeseries -d 2 data/henon.dat | gnuplot -e "set terminal $$terminal; set output 'data/henon.dat.emb.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Henon Map ({/Times-Italic N}=10000, {/Times-Italic d}=2)}'; plot '-' with points notitle; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/henon.dat.prd-l1.emb.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Henon Map by lorenz\_uniform ({/Times-Italic p}=1, {/Times-Italic M}=3)}'; plot 'data/henon.dat.prd-l1.emb' with points;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/henon.dat.prd-lp-1.emb.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Henon Map by lorenz\_generalized\_uniform ({/Times-Italic p}=1, {/Times-Italic M}=3, {/Times-Italic l}=2, {/Times-Italic m}=-1)}}'; plot 'data/henon.dat.prd-lp-1.emb' with points;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/henon.dat.prd-l2.emb.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Henon Map by lorenz\_reciprocal ({/Times-Italic p}=1, {/Times-Italic M}=3)}'; plot 'data/henon.dat.prd-l2.emb' with points;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/henon.dat.prd-l3.emb.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Henon Map by lorenz\_exponential ({/Times-Italic p}=1, {/Times-Italic M}=3)}'; plot 'data/henon.dat.prd-l3.emb' with points;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/henon.dat.prd-lu.emb.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Henon Map by lu\_factorize ({/Times-Italic p}=1, {/Times-Italic M}=10)}'; plot 'data/henon.dat.prd-lu.emb' with points;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/henon.dat.prd-jm.emb.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Henon Map by jacobian\_matrix ({/Times-Italic p}=1, {/Times-Italic M}=10)}'; plot 'data/henon.dat.prd-jm.emb' with points;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/henon.dat.prd-rbf.emb.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Henon Map by rbf\_network ({/Times-Italic p}=1, {/Times-Italic M}=10, {/Times-Italic c}=1)}'; plot 'data/henon.dat.prd-rbf.emb' with points;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/henon.dat.prd-srbf.emb.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Henon Map by smoothing\_rbf\_network ({/Times-Italic p}=1, {/Times-Italic M}=10, {/Times-Italic c}=1, {/Symbol m}=10^{0})}'; plot 'data/henon.dat.prd-srbf.emb' with points;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/henon.dat.prd-arbf.emb.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Henon Map by affine\_plus\_rbf\_network ({/Times-Italic p}=1, {/Times-Italic M}=10, {/Times-Italic c}=1)}'; plot 'data/henon.dat.prd-arbf.emb' with points;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/henon.dat.prd-asrbf.emb.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Henon Map by affine\_plus\_smoothing\_rbf\_network ({/Times-Italic p}=1, {/Times-Italic M}=10, {/Times-Italic c}=1, {/Symbol m}=10^{0})}'; plot 'data/henon.dat.prd-asrbf.emb' with points;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/lorenz.dat.eps';			 set datafile separator ','; set title '{/Times-Roman=16 Lorenz Attractor ({/Times-Italic N}=10000, {/Times-Italic d}=(1,1,1)=3)}'; splot 'data/lorenz.dat' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/lorenz.dat.prd-l1.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Lorenz Attractor by lorenz\_uniform ({/Times-Italic p}=5, {/Times-Italic M}=5)}'; splot 'data/lorenz.dat.prd-l1' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/lorenz.dat.prd-lp-1.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Lorenz Attractor by lorenz\_generalized\_uniform ({/Times-Italic p}=5, {/Times-Italic M}=5, {/Times-Italic l}=2, {/Times-Italic m}=-1)}'; splot 'data/lorenz.dat.prd-lp-1' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/lorenz.dat.prd-l2.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Lorenz Attractor by lorenz\_reciprocal ({/Times-Italic p}=5, {/Times-Italic M}=5)}'; splot 'data/lorenz.dat.prd-l2' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/lorenz.dat.prd-l3.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Lorenz Attractor by lorenz\_exponential ({/Times-Italic p}=5, {/Times-Italic M}=5)}'; splot 'data/lorenz.dat.prd-l3' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/lorenz.dat.prd-lu.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Lorenz Attractor by lu\_factorize ({/Times-Italic p}=5, {/Times-Italic M}=25)}'; splot 'data/lorenz.dat.prd-lu' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/lorenz.dat.prd-jm.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Lorenz Attractor by jacobian\_matrix ({/Times-Italic p}=5, {/Times-Italic M}=25)}'; splot 'data/lorenz.dat.prd-jm' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/lorenz.dat.prd-rbf.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Lorenz Attractor by rbf\_network ({/Times-Italic p}=5, {/Times-Italic M}=25, {/Times-Italic c}=40)}'; splot 'data/lorenz.dat.prd-rbf' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/lorenz.dat.prd-srbf.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Lorenz Attractor by smoothing\_rbf\_network ({/Times-Italic p}=5, {/Times-Italic M}=25, {/Times-Italic c}=40, {/Symbol m}=10^{0})}'; splot 'data/lorenz.dat.prd-srbf' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/lorenz.dat.prd-arbf.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Lorenz Attractor by affine\_plus\_rbf\_network ({/Times-Italic p}=5, {/Times-Italic M}=25, {/Times-Italic c}=40)}'; splot 'data/lorenz.dat.prd-arbf' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/lorenz.dat.prd-asrbf.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Lorenz Attractor by affine\_plus\_smoothing\_rbf\_network ({/Times-Italic p}=5, {/Times-Italic M}=25, {/Times-Italic c}=40, {/Symbol m}=10^{0})}'; splot 'data/lorenz.dat.prd-asrbf' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/rossler.dat.eps';			 set datafile separator ','; set title '{/Times-Roman=16 Rossler Attractor ({/Times-Italic N}=10000, {/Times-Italic d}=(1,1,1)=3)}'; splot 'data/rossler.dat' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/rossler.dat.prd-l1.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Rossler Attractor by lorenz\_uniform ({/Times-Italic p}=5, {/Times-Italic M}=5)}'; splot 'data/rossler.dat.prd-l1' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/rossler.dat.prd-lp-1.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Rossler Attractor by lorenz\_generalized\_uniform ({/Times-Italic p}=5, {/Times-Italic M}=5, {/Times-Italic l}=2, {/Times-Italic m}=-1)}'; splot 'data/rossler.dat.prd-lp-1' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/rossler.dat.prd-l2.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Rossler Attractor by lorenz\_reciprocal ({/Times-Italic p}=5, {/Times-Italic M}=5)}'; splot 'data/rossler.dat.prd-l2' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/rossler.dat.prd-l3.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Rossler Attractor by lorenz\_exponential ({/Times-Italic p}=5, {/Times-Italic M}=5)}'; splot 'data/rossler.dat.prd-l3' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/rossler.dat.prd-lu.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Rossler Attractor by lu\_factorize ({/Times-Italic p}=5, {/Times-Italic M}=25)}'; splot 'data/rossler.dat.prd-lu' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/rossler.dat.prd-jm.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Rossler Attractor by jacobian\_matrix ({/Times-Italic p}=5, {/Times-Italic M}=25)}'; splot 'data/rossler.dat.prd-jm' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/rossler.dat.prd-rbf.eps';		 set datafile separator ','; set title '{/Times-Roman=16 Rossler Attractor by rbf\_network ({/Times-Italic p}=5, {/Times-Italic M}=100, {/Times-Italic c}=50)}'; splot 'data/rossler.dat.prd-rbf' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/rossler.dat.prd-srbf.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Rossler Attractor by smoothing\_rbf\_network ({/Times-Italic p}=5, {/Times-Italic M}=100, {/Times-Italic c}=50, {/Symbol m}=10^{0})}'; splot 'data/rossler.dat.prd-srbf' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/rossler.dat.prd-arbf.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Rossler Attractor by affine\_plus\_rbf\_network ({/Times-Italic p}=5, {/Times-Italic M}=50, {/Times-Italic c}=100)}'; splot 'data/rossler.dat.prd-arbf' with lines;; $$pause";\
	gnuplot -e "set terminal $$terminal; set output 'data/rossler.dat.prd-asrbf.eps';	 set datafile separator ','; set title '{/Times-Roman=16 Rossler Attractor by affine\_plus\_smoothing\_rbf\_network ({/Times-Italic p}=5, {/Times-Italic M}=50, {/Times-Italic c}=100, {/Symbol m}=10^{0})}'; splot 'data/rossler.dat.prd-asrbf' with lines;; $$pause";\
	done

testclean:
	rm -f $(DATS)

check:
	./generate-noise -i 1000000 -s 1 -n 100 --random	 --histogram	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'random'		; pause mouse keypress;"
	./generate-noise -i 1000000 -s 1 -n 100 --random	 --distribution	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'random'		; pause mouse keypress;"
#
	./generate-noise -i 1000000 -s 1 -n 100 --uniform	 --histogram	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'uniform'		; pause mouse keypress;"
	./generate-noise -i 1000000 -s 1 -n 100 --uniform	 --distribution	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'uniform'		; pause mouse keypress;"
#
	./generate-noise -i 1000000 -s 1 -n 100 --exponential	 --histogram	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'exponential'	; pause mouse keypress;"
	./generate-noise -i 1000000 -s 1 -n 100 --exponential	 --distribution	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'exponential'	; pause mouse keypress;"
#
	./generate-noise -i 1000000 -s 1 -n 100 --normal	 --histogram	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'normal'		; pause mouse keypress;"
	./generate-noise -i 1000000 -s 1 -n 100 --normal	 --distribution	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'normal'		; pause mouse keypress;"
#
	./generate-noise -i 1000000 -s 1 -n 100 --gamma		 --histogram	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'gamma'		; pause mouse keypress;"
	./generate-noise -i 1000000 -s 1 -n 100 --gamma		 --distribution	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'gamma'		; pause mouse keypress;"
#
	./generate-noise -i 1000000 -s 1 -n 100 --poisson	 --histogram	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'poisson'		; pause mouse keypress;"
	./generate-noise -i 1000000 -s 1 -n 100 --poisson	 --distribution	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'poisson'		; pause mouse keypress;"
#
	./generate-noise -i 1000000 -s 1 -n 100 --binomial	 --histogram	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'binomial'		; pause mouse keypress;"
	./generate-noise -i 1000000 -s 1 -n 100 --binomial	 --distribution	| gnuplot -e "set datafile separator ','; set yrange [0:]; set title 'iteration=1e+6; n_bin=1e+2'; plot '-' with linespoints title 'binomial'		; pause mouse keypress;"
#
	./check-vector_numeric
