From 540946bc9311401dbfe448a8f04ee8a2ff78b108 Mon Sep 17 00:00:00 2001 From: Stack-1 Date: Wed, 9 Apr 2025 09:46:25 +0200 Subject: [PATCH] [UPDATE] Updated psb_spmm_test file, adding functionalities to read input data from file and write output data on fle. Also added a first README.md file, stil to be finished for documentation --- test/spmm/Makefile | 39 +- test/spmm/README.md | 41 +- test/spmm/psb_spmm_test.f90 | 165 ++- test/spmm/sol_m1_x1_y1.mtx | 1142 ++++++++++++++++++ test/spmm/vectors/v.mtx | 2280 +++++++++++++++++++++++++++++++++++ test/spmm/vectors/x1.mtx | 1142 ++++++++++++++++++ test/spmm/vectors/x2.mtx | 1142 ++++++++++++++++++ test/spmm/vectors/x3.mtx | 1142 ++++++++++++++++++ test/spmm/vectors/x4.mtx | 1142 ++++++++++++++++++ test/spmm/vectors/y1.mtx | 1142 ++++++++++++++++++ test/spmm/vectors/y2.mtx | 1142 ++++++++++++++++++ test/spmm/vectors/y3.mtx | 1142 ++++++++++++++++++ test/spmm/vectors/y4.mtx | 1142 ++++++++++++++++++ 13 files changed, 12742 insertions(+), 61 deletions(-) create mode 100644 test/spmm/sol_m1_x1_y1.mtx create mode 100644 test/spmm/vectors/v.mtx create mode 100644 test/spmm/vectors/x1.mtx create mode 100644 test/spmm/vectors/x2.mtx create mode 100644 test/spmm/vectors/x3.mtx create mode 100644 test/spmm/vectors/x4.mtx create mode 100644 test/spmm/vectors/y1.mtx create mode 100644 test/spmm/vectors/y2.mtx create mode 100644 test/spmm/vectors/y3.mtx create mode 100644 test/spmm/vectors/y4.mtx diff --git a/test/spmm/Makefile b/test/spmm/Makefile index 8852de0e..3527bb1f 100644 --- a/test/spmm/Makefile +++ b/test/spmm/Makefile @@ -5,31 +5,38 @@ include $(INCDIR)/Make.inc.psblas # # Libraries used # -LIBDIR=$(INSTALLDIR)/lib/ -PSBLAS_LIB= -L$(LIBDIR) -lpsb_util -lpsb_prec -lpsb_base -LDLIBS=$(PSBLDLIBS) +LIBDIR = $(INSTALLDIR)/lib/ +PSBLAS_LIB = -L$(LIBDIR) -lpsb_util -lpsb_prec -lpsb_base +LDLIBS = $(PSBLDLIBS) FINCLUDES=$(FMFLAG)$(MODDIR) $(FMFLAG). -OBJS=psb_spmm_test.o - EXEDIR=./runs -all: runsd psb_spmm_test -runsd: - (if test ! -d runs ; then mkdir runs; fi) +GREEN=\033[0;32m +RED=\033[0;31m +BLUE=\033[0;34m +YELLOW=\033[33m +END_COLOUR=\033[0m + + +all: runsd psb_spmm_test + @printf "$(GREEN)[INFO]\tCompilation success!$(END_COLOUR)\n" + +runsd: + @(if test ! -d runs ; then mkdir runs; fi) + @printf "$(BLUE)[INFO]\tBuild directory $(EXEDIR) correctly initialized$(END_COLOUR)\n" + -psb_spmm_test: $(OBJS) - $(FLINK) $(LOPT) $(OBJS) -o psb_spmm_test $(PSBLAS_LIB) $(LDLIBS) - /bin/mv psb_spmm_test $(EXEDIR) +psb_spmm_test: + @$(FLINK) $(LOPT) psb_spmm_test.f90 -o psb_spmm_test -I../../modules/ -I. $(PSBLAS_LIB) $(LDLIBS) + @mv psb_spmm_test $(EXEDIR) + @printf "$(BLUE)[INFO]\tTesting files generated correctly$(END_COLOUR)\n" clean: - /bin/rm -f $(OBJS)\ + @rm -f $(OBJS)\ *$(.mod) $(EXEDIR)/psb_spmm_test -lib: - (cd ../../; make library) -verycleanlib: - (cd ../../; make veryclean) +.PHONY: all runsd clean diff --git a/test/spmm/README.md b/test/spmm/README.md index 969e0823..1778f28c 100644 --- a/test/spmm/README.md +++ b/test/spmm/README.md @@ -1,8 +1,45 @@ # Introduction This is a directory developed by Luca Pepè Sciarria and Simone Staccone froma Tor Vergata University to start to create some unit tests for PSBLAS 3.9, in particular for psb_spmm routine. -## GEtting started +## Environment +These tests are developed using a linux environment, in particular Rocky Linux 9.5 (Blue Onyx). + +The compiler used is: +- gnu 12.2.1 + +The necessary dependnces are: +- mpich 4.2.2 +- psblas 3.9 + +In order to have the exact same environment used for testing compile PSBALS library using cuda 12.5. + + +## Getting started Steps to reproduce the tests: -- +- make +- insert the matrix files inside the matrix/ directory (or create one if it doesn't exists; psblas3/test/spmm/matrix/) +- run ./runs/psb_spmm_test +- ... + +## Test goal +Check the correctness of the matrix-vector multiplication $y = Ax$ using the **psb_spmm** routine, checking for all the test suite cases. ## Test Suite +**A** matrixes are located in the matrix/ directory +|Matrix|File Name|Type| +|:-:|:-:|:-:| +|$A_1$|1138_bus.mtx|Sparse| + +**x** vectors are located in the vectors/ directory. They are generated randomly using the same seed and then saved on different files based on their characteristics. The size of the vector is choosen accordingly to the size of the matrix column space considered for the single test instance. +|Vector|File Name|Coefficients|Coefficients Description| +|:-:|:-:|:-:|:-:| +|$x_1$|x1.txt|$x_i> 0, \forall i$|Positive coefficients| +|$x_2$|x2.txt|$x_i < 0, \forall i$|Negative coefficients +|$x_3$|x3.txt|$x_i \ne 0, \forall i$|Random coefficients +|$x_4$|x4.txt|$x_i = 0, \forall i$|Null coefficients + +## Output +The results of the computation will be saved on different files based on the instance of the test considered. In particular the naming conventiona format the output file as sol_m#_x#_y#.mtx, where each # is a number choosen w.r.t. the test instance. (Ex. sol_m1_x1_y1.mtx is the solution computed using the first matrix file, the first x vector file and the first y vector file). + +## Notes +For now only integer multiplication is tested and on a single matrix \ No newline at end of file diff --git a/test/spmm/psb_spmm_test.f90 b/test/spmm/psb_spmm_test.f90 index 78b0edd7..0cd569c7 100644 --- a/test/spmm/psb_spmm_test.f90 +++ b/test/spmm/psb_spmm_test.f90 @@ -1,40 +1,45 @@ -! Test program for y = AX spmm routine -! Author: Luca Pepé Sciarria, Staccone Simone (Tor Vergata University) +!> Test program for y = AX spsb_pmm routine +!! Check the README.md to see all details about the tests. +!! +!! Author: Luca Pepé Sciarria, Staccone Simone (Tor Vergata University) program psb_spmm_test use psb_base_mod - use psb_prec_mod use psb_util_mod implicit none ! input parameters - character(len=40) :: mtx_file, file_name, name + character(len=256) :: mtx_file, file_name, name + + ! Testing parameters + character(len=256),dimension(2) :: mtx_files ! sparse matrices - type(psb_sspmat_type) :: a - type(psb_lsspmat_type) :: aux_a + type(psb_sspmat_type) :: a + type(psb_lsspmat_type) :: aux_a ! vectors - type(psb_s_vect_type) :: x, y + type(psb_s_vect_type) :: x, y ! matrix descriptor data structure - type(psb_desc_type) :: desc_a + type(psb_desc_type) :: desc_a ! communication context - type(psb_ctxt_type) :: ctxt - integer(psb_ipk_) :: my_rank, np, info, err_act + type(psb_ctxt_type) :: ctxt + integer(psb_ipk_) :: my_rank, np, info, err_act ! matrix parameters - integer(psb_ipk_) :: m, n, nnz - integer(psb_ipk_) :: nr, nt ! In BLOCK ROWS distributin, the number of rows + integer(psb_ipk_) :: m, n, nnz + integer(psb_ipk_) :: nr, nt ! In BLOCK ROWS distributin, the number of rows - real(psb_spk_), allocatable :: x_global(:) - integer(psb_ipk_) :: i + real(psb_spk_), allocatable :: x_global(:), y_global(:) + integer(psb_ipk_) :: i name = "psb_spmm_test" ! Name of the program to output in case of error info = psb_success_ mtx_file = "matrix/1138_bus.mtx" + mtx_files(1) = "matrix/1138_bus.mtx" call psb_init(ctxt) @@ -57,7 +62,10 @@ program psb_spmm_test goto 9999 end if - call psb_matdist(aux_a, a, ctxt,desc_a,info,fmt="COO",parts=part_block) + + ! part_block it's a macro defined in psb_blockpart_mod to identify BLOCK ROWS distribution + call psb_matdist(aux_a, a, ctxt,desc_a,info,fmt="COO",parts=part_block) + m = aux_a%get_nrows() n = aux_a%get_ncols() @@ -76,31 +84,13 @@ program psb_spmm_test ! Generate random array for b using always the same seed if(my_rank == psb_root_) then - call random_init(repeatable=.true.,image_distinct=.false.) allocate(x_global(n)) - call random_number(x_global) + allocate(y_global(n)) + call generate_vectors(n) ! True for x + call mm_array_read(x_global,info,filename="vectors/x1.mtx") + call mm_array_read(y_global,info,filename="vectors/y1.mtx") end if - ! nt = (m+np-1)/np - ! nr = max(0,min(nt,m-(my_rank*nt))) - - ! Check if distribution metadata is correct - ! nt = nr - ! call psb_sum(ctxt,nt) - ! if (nt /= m) then - ! write(psb_err_unit,*) my_rank, 'Initialization error ',nr,nt,m - ! info = -1 - ! call psb_barrier(ctxt) - ! call psb_abort(ctxt) - ! return - ! end if - - ! call psb_cdall(ctxt,desc_a,info, nl=nr) - ! if(info /= psb_success_) then - ! write(psb_out_unit,*) "Error in dexcriptor allocator routine using BLOCK ROWS distribution" - ! goto 9999 - ! end if - call psb_geall(x,desc_a,info) if(info /= psb_success_) then write(psb_out_unit,*) "Error allocating x data structure" @@ -113,19 +103,32 @@ program psb_spmm_test write(psb_out_unit,*) "Error in psb_scatter to populate x data structure" goto 9999 end if + call psb_geall(y,desc_a,info) if(info /= psb_success_) then write(psb_out_unit,*) "Error allocating y data structure" goto 9999 end if - - call y%zero() + + ! Populate y class using data from y_global vector + call psb_scatter(y_global,y,desc_a,info,root=psb_root_) + if(info /= psb_success_) then + write(psb_out_unit,*) "Error in psb_scatter to populate y data structure" + goto 9999 + end if ! y = alpha * A * x + betha * y call psb_spmm(sone,a,x,sone,y,desc_a,info) + if(info /= psb_success_) then + write(psb_out_unit,*) "Error in psb_spmm routine" + goto 9999 + end if + ! Save result to output file + call mm_array_write(y,"Result vector",info,filename="sol_m1_x1_y1.mtx") + ! Deallocate call psb_gefree(x, desc_a,info) if(info /= psb_success_) then @@ -151,9 +154,8 @@ program psb_spmm_test goto 9999 end if - if(my_rank == psb_root_) then - deallocate(x_global) - end if + deallocate(x_global) + deallocate(y_global) call psb_exit(ctxt) stop @@ -167,4 +169,81 @@ program psb_spmm_test call psb_exit(ctxt) stop -end program \ No newline at end of file + +contains + + !> @brief Function to randomly generate x and y vectors + !! and save them on multiple files based on their + !! coefficients values. + !! + !! @param n The size of the vector. + subroutine generate_vectors(n) + use psb_base_mod + + implicit none + + integer(psb_ipk_), intent(in) :: n + integer(psb_ipk_), allocatable :: x(:), y(:) + real(psb_spk_), allocatable :: v(:) + integer(psb_ipk_) :: i + + allocate(x(n)) + allocate(y(n)) + allocate(v(2*n)) + + + call random_init(repeatable=.true.,image_distinct=.true.) + call random_number(v) + + do i = 1,n + x(i) = int(v(i) * 100) + end do + + do i = 1,n + y(i) = int(v(i+n) * 100) + end do + + + ! Write only positive in x_1 + call mm_array_write(x,"Positive vector",info,filename="vectors/x1.mtx") + call mm_array_write(y,"Positive vector",info,filename="vectors/y1.mtx") + + ! Write only negative in x_2 + do i=1,n + x(i) = -x(i) + y(i) = -y(i) + end do + + call mm_array_write(x,"Negative vector",info,filename="vectors/x2.mtx") + call mm_array_write(y,"Negative vector",info,filename="vectors/y2.mtx") + + + ! Since numbers are less than one and always positive, we have to generate negative ones subtractiong 50 + do i=1,n + x(i) = -x(i) ! Make the values positive again + x(i) = x(i) - 50 + y(i) = -y(i) ! Make the values positive again + y(i) = y(i) - 50 + end do + + ! Write random in x_3 + call mm_array_write(x,"Random vector",info,filename="vectors/x3.mtx") + call mm_array_write(y,"Random vector",info,filename="vectors/y3.mtx") + + ! Write zero in x_4 + do i=1,n + x(i) = 0 + y(i) = 0 + end do + + call mm_array_write(x,"Null vector",info,filename="vectors/x4.mtx") + call mm_array_write(y,"Null vector",info,filename="vectors/y4.mtx") + + deallocate(x) + deallocate(y) + deallocate(v) + + end subroutine + +end program + diff --git a/test/spmm/sol_m1_x1_y1.mtx b/test/spmm/sol_m1_x1_y1.mtx new file mode 100644 index 00000000..e3b4e2f3 --- /dev/null +++ b/test/spmm/sol_m1_x1_y1.mtx @@ -0,0 +1,1142 @@ +%%MatrixMarket matrix array real general +% Result vector +% + 1138 1 + 1.207088125000000000E+05 + -3.507420959472656250E+02 + -1.650562622070312500E+03 + 5.142525878906250000E+03 + -8.138963012695312500E+02 + -4.825109375000000000E+03 + -3.839008544921875000E+03 + -5.428204345703125000E+02 + 1.031210632324218750E+02 + 4.508905944824218750E+02 + 1.023971252441406250E+03 + -6.383056640625000000E-01 + 2.370285034179687500E+02 + 8.101556396484375000E+02 + 1.233018828125000000E+05 + -1.563767089843750000E+03 + -1.826755859375000000E+03 + -1.881611328125000000E+02 + -1.387966674804687500E+03 + -9.828696875000000000E+04 + 9.717759375000000000E+04 + 2.379437255859375000E+01 + 2.529626464843750000E+02 + -1.667098388671875000E+02 + -1.481311035156250000E+01 + 2.121124114990234375E+02 + -3.667613525390625000E+02 + 1.077137298583984375E+02 + 1.316829223632812500E+02 + 1.684653778076171875E+02 + 1.353800201416015625E+01 + 4.957585906982421875E+01 + 4.403929138183593750E+01 + -4.798563232421875000E+02 + -6.199751250000000000E+05 + -3.200000000000000000E+05 + 6.475857421875000000E+03 + 2.553345947265625000E+03 + 4.301385803222656250E+02 + 9.568360351562500000E+03 + -4.721281250000000000E+04 + 6.836956787109375000E+02 + -7.655496875000000000E+04 + 7.708380625000000000E+05 + -1.956125488281250000E+02 + -8.099210000000000000E+05 + -2.364431640625000000E+03 + 9.962932500000000000E+05 + 2.826388183593750000E+03 + -4.175114062500000000E+04 + 1.314362426757812500E+03 + 3.315607421875000000E+04 + 4.764122656250000000E+04 + -4.917753125000000000E+04 + -3.337000000000000000E+03 + -9.910673828125000000E+02 + -3.591507080078125000E+03 + 1.093564819335937500E+03 + 4.006325683593750000E+02 + 4.456669921875000000E+02 + -7.092000000000000000E+03 + -3.458538085937500000E+03 + 4.507444375000000000E+05 + 6.633978027343750000E+03 + -4.499868437500000000E+05 + -1.281551757812500000E+03 + 4.516389160156250000E+02 + -1.718727783203125000E+03 + 1.401948730468750000E+04 + -1.673499609375000000E+04 + -4.633701660156250000E+03 + 2.523177490234375000E+02 + 4.195555419921875000E+02 + 1.613404296875000000E+03 + 5.573821777343750000E+03 + -2.206461181640625000E+02 + -3.557277500000000000E+05 + 6.405622070312500000E+03 + -2.271690673828125000E+03 + 2.169962500000000000E+04 + -1.990475976562500000E+04 + 2.938059387207031250E+02 + 1.038517333984375000E+03 + -9.287573242187500000E+02 + -1.701334570312500000E+04 + -2.320858750000000000E+05 + 1.675656250000000000E+05 + 1.774705566406250000E+03 + -6.634427490234375000E+02 + 3.249535644531250000E+03 + -2.656107812500000000E+04 + 2.092402343750000000E+03 + 1.984608203125000000E+04 + -2.145108789062500000E+04 + -5.620239257812500000E+02 + -7.938500000000000000E+04 + -2.698332519531250000E+02 + -2.688252441406250000E+03 + 8.809974670410156250E+00 + -3.017799682617187500E+02 + -1.007985595703125000E+03 + 9.748814086914062500E+02 + -8.212816875000000000E+05 + 2.826802978515625000E+02 + -2.377466406250000000E+04 + 5.360142822265625000E+02 + 2.093031982421875000E+03 + -1.477829882812500000E+04 + 1.733503125000000000E+05 + -4.394760000000000000E+05 + 6.519800625000000000E+05 + 3.711007812500000000E+03 + 3.697514687500000000E+05 + -6.000553750000000000E+05 + 2.051097656250000000E+03 + 2.013621875000000000E+04 + -5.324095458984375000E+02 + 1.326526794433593750E+02 + 6.037510986328125000E+02 + -5.428039062500000000E+03 + 9.556554687500000000E+03 + -2.630940429687500000E+03 + -1.648789306640625000E+03 + -2.499675903320312500E+02 + 8.558796875000000000E+03 + 1.064039648437500000E+04 + -1.596190673828125000E+03 + 3.946666259765625000E+02 + 5.308357421875000000E+03 + 1.834304296875000000E+04 + -2.007670507812500000E+04 + 5.102949218750000000E+03 + 3.692103759765625000E+03 + 1.980653076171875000E+02 + -3.099921250000000000E+05 + -9.751625976562500000E+02 + 1.122945068359375000E+03 + 3.461365722656250000E+03 + -4.503245849609375000E+02 + -5.954113769531250000E+01 + -3.642541503906250000E+02 + 1.563480712890625000E+03 + -5.804227500000000000E+05 + 4.069212500000000000E+04 + 4.701143125000000000E+05 + 1.856777656250000000E+05 + -4.416896875000000000E+05 + 3.300390000000000000E+05 + -3.614497680664062500E+02 + -1.052978515625000000E+01 + -2.285531616210937500E+02 + -1.044641113281250000E+02 + -9.899656982421875000E+02 + 5.293922729492187500E+02 + -1.192391479492187500E+03 + -9.894921875000000000E+02 + -2.281692382812500000E+03 + 5.772016601562500000E+02 + 1.244981384277343750E+02 + -6.990661621093750000E+01 + 3.510029602050781250E+01 + -2.373836181640625000E+03 + 1.614757080078125000E+03 + -2.828994750976562500E+01 + -2.421870605468750000E+03 + 1.925414062500000000E+04 + 3.256342773437500000E+02 + -1.184471923828125000E+03 + 1.197619018554687500E+03 + 1.388918579101562500E+03 + 8.545029296875000000E+02 + 2.307851562500000000E+02 + 1.978041015625000000E+03 + -7.531782226562500000E+02 + 3.219102783203125000E+02 + -7.635708007812500000E+03 + 1.947146484375000000E+04 + -1.783406250000000000E+03 + 6.623759155273437500E+02 + 1.108589721679687500E+03 + -2.929260253906250000E+02 + 3.859076843261718750E+02 + 7.176863281250000000E+03 + -7.101781738281250000E+03 + -1.367419433593750000E+02 + -3.529201171875000000E+03 + 2.314232177734375000E+03 + -2.270191650390625000E+03 + 8.329018554687500000E+02 + 1.882187988281250000E+03 + -2.909161987304687500E+02 + 1.126914648437500000E+04 + -5.204270019531250000E+02 + 1.352067138671875000E+03 + -5.053106689453125000E+02 + 2.698490295410156250E+02 + 1.872982299804687500E+03 + 2.478539062500000000E+03 + -1.493701757812500000E+04 + 1.220915527343750000E+02 + 9.230031738281250000E+02 + 5.494128417968750000E+01 + -3.075876464843750000E+02 + -5.733449218750000000E+03 + -2.213884887695312500E+02 + -1.968472290039062500E+02 + -1.693904687500000000E+04 + 4.898274414062500000E+03 + 1.440793457031250000E+02 + 6.868782031250000000E+04 + 1.894520141601562500E+03 + -2.538865966796875000E+03 + 5.625605468750000000E+03 + 2.891770019531250000E+03 + -6.506456298828125000E+02 + 4.811924743652343750E+02 + -6.183186718750000000E+04 + -2.655433789062500000E+04 + 6.634741210937500000E+01 + 2.468717773437500000E+03 + 5.218492431640625000E+02 + 1.761914428710937500E+03 + -2.588710937500000000E+02 + 1.242728393554687500E+03 + -1.483454467773437500E+03 + -8.447529296875000000E+02 + -1.720915527343750000E+02 + 4.046807617187500000E+03 + -2.338939208984375000E+03 + 5.579998779296875000E+02 + -1.810586669921875000E+03 + 2.793932128906250000E+03 + -5.649084472656250000E+02 + 2.157066040039062500E+02 + -6.555868750000000000E+04 + -5.696740722656250000E+02 + -3.201270019531250000E+03 + 1.604577148437500000E+03 + -6.787663574218750000E+02 + -2.689532470703125000E+02 + 1.411579062500000000E+05 + -2.113433593750000000E+03 + 5.983430786132812500E+02 + -6.693075195312500000E+03 + 4.841333007812500000E+02 + -6.861243164062500000E+03 + 9.650042968750000000E+03 + 5.740527832031250000E+03 + 1.667866796875000000E+04 + -1.104904687500000000E+04 + 1.439876220703125000E+03 + -3.675485351562500000E+03 + 4.794023437500000000E+02 + 1.152440332031250000E+04 + -2.437660546875000000E+04 + -3.713794687500000000E+05 + -1.894443359375000000E+03 + -7.061852539062500000E+03 + 1.373009277343750000E+03 + -7.137831054687500000E+03 + 6.091727539062500000E+03 + 2.074043457031250000E+03 + 2.227196289062500000E+03 + 7.608225097656250000E+03 + 6.335188476562500000E+03 + -1.032437109375000000E+04 + -9.209357421875000000E+03 + -4.119819335937500000E+02 + 2.178011328125000000E+04 + 6.250991015625000000E+04 + 7.550727539062500000E+02 + 3.880048828125000000E+03 + -2.358114843750000000E+04 + 3.003100390625000000E+04 + 3.115129394531250000E+02 + -8.948992187500000000E+03 + -3.765609375000000000E+04 + -1.949067138671875000E+03 + -2.083206298828125000E+03 + 5.032081298828125000E+02 + 9.543292236328125000E+01 + -1.491954687500000000E+04 + 4.698839355468750000E+03 + 1.046529296875000000E+03 + -6.747272460937500000E+03 + 1.511029815673828125E+01 + -5.602105712890625000E+02 + -7.865952148437500000E+03 + 4.489356250000000000E+04 + 1.205832275390625000E+03 + -1.174892968750000000E+04 + -7.204540625000000000E+04 + -1.415891406250000000E+04 + -8.431982421875000000E+02 + -1.695137695312500000E+03 + 7.850708007812500000E+02 + -1.369199218750000000E+03 + 1.966707763671875000E+03 + 1.794846679687500000E+03 + 8.496672851562500000E+03 + 1.061238769531250000E+03 + 1.619079589843750000E+04 + -3.919671875000000000E+04 + -6.459901562500000000E+04 + -1.918780468750000000E+04 + 3.171514892578125000E+02 + -4.381889648437500000E+02 + 5.705057617187500000E+03 + 4.523332031250000000E+03 + 7.775532226562500000E+02 + 2.077309570312500000E+02 + 8.791199218750000000E+03 + 9.078105468750000000E+02 + 8.136386718750000000E+02 + 6.408588281250000000E+04 + 8.658062500000000000E+03 + 3.825946875000000000E+05 + 3.070562988281250000E+03 + -6.584610937500000000E+04 + -4.302650451660156250E+02 + -2.390783203125000000E+03 + -4.073475097656250000E+03 + -9.032121093750000000E+03 + 3.027141113281250000E+02 + 6.607816894531250000E+03 + 9.424692382812500000E+02 + -1.412612304687500000E+03 + 4.500940000000000000E+05 + 1.212001250000000000E+05 + -8.096389770507812500E+00 + 7.188105773925781250E+01 + 1.866667175292968750E+01 + -4.356880187988281250E-01 + 2.601518821716308594E+01 + -9.078337402343750000E+02 + -5.570051757812500000E+03 + 7.935439941406250000E+03 + -1.459159698486328125E+02 + -3.956312866210937500E+02 + -1.157109497070312500E+03 + 6.794848022460937500E+02 + -2.126114807128906250E+02 + 3.230634155273437500E+02 + -1.924153320312500000E+03 + -3.044826660156250000E+02 + 4.500682128906250000E+03 + -8.567043457031250000E+02 + 3.236322021484375000E+02 + -8.603713378906250000E+02 + -4.971035766601562500E+02 + 1.053746337890625000E+02 + 1.004243041992187500E+03 + -1.368959716796875000E+03 + -5.857868041992187500E+02 + 1.392892456054687500E+02 + 6.519165649414062500E+02 + -3.059976959228515625E+01 + 3.841868896484375000E+03 + -1.072713745117187500E+03 + -3.907310791015625000E+02 + -3.294635546875000000E+04 + -3.172552490234375000E+02 + 1.375253051757812500E+03 + 1.603421630859375000E+02 + -2.915178222656250000E+02 + 6.864552307128906250E+01 + 1.159606347656250000E+04 + -5.572316406250000000E+03 + 2.360773437500000000E+03 + -1.826968994140625000E+02 + -1.249773437500000000E+03 + -6.803337890625000000E+03 + -3.674566650390625000E+01 + -1.282369384765625000E+02 + 7.954088134765625000E+02 + 1.168336029052734375E+02 + 1.307560577392578125E+02 + 1.514539642333984375E+02 + 4.823300933837890625E+01 + 1.034660186767578125E+02 + 2.237301940917968750E+02 + 9.453528442382812500E+02 + 2.087512207031250000E+03 + 7.514337158203125000E+01 + -1.712854003906250000E+01 + -6.925775146484375000E+02 + -9.511022949218750000E+02 + 1.541719970703125000E+03 + -2.970734619140625000E+03 + 2.086971130371093750E+02 + -8.977423095703125000E+01 + 3.243247070312500000E+02 + -8.992256469726562500E+02 + -4.127639160156250000E+02 + 2.881740966796875000E+03 + -1.019779541015625000E+03 + 5.687815234375000000E+04 + -5.044208984375000000E+03 + -3.603411132812500000E+03 + -4.299530000000000000E+05 + -2.097603515625000000E+03 + 6.116624145507812500E+02 + 1.181125488281250000E+02 + 3.699393005371093750E+02 + 1.034439697265625000E+02 + 3.821878125000000000E+04 + 1.335792968750000000E+03 + 5.500000000000000000E+01 + -6.869892578125000000E+02 + 8.490517500000000000E+05 + -9.605204375000000000E+05 + -5.847796386718750000E+03 + -9.143002929687500000E+02 + 1.152561621093750000E+04 + 1.184680273437500000E+04 + 2.037284179687500000E+04 + -5.566118164062500000E+02 + -3.528552246093750000E+02 + -2.978591308593750000E+02 + 1.254162500000000000E+04 + -2.072023193359375000E+03 + -4.026241149902343750E+02 + 1.422358789062500000E+04 + 1.381918164062500000E+04 + -1.509473046875000000E+04 + -1.191322949218750000E+04 + -2.176975097656250000E+02 + 1.090575927734375000E+03 + 4.450000000000000000E+02 + -2.211114501953125000E+01 + -9.429649414062500000E+03 + -8.351716796875000000E+03 + -1.980739648437500000E+04 + 5.598204345703125000E+02 + -4.362146484375000000E+03 + 8.279915161132812500E+02 + 1.826859179687500000E+04 + -2.139781005859375000E+03 + -3.856640625000000000E+02 + 1.580091247558593750E+02 + -3.578560791015625000E+03 + 2.883561035156250000E+03 + -1.968999218750000000E+04 + 6.247144531250000000E+04 + 4.095025878906250000E+03 + -1.452327026367187500E+03 + -1.917979101562500000E+04 + 1.411789746093750000E+04 + 1.552749687500000000E+05 + -1.546598750000000000E+05 + 7.868631591796875000E+02 + 2.482380371093750000E+02 + 2.845708007812500000E+02 + -7.575469726562500000E+03 + 1.586734130859375000E+03 + -8.452908203125000000E+03 + 1.300135742187500000E+03 + -6.469040234375000000E+04 + 1.344336425781250000E+03 + 1.159538574218750000E+02 + 5.237825317382812500E+02 + -1.240399414062500000E+04 + -3.408931884765625000E+02 + -2.159056152343750000E+03 + 5.506138671875000000E+03 + -1.229526953125000000E+04 + 3.189079101562500000E+03 + -1.399670000000000000E+05 + -2.499690000000000000E+05 + 1.341534375000000000E+04 + 1.965729614257812500E+03 + -8.238287353515625000E+02 + 4.301155000000000000E+05 + 2.366889404296875000E+03 + -2.153973999023437500E+02 + 2.048869323730468750E+02 + -4.053679687500000000E+03 + 8.268270000000000000E+05 + -6.988086425781250000E+03 + 3.359958984375000000E+04 + -9.026281127929687500E+02 + -5.752119140625000000E+03 + -2.422300000000000000E+04 + 2.991774902343750000E+02 + -5.522545776367187500E+02 + -7.314806250000000000E+05 + -2.210091552734375000E+02 + -9.136413574218750000E+01 + -2.714320373535156250E+02 + 2.822371215820312500E+02 + 1.142909912109375000E+03 + 5.500509375000000000E+05 + 7.416295166015625000E+02 + -1.671316406250000000E+03 + -3.420518554687500000E+03 + -7.571757812500000000E+03 + 6.171835449218750000E+03 + 7.980522460937500000E+02 + 4.457776855468750000E+03 + -2.281464599609375000E+03 + -1.123069824218750000E+03 + -1.256169555664062500E+03 + -6.344380859375000000E+03 + -9.447502929687500000E+03 + 8.818382812500000000E+03 + -1.755638125000000000E+05 + 3.370250000000000000E+03 + -4.153396606445312500E+02 + -5.681355468750000000E+03 + -6.245723437500000000E+04 + -9.609829101562500000E+02 + -7.784782714843750000E+03 + 1.324832421875000000E+04 + -3.172257080078125000E+02 + 3.234948242187500000E+03 + -2.154765429687500000E+04 + 7.082255859375000000E+02 + -2.828182067871093750E+02 + 4.007924804687500000E+02 + 9.237568750000000000E+04 + 1.237667773437500000E+04 + -1.374249511718750000E+04 + -5.874689453125000000E+03 + -6.739418457031250000E+03 + -2.079984375000000000E+03 + 1.902624511718750000E+03 + -7.371269531250000000E+03 + -2.090233886718750000E+03 + 2.997175781250000000E+03 + -1.064108691406250000E+04 + 1.051171875000000000E+02 + 1.962766601562500000E+04 + 6.441207519531250000E+03 + -7.059397460937500000E+03 + 1.129921997070312500E+03 + -9.415226562500000000E+03 + 2.107807812500000000E+04 + -6.550720214843750000E+00 + 3.273636474609375000E+02 + -5.876533203125000000E+03 + 2.449369506835937500E+02 + -4.135075195312500000E+03 + 2.529551406250000000E+05 + 1.390331250000000000E+05 + 2.915337646484375000E+03 + -7.223441406250000000E+03 + -1.288454956054687500E+03 + 2.683415527343750000E+02 + -1.825051269531250000E+02 + -8.947280273437500000E+02 + -3.638251708984375000E+03 + 1.940036865234375000E+03 + 4.613156738281250000E+03 + 5.165703125000000000E+03 + 1.441111083984375000E+03 + 6.421895019531250000E+03 + -5.832186889648437500E+02 + -5.920480346679687500E+02 + -5.237708984375000000E+03 + -8.864200439453125000E+02 + -8.519544921875000000E+03 + 3.846324951171875000E+03 + 8.842330932617187500E+01 + 8.982102539062500000E+03 + 3.989462280273437500E+01 + 5.166640625000000000E+03 + 4.382293701171875000E+01 + 6.824685546875000000E+03 + 1.445622558593750000E+02 + -5.849411621093750000E+02 + 2.198571014404296875E+02 + 2.700000000000000000E+01 + 2.587408447265625000E+02 + -5.037728515625000000E+03 + -1.996500000000000000E+04 + -5.386613769531250000E+02 + 1.563299609375000000E+04 + -2.266733886718750000E+03 + 2.803568603515625000E+03 + 1.642449951171875000E+02 + 2.082690625000000000E+04 + 7.282945312500000000E+03 + -8.107137451171875000E+02 + 3.154989746093750000E+03 + -3.096325195312500000E+03 + -5.513704681396484375E+01 + -1.792175292968750000E+03 + -5.618442382812500000E+02 + -1.005467224121093750E+01 + 5.256384277343750000E+02 + 1.630547027587890625E+02 + 1.499500732421875000E+02 + 2.937481689453125000E+02 + -2.609465087890625000E+03 + 1.184472351074218750E+02 + 1.463036499023437500E+03 + 4.113473510742187500E+02 + -8.792959594726562500E+01 + 1.201932373046875000E+02 + -7.784764648437500000E+03 + -2.513209533691406250E+02 + -8.517221069335937500E+01 + -1.386845092773437500E+03 + -5.434280395507812500E+02 + 1.592552978515625000E+03 + -2.322328491210937500E+02 + -4.240707519531250000E+03 + -7.181137695312500000E+02 + -3.089080810546875000E+01 + 1.097821533203125000E+03 + 6.218212890625000000E+01 + 4.611568603515625000E+02 + 1.872463134765625000E+03 + 1.828973144531250000E+03 + -1.486916198730468750E+02 + -2.658584289550781250E+02 + -1.410816650390625000E+02 + 1.518383789062500000E+01 + 2.089263671875000000E+03 + 2.007512664794921875E+02 + -5.708124511718750000E+03 + 7.758851928710937500E+02 + 5.882708740234375000E+02 + 5.404430175781250000E+03 + -2.233155517578125000E+02 + 6.745815277099609375E+00 + 3.436329956054687500E+02 + 3.249950683593750000E+03 + -7.750953125000000000E+04 + -1.199686279296875000E+02 + -3.213005859375000000E+03 + -4.765642700195312500E+02 + 1.892925109863281250E+02 + 5.575050659179687500E+02 + -7.140968017578125000E+02 + 3.883451843261718750E+02 + 8.503900000000000000E+04 + -1.541778442382812500E+03 + -1.509060058593750000E+03 + 2.518712615966796875E+02 + -5.462902069091796875E+01 + -3.435023193359375000E+02 + -7.239377441406250000E+03 + -2.208014160156250000E+03 + -1.288096069335937500E+03 + -1.609066925048828125E+02 + -4.907913085937500000E+03 + 4.115847656250000000E+03 + -4.097217773437500000E+03 + 2.753503173828125000E+03 + 5.385559082031250000E+01 + 8.467553125000000000E+04 + -2.016682617187500000E+03 + -3.416650878906250000E+03 + 1.519309179687500000E+04 + 2.826666564941406250E+02 + -5.387111328125000000E+03 + -1.573084375000000000E+04 + -2.400632568359375000E+03 + 3.593717041015625000E+02 + 8.017000000000000000E+03 + -1.475258789062500000E+03 + -7.542628125000000000E+04 + -8.353358154296875000E+02 + -1.571105664062500000E+04 + -3.120883300781250000E+03 + 4.695603942871093750E+01 + -1.195628125000000000E+04 + -2.173666015625000000E+03 + 3.177393066406250000E+03 + -9.326477050781250000E+02 + 2.583499414062500000E+04 + -2.044598388671875000E+03 + -6.265724609375000000E+03 + 6.111451171875000000E+03 + -1.377858398437500000E+03 + 1.098124218750000000E+04 + -4.484031738281250000E+03 + 3.508158691406250000E+03 + 1.499489746093750000E+03 + -3.879687890625000000E+04 + 5.909769531250000000E+03 + 4.963224792480468750E+01 + 1.315383911132812500E+01 + 5.499648284912109375E+01 + -3.071308593750000000E+03 + -6.345966186523437500E+02 + 3.614494384765625000E+03 + 3.552169036865234375E+01 + -3.707015000000000000E+05 + 9.481494140625000000E+03 + -9.950000000000000000E+03 + -1.352471923828125000E+03 + -2.142710449218750000E+03 + 3.207434570312500000E+03 + -6.433900390625000000E+03 + 1.396419433593750000E+03 + -2.977567138671875000E+02 + -8.987344360351562500E+02 + -5.839356689453125000E+02 + -6.499620000000000000E+05 + -9.018894042968750000E+02 + -4.699650000000000000E+05 + 6.335205078125000000E+01 + 8.004400000000000000E+04 + 7.903809204101562500E+02 + -5.541958750000000000E+05 + -8.710263671875000000E+02 + 5.133049316406250000E+02 + 6.203909375000000000E+05 + 3.211028437500000000E+05 + -2.936246948242187500E+02 + -7.250268554687500000E+01 + 3.707565429687500000E+03 + 1.806721191406250000E+02 + -2.827167578125000000E+04 + -2.948363085937500000E+04 + 4.033585205078125000E+02 + 1.505689697265625000E+02 + -9.416552734375000000E+01 + -8.678274536132812500E+02 + -3.434137573242187500E+02 + -5.541206054687500000E+02 + 2.720077880859375000E+03 + 4.511330566406250000E+02 + 2.702338134765625000E+03 + -2.532549438476562500E+02 + 1.303902832031250000E+03 + 2.803850097656250000E+02 + 9.308314208984375000E+02 + -4.421435546875000000E+03 + 8.116749572753906250E+01 + 5.419597778320312500E+02 + -1.933417846679687500E+03 + 3.314709167480468750E+02 + 5.287854003906250000E+01 + 6.222501831054687500E+02 + -5.383131713867187500E+02 + 1.556666717529296875E+02 + 3.105311875000000000E+05 + -2.678860473632812500E+01 + 1.927187744140625000E+03 + -2.193363769531250000E+03 + -2.284160644531250000E+03 + 3.502987187500000000E+05 + -1.687161102294921875E+02 + -6.384345703125000000E+02 + 2.386326660156250000E+03 + -4.373322753906250000E+03 + 1.819205078125000000E+03 + -5.991756591796875000E+02 + -2.604148559570312500E+02 + 4.455444824218750000E+03 + 4.793275878906250000E+03 + 1.279577636718750000E+03 + 3.094153808593750000E+03 + -4.527292968750000000E+03 + -3.789729919433593750E+02 + -1.056431884765625000E+03 + 3.168171997070312500E+02 + -6.670504760742187500E+02 + 4.560696105957031250E+02 + -2.465469360351562500E+01 + -1.037000000000000000E+03 + -2.571721679687500000E+03 + 1.435530090332031250E+01 + 3.140000000000000000E+02 + -1.172087402343750000E+02 + 1.355454559326171875E+02 + -2.700990937500000000E+05 + 1.008638305664062500E+02 + 1.979389038085937500E+02 + 1.333093872070312500E+02 + 2.979705810546875000E+02 + 1.372622192382812500E+03 + -4.784903320312500000E+03 + 8.357792358398437500E+02 + -1.525927734375000000E+02 + -7.421076049804687500E+02 + 1.221560546875000000E+03 + -1.048064208984375000E+03 + 1.081385156250000000E+04 + -3.016970214843750000E+02 + -6.804769287109375000E+02 + -4.968215942382812500E+02 + -6.349541406250000000E+04 + 2.041661376953125000E+02 + 5.765343750000000000E+03 + 1.411910552978515625E+02 + -8.540754394531250000E+02 + 1.534368652343750000E+03 + -8.474035644531250000E+02 + 5.104070000000000000E+05 + -3.268368530273437500E+02 + -5.283551757812500000E+03 + 1.433696166992187500E+03 + 2.874385253906250000E+03 + 6.556478881835937500E+02 + 5.350576171875000000E+02 + -5.040264892578125000E+02 + -1.563353881835937500E+02 + -1.193112187500000000E+05 + 8.848437500000000000E+03 + 1.828727294921875000E+03 + 8.112840820312500000E+03 + 2.601293334960937500E+02 + 6.884553527832031250E+01 + -8.366662597656250000E+01 + 5.479421386718750000E+03 + -2.673775878906250000E+03 + 2.417421142578125000E+03 + -3.447700000000000000E+04 + -1.746064843750000000E+04 + -2.112303222656250000E+03 + 1.162596191406250000E+03 + 1.230943969726562500E+03 + -5.386769042968750000E+03 + 1.392789550781250000E+03 + -1.224709863281250000E+04 + 9.097765625000000000E+03 + -4.901855957031250000E+03 + -3.255075195312500000E+03 + 2.700430000000000000E+05 + 5.100760000000000000E+05 + -1.019935000000000000E+06 + 2.300310000000000000E+05 + -3.999800000000000000E+04 + 2.830312500000000000E+02 + -6.704385375976562500E+02 + 1.723481811523437500E+03 + 2.423811645507812500E+02 + 2.501964111328125000E+02 + -2.936146240234375000E+02 + 3.524897460937500000E+03 + -4.325381835937500000E+03 + 6.165478515625000000E+01 + 1.027994232177734375E+02 + 1.285782165527343750E+02 + 1.260178833007812500E+02 + -3.988703613281250000E+02 + -5.232165527343750000E+01 + -2.140107727050781250E+02 + 1.375000000000000000E+02 + -5.047092285156250000E+02 + 7.121952056884765625E+00 + 3.174554443359375000E+01 + -4.815170288085937500E+01 + 3.593579101562500000E+01 + 3.845779113769531250E+02 + -4.826654052734375000E+01 + 9.340734100341796875E+01 + -5.610932922363281250E+01 + -3.612680664062500000E+02 + -1.222877197265625000E+02 + 1.240720825195312500E+02 + -9.492755889892578125E+00 + 1.243807067871093750E+02 + 2.799356079101562500E+01 + -6.133331298828125000E+01 + 5.442521667480468750E+01 + 3.056911468505859375E+00 + 4.750283691406250000E+03 + -7.292976074218750000E+02 + 1.507457275390625000E+02 + 4.115893554687500000E+01 + 3.178030700683593750E+02 + 1.571747131347656250E+02 + -2.467090087890625000E+03 + 4.237456542968750000E+03 + -1.017248657226562500E+03 + -9.432556152343750000E+00 + 1.145481414794921875E+02 + 3.639644775390625000E+02 + -3.304906738281250000E+03 + -1.647726953125000000E+04 + 1.664663476562500000E+04 + -6.936592407226562500E+02 + -1.070040527343750000E+03 + 1.648772583007812500E+02 + 1.474348876953125000E+03 + 6.892556152343750000E+02 + -2.387687988281250000E+03 + 5.190440673828125000E+02 + 6.330837402343750000E+02 + 2.151322265625000000E+03 + -1.615288452148437500E+03 + -1.410703247070312500E+03 + -4.367785339355468750E+02 + -1.037632812500000000E+03 + 2.303039550781250000E+02 + -7.211083984375000000E+01 + -7.270829101562500000E+03 + 4.245228515625000000E+03 + -4.407898125000000000E+05 + -3.979314843750000000E+04 + 1.562304443359375000E+03 + 4.471210937500000000E+03 + -4.303786132812500000E+03 + 4.989721191406250000E+03 + -9.939313964843750000E+02 + 6.006706875000000000E+05 + 1.084200000000000000E+04 + -3.399506835937500000E+02 + -2.835896484375000000E+04 + 1.258510351562500000E+04 + -2.276612109375000000E+04 + 3.547125000000000000E+03 + -2.128792968750000000E+03 + 4.655087500000000000E+04 + -1.073631152343750000E+04 + 3.351472656250000000E+03 + -5.895192382812500000E+03 + -1.310271850585937500E+03 + 3.670906494140625000E+03 + -2.676412597656250000E+03 + 3.444656005859375000E+03 + 1.350027148437500000E+04 + -1.430855273437500000E+04 + 2.623522949218750000E+03 + -4.286024414062500000E+03 + -8.780180053710937500E+02 + -4.898931250000000000E+04 + -1.098839843750000000E+03 + 3.164564453125000000E+03 + -1.869615112304687500E+03 + 7.419205078125000000E+03 + 2.983342285156250000E+03 + -4.232492675781250000E+02 + -9.940000000000000000E+02 + 4.579001953125000000E+03 + -6.586615234375000000E+03 + -1.413322753906250000E+03 + 7.997827148437500000E+03 + -5.961629394531250000E+03 + 1.260551635742187500E+03 + 3.086878125000000000E+05 + 7.820456054687500000E+03 + -3.119606445312500000E+03 + 2.472200976562500000E+04 + 2.750133789062500000E+03 + -9.987000000000000000E+03 + -5.786745605468750000E+02 + -1.079032226562500000E+03 + 4.223883789062500000E+03 + -1.588447875976562500E+02 + -5.716318359375000000E+02 + -6.815504150390625000E+02 + -5.791180175781250000E+03 + 2.104853027343750000E+03 + -1.876034301757812500E+03 + 2.713460388183593750E+02 + -1.924977294921875000E+03 + -1.197546386718750000E+02 + 9.959413085937500000E+03 + 2.714270996093750000E+03 + 1.512796020507812500E+01 + 3.475531250000000000E+03 + 2.320799560546875000E+03 + -1.232549926757812500E+03 + 1.659304687500000000E+03 + 9.069709472656250000E+02 + -1.261474121093750000E+03 + 6.278042602539062500E+01 + 1.799285888671875000E+02 + 1.080089843750000000E+03 + 2.454241210937500000E+03 + -1.544610351562500000E+03 + -5.097160156250000000E+03 + 7.994721069335937500E+02 + -2.748318481445312500E+02 + -1.207127075195312500E+03 + -1.056257324218750000E+02 + 4.523046875000000000E+02 + -1.493799609375000000E+04 + -2.922248840332031250E+02 + 4.540620605468750000E+03 + -3.634627685546875000E+03 + 4.217219238281250000E+02 + -2.876063476562500000E+03 + 7.933808593750000000E+02 + 1.654410156250000000E+03 + -1.648769531250000000E+03 + 1.829277734375000000E+04 + 2.300000000000000000E+01 + -1.823153808593750000E+03 + -4.466066589355468750E+02 + 1.428810058593750000E+03 + -6.032159423828125000E+02 + -3.747251892089843750E+02 + 1.431600646972656250E+02 + -3.392276611328125000E+03 + 7.746041107177734375E+01 + -1.222792358398437500E+02 + -2.191703796386718750E+00 + 8.099559326171875000E+02 + 3.560566894531250000E+03 + -4.143772460937500000E+03 + 1.033636962890625000E+03 + 1.085256347656250000E+02 + -6.840765380859375000E+01 + 4.364111328125000000E+02 + 2.147919921875000000E+02 + -2.761176452636718750E+02 + 2.079280090332031250E+01 + -5.757501831054687500E+02 + -4.998002929687500000E+03 + 2.749170227050781250E+02 + -6.984405517578125000E+02 + 6.022870000000000000E+05 + 2.216928863525390625E+01 + 4.966748657226562500E+02 + 3.492395629882812500E+02 + -2.489876171875000000E+04 + -2.327242675781250000E+03 + -4.384289550781250000E+02 + -4.357812500000000000E+01 + -5.835059570312500000E+03 + -4.658474121093750000E+02 + -1.048867431640625000E+03 + 1.398601196289062500E+03 + 3.426101074218750000E+02 + -9.062856445312500000E+02 + 2.130088623046875000E+03 + -3.323926696777343750E+02 + 2.368082580566406250E+02 + -1.761045532226562500E+02 + -1.148228759765625000E+03 + 3.042794189453125000E+02 + -1.199133750000000000E+05 + 1.193052246093750000E+03 + 9.990634155273437500E+01 + -5.626619873046875000E+02 + 1.334347900390625000E+03 + 2.717825622558593750E+02 + 2.034443359375000000E+03 + 6.028829956054687500E+02 + -1.412118408203125000E+03 + 1.595461669921875000E+03 + 3.406918457031250000E+03 + -9.246292114257812500E+02 + -3.891694335937500000E+03 + -5.187329101562500000E+01 + 2.288459716796875000E+03 + 2.747589111328125000E+02 + 3.029141601562500000E+03 + -3.762532714843750000E+03 + -5.570667968750000000E+03 + 4.653869018554687500E+02 + -2.139492187500000000E+03 + 3.683673437500000000E+05 + -8.258630371093750000E+02 + -1.318717480468750000E+04 + 3.855786328125000000E+04 + -1.236169921875000000E+03 + 3.770843750000000000E+03 + 1.764889038085937500E+03 + 2.543742187500000000E+03 + 5.588644531250000000E+03 + -1.465100781250000000E+04 + 1.742298889160156250E+01 + 3.766305419921875000E+03 + -3.838287353515625000E+00 + 1.055210815429687500E+03 + 7.213353271484375000E+02 + 3.148569580078125000E+03 + 4.701116943359375000E+01 + 4.448978042602539062E+01 + 2.873625000000000000E+03 + -1.624238281250000000E+03 + 1.172232666015625000E+03 + 1.749909057617187500E+02 + 2.184645690917968750E+02 + 1.324375878906250000E+04 + -1.582839453125000000E+04 + -5.704055175781250000E+02 + 9.695794067382812500E+02 + -7.690660400390625000E+02 + -7.267111816406250000E+02 + 3.788720703125000000E+01 + -2.017550048828125000E+03 + 3.868153808593750000E+03 + -6.854234313964843750E+01 + -4.397000000000000000E+04 + 5.256959838867187500E+02 + 2.277411193847656250E+02 + 6.614794311523437500E+02 + 4.411083984375000000E+04 + -5.038269042968750000E+02 + 7.225968627929687500E+02 + 9.666549072265625000E+02 + 7.658176269531250000E+02 + 1.419642333984375000E+03 + -5.186416625976562500E+02 + -4.932537841796875000E+01 + 2.624592529296875000E+03 + 2.595421447753906250E+02 + 6.840683105468750000E+03 + 6.331445312500000000E+01 + 1.779180297851562500E+02 + -7.266145996093750000E+03 + 3.379041748046875000E+02 + 7.124887084960937500E+01 + 1.324890136718750000E+02 + 2.307052734375000000E+03 + -1.462324829101562500E+02 + -7.787103271484375000E+02 + 1.167567749023437500E+02 + 1.641244506835937500E+01 + 3.653303222656250000E+02 + 5.861090698242187500E+02 + 6.096051635742187500E+02 + -3.607163696289062500E+02 + -2.656538574218750000E+03 + -5.969838256835937500E+02 + -5.391275024414062500E+01 + 2.200220031738281250E+02 + 1.210192871093750000E+02 + -7.674815673828125000E+02 + -4.283176757812500000E+03 + 8.597106933593750000E+00 + -9.278665039062500000E+03 + 1.600385156250000000E+04 + -3.167145996093750000E+03 + 2.194467285156250000E+03 + 3.871236718750000000E+04 + 4.400630000000000000E+05 + 2.524961425781250000E+03 + 4.609900000000000000E+04 + -6.006862500000000000E+05 + 1.697449462890625000E+03 + 6.371462402343750000E+02 + -5.855069335937500000E+03 + 5.003900000000000000E+04 + -3.099260000000000000E+05 + 4.941557617187500000E+02 + -1.150381469726562500E+03 + 1.200970000000000000E+05 + -7.875349609375000000E+03 diff --git a/test/spmm/vectors/v.mtx b/test/spmm/vectors/v.mtx new file mode 100644 index 00000000..bea33ea0 --- /dev/null +++ b/test/spmm/vectors/v.mtx @@ -0,0 +1,2280 @@ +%%MatrixMarket matrix array real general +% Positive vector +% + 2276 1 + 8.252621889114379883E-01 + 1.913253664970397949E-01 + 1.555032730102539062E-01 + 9.853762388229370117E-01 + 7.472902536392211914E-02 + 1.006174087524414062E-02 + 8.712530136108398438E-03 + 5.640307664871215820E-01 + 4.111811518669128418E-01 + 9.784530401229858398E-01 + 8.922438621520996094E-01 + 5.730365514755249023E-01 + 7.508713603019714355E-01 + 8.061847090721130371E-01 + 8.466759324073791504E-01 + 3.195720911026000977E-01 + 2.397807836532592773E-01 + 7.610772252082824707E-01 + 3.678035736083984375E-01 + 2.524950504302978516E-01 + 4.255735874176025391E-01 + 4.157942533493041992E-01 + 9.012335538864135742E-01 + 5.474507808685302734E-02 + 3.782119750976562500E-01 + 9.816004633903503418E-01 + 2.183457612991333008E-01 + 4.723443984985351562E-01 + 5.975062847137451172E-01 + 9.705206751823425293E-01 + 3.669756054878234863E-01 + 6.821501851081848145E-01 + 3.193188309669494629E-01 + 3.225653171539306641E-01 + 1.817395687103271484E-01 + 6.766126751899719238E-01 + 8.674925565719604492E-01 + 6.555302143096923828E-01 + 8.572803735733032227E-01 + 8.064318299293518066E-01 + 3.427300453186035156E-01 + 5.542314052581787109E-01 + 3.226413130760192871E-01 + 8.337923288345336914E-01 + 6.414796710014343262E-01 + 1.540990471839904785E-01 + 7.370563745498657227E-01 + 9.641914963722229004E-01 + 5.003061890602111816E-01 + 7.600426673889160156E-03 + 4.413875341415405273E-01 + 4.176031947135925293E-01 + 7.699446678161621094E-01 + 4.727553725242614746E-01 + 8.890491724014282227E-02 + 5.250720381736755371E-01 + 1.946058273315429688E-01 + 6.767463088035583496E-01 + 7.529391050338745117E-01 + 6.488744616508483887E-01 + 3.945000171661376953E-01 + 8.730930089950561523E-02 + 8.694332838058471680E-01 + 9.554633498191833496E-01 + 4.196727275848388672E-01 + 5.105836391448974609E-01 + 6.118936538696289062E-01 + 6.028946638107299805E-01 + 8.110098838806152344E-01 + 3.621846437454223633E-02 + 9.575396776199340820E-02 + 2.987763285636901855E-01 + 9.313887953758239746E-01 + 6.720965504646301270E-01 + 5.246989130973815918E-01 + 4.130952954292297363E-01 + 1.608930230140686035E-01 + 7.932276725769042969E-01 + 1.658000349998474121E-01 + 9.984643459320068359E-01 + 9.240514039993286133E-02 + 6.280339360237121582E-01 + 7.040947675704956055E-01 + 9.530782699584960938E-03 + 1.460363268852233887E-01 + 6.053394079208374023E-02 + 3.931593894958496094E-01 + 5.172122716903686523E-01 + 3.628310561180114746E-01 + 9.126500487327575684E-01 + 2.476045489311218262E-01 + 5.459685921669006348E-01 + 8.449624180793762207E-01 + 1.428920626640319824E-01 + 5.712146759033203125E-01 + 8.055454492568969727E-01 + 3.802294135093688965E-01 + 5.547064542770385742E-02 + 3.324836492538452148E-01 + 7.547127008438110352E-01 + 5.441617369651794434E-01 + 3.097073435783386230E-01 + 1.235342025756835938E-02 + 5.357721447944641113E-01 + 3.540520071983337402E-01 + 7.426355481147766113E-01 + 8.965780138969421387E-01 + 2.487552762031555176E-01 + 9.818387627601623535E-01 + 3.875092864036560059E-01 + 7.844926714897155762E-01 + 7.591242790222167969E-01 + 5.202598571777343750E-01 + 3.245544433593750000E-01 + 6.426074504852294922E-01 + 7.689554095268249512E-01 + 2.132275104522705078E-01 + 7.208041548728942871E-01 + 6.572113633155822754E-01 + 1.120518445968627930E-01 + 5.419077873229980469E-01 + 2.726466059684753418E-01 + 3.696711659431457520E-01 + 3.604498505592346191E-01 + 6.698027849197387695E-01 + 6.273596286773681641E-01 + 2.367566823959350586E-01 + 8.929477334022521973E-01 + 7.735533118247985840E-01 + 9.669129252433776855E-01 + 4.132860898971557617E-02 + 7.055506110191345215E-01 + 2.254624962806701660E-01 + 3.118293285369873047E-01 + 4.476869106292724609E-02 + 1.984238624572753906E-02 + 3.721151947975158691E-01 + 5.042296648025512695E-01 + 3.089362978935241699E-01 + 4.029541611671447754E-01 + 2.201640605926513672E-01 + 8.959479928016662598E-01 + 5.098016262054443359E-01 + 9.268947839736938477E-01 + 6.369371414184570312E-01 + 4.946240186691284180E-01 + 1.186546087265014648E-01 + 4.458506107330322266E-01 + 7.365471124649047852E-02 + 8.723632693290710449E-01 + 5.402250885963439941E-01 + 6.138448119163513184E-01 + 3.762513995170593262E-01 + 5.301047563552856445E-01 + 2.131448388099670410E-01 + 7.456698417663574219E-01 + 1.034592986106872559E-01 + 9.420874118804931641E-01 + 7.431811094284057617E-01 + 5.927396416664123535E-01 + 3.806754946708679199E-01 + 3.438783288002014160E-01 + 4.841011762619018555E-01 + 7.107058763504028320E-01 + 6.006285548210144043E-01 + 8.718911409378051758E-01 + 7.528781294822692871E-01 + 1.678546071052551270E-01 + 8.530456423759460449E-01 + 6.928645372390747070E-01 + 4.483746290206909180E-01 + 8.691272735595703125E-01 + 8.830844759941101074E-01 + 4.455298781394958496E-01 + 7.613872289657592773E-01 + 2.563492655754089355E-01 + 9.345535635948181152E-01 + 2.429087162017822266E-01 + 9.339488744735717773E-01 + 7.248900532722473145E-01 + 5.507179498672485352E-01 + 6.892182826995849609E-01 + 6.875806450843811035E-01 + 3.168001174926757812E-01 + 1.607934832572937012E-01 + 6.812310218811035156E-02 + 4.336588978767395020E-01 + 1.000273227691650391E-01 + 7.927842736244201660E-01 + 9.029455184936523438E-01 + 6.314234733581542969E-01 + 5.179075002670288086E-01 + 4.327967762947082520E-01 + 7.583021521568298340E-01 + 5.472449660301208496E-01 + 4.906105995178222656E-01 + 8.797203302383422852E-01 + 6.395839452743530273E-01 + 3.322080969810485840E-01 + 6.633908152580261230E-01 + 6.552975773811340332E-01 + 6.561046242713928223E-01 + 6.216450929641723633E-01 + 4.372342824935913086E-01 + 6.419864296913146973E-01 + 3.634622693061828613E-01 + 1.972847580909729004E-01 + 6.649705767631530762E-01 + 2.752700448036193848E-01 + 7.503092885017395020E-01 + 7.001988887786865234E-01 + 1.834567189216613770E-01 + 8.104251623153686523E-01 + 7.950012087821960449E-01 + 1.598675251007080078E-01 + 5.615655779838562012E-01 + 3.915396928787231445E-01 + 8.270663022994995117E-02 + 7.018914222717285156E-01 + 9.125827550888061523E-01 + 7.986079454421997070E-01 + 5.635349750518798828E-01 + 7.957746386528015137E-01 + 9.319037199020385742E-01 + 6.931602954864501953E-02 + 7.693374752998352051E-01 + 6.818783283233642578E-01 + 8.934460878372192383E-01 + 1.714855432510375977E-02 + 8.962540626525878906E-01 + 3.553152680397033691E-01 + 9.922829866409301758E-01 + 4.770746231079101562E-01 + 1.363787651062011719E-01 + 2.533786892890930176E-01 + 1.517469882965087891E-01 + 3.890407681465148926E-01 + 6.477020978927612305E-01 + 5.188521742820739746E-01 + 5.825369954109191895E-01 + 9.254477024078369141E-01 + 6.444144845008850098E-01 + 6.410758495330810547E-01 + 7.450115680694580078E-02 + 6.786220669746398926E-01 + 2.606863975524902344E-01 + 6.093972921371459961E-01 + 5.878920555114746094E-01 + 2.780443429946899414E-01 + 7.952921390533447266E-01 + 1.286781430244445801E-01 + 6.314270496368408203E-01 + 6.242952942848205566E-01 + 6.475191712379455566E-01 + 3.181545734405517578E-01 + 5.732785463333129883E-01 + 7.518040537834167480E-01 + 5.190825462341308594E-01 + 9.551836252212524414E-01 + 1.983837485313415527E-01 + 9.735242128372192383E-01 + 8.406338095664978027E-01 + 7.621472477912902832E-01 + 5.292730331420898438E-01 + 5.907431244850158691E-01 + 5.738848447799682617E-02 + 5.152136087417602539E-02 + 7.235922813415527344E-01 + 7.364058494567871094E-01 + 5.750328898429870605E-01 + 9.592936038970947266E-01 + 6.466398835182189941E-01 + 1.536893844604492188E-01 + 7.757611870765686035E-01 + 8.554103374481201172E-01 + 5.270828008651733398E-01 + 6.470333337783813477E-01 + 1.759606599807739258E-01 + 3.171646595001220703E-01 + 7.309661507606506348E-01 + 7.395085692405700684E-01 + 1.788036227226257324E-01 + 2.987267971038818359E-01 + 5.869417190551757812E-01 + 3.801578879356384277E-01 + 1.693862080574035645E-01 + 6.402575969696044922E-02 + 1.512238383293151855E-01 + 7.245048880577087402E-01 + 7.901138663291931152E-01 + 7.059575319290161133E-01 + 1.078512072563171387E-01 + 9.835368394851684570E-02 + 6.694051027297973633E-01 + 1.260508298873901367E-01 + 6.057228446006774902E-01 + 5.397946238517761230E-01 + 5.784740447998046875E-01 + 9.608550071716308594E-01 + 9.779332876205444336E-01 + 8.950162529945373535E-01 + 2.638478875160217285E-01 + 2.152204513549804688E-03 + 2.239951491355895996E-01 + 1.383578777313232422E-02 + 4.029254317283630371E-01 + 2.975678443908691406E-02 + 9.719780087471008301E-01 + 8.856808543205261230E-01 + 6.842408180236816406E-01 + 6.185897588729858398E-01 + 4.010841846466064453E-01 + 6.911092996597290039E-01 + 9.133151173591613770E-01 + 7.127464413642883301E-01 + 9.122081995010375977E-01 + 9.490629434585571289E-01 + 4.896166920661926270E-01 + 3.302990198135375977E-01 + 2.989789843559265137E-01 + 6.109394431114196777E-01 + 3.352280855178833008E-01 + 2.758638858795166016E-01 + 9.510778188705444336E-01 + 9.706360697746276855E-01 + 7.689435482025146484E-01 + 6.439201235771179199E-01 + 8.323577642440795898E-01 + 8.808347582817077637E-01 + 5.308002829551696777E-01 + 7.352953553199768066E-01 + 8.174005746841430664E-01 + 9.872531890869140625E-02 + 2.232695817947387695E-01 + 6.359112858772277832E-01 + 7.247573733329772949E-01 + 9.864163398742675781E-01 + 1.946235895156860352E-01 + 6.219947338104248047E-02 + 1.332106590270996094E-01 + 5.636278986930847168E-01 + 3.380259871482849121E-01 + 8.998335599899291992E-01 + 3.618687391281127930E-02 + 7.324489355087280273E-01 + 9.723536372184753418E-01 + 4.119529128074645996E-01 + 4.371667504310607910E-01 + 3.705200552940368652E-01 + 1.342041492462158203E-01 + 4.717244505882263184E-01 + 9.205152988433837891E-01 + 6.986564397811889648E-02 + 4.785077571868896484E-01 + 4.369843602180480957E-01 + 8.334130048751831055E-01 + 4.248592853546142578E-01 + 9.185408353805541992E-01 + 2.652857899665832520E-01 + 1.638842821121215820E-01 + 8.059030771255493164E-02 + 4.903833866119384766E-01 + 8.426713347434997559E-01 + 9.306216239929199219E-01 + 4.762101173400878906E-01 + 4.691480994224548340E-01 + 8.859742283821105957E-01 + 3.707827329635620117E-01 + 9.004107117652893066E-01 + 3.973333239555358887E-01 + 5.963860154151916504E-01 + 5.329974889755249023E-01 + 7.948819398880004883E-01 + 6.974260210990905762E-01 + 1.703377366065979004E-01 + 6.070367693901062012E-01 + 5.649757385253906250E-01 + 9.254973530769348145E-01 + 3.684421777725219727E-01 + 5.500042438507080078E-01 + 9.848715662956237793E-01 + 8.748069405555725098E-01 + 6.669892668724060059E-01 + 6.773889064788818359E-01 + 6.210083365440368652E-01 + 1.958345174789428711E-01 + 4.418283700942993164E-02 + 6.869151592254638672E-01 + 3.966391086578369141E-02 + 9.005476832389831543E-01 + 4.597288370132446289E-01 + 9.152441620826721191E-01 + 2.047895789146423340E-01 + 5.394428968429565430E-01 + 7.526231408119201660E-01 + 6.502321958541870117E-01 + 9.896278977394104004E-01 + 1.534469127655029297E-01 + 2.805027961730957031E-01 + 5.242132544517517090E-01 + 1.998299360275268555E-02 + 7.057659029960632324E-01 + 5.285493731498718262E-01 + 7.505154013633728027E-01 + 7.348117828369140625E-01 + 8.441283702850341797E-01 + 8.954792618751525879E-01 + 9.231507778167724609E-01 + 1.679760813713073730E-01 + 9.362884759902954102E-01 + 9.385716915130615234E-02 + 3.007491827011108398E-01 + 1.955953240394592285E-01 + 5.343614220619201660E-01 + 5.908315181732177734E-01 + 7.220702767372131348E-01 + 1.414368748664855957E-01 + 6.061368584632873535E-01 + 2.797172069549560547E-01 + 7.774425148963928223E-01 + 2.398342490196228027E-01 + 4.237724542617797852E-01 + 5.056104063987731934E-01 + 7.343883514404296875E-01 + 2.845975756645202637E-01 + 4.750007390975952148E-01 + 2.091461420059204102E-01 + 2.555083036422729492E-01 + 4.228479266166687012E-01 + 2.263230085372924805E-01 + 1.604250073432922363E-01 + 2.383446097373962402E-01 + 2.089534997940063477E-01 + 3.697879910469055176E-01 + 5.448156595230102539E-02 + 7.418134808540344238E-01 + 7.670622467994689941E-01 + 2.828791737556457520E-01 + 3.065292835235595703E-01 + 3.632034659385681152E-01 + 1.032078862190246582E-01 + 9.525341391563415527E-01 + 5.078039765357971191E-01 + 6.642478108406066895E-01 + 6.369726061820983887E-01 + 3.125365376472473145E-01 + 6.916568279266357422E-01 + 9.249054789543151855E-01 + 8.601423501968383789E-01 + 9.220951795578002930E-02 + 4.494937062263488770E-01 + 9.120567440986633301E-01 + 9.652786850929260254E-01 + 8.636415004730224609E-03 + 4.424293637275695801E-01 + 5.604851245880126953E-02 + 5.728121995925903320E-01 + 1.709045767784118652E-01 + 8.466627001762390137E-01 + 3.734211325645446777E-01 + 5.710750222206115723E-01 + 1.448328495025634766E-01 + 5.715823173522949219E-02 + 4.699743986129760742E-01 + 8.878713846206665039E-01 + 2.984628677368164062E-01 + 9.389581680297851562E-01 + 5.292934179306030273E-02 + 4.867941737174987793E-01 + 7.119781970977783203E-01 + 8.554255366325378418E-01 + 4.829068183898925781E-01 + 9.523070454597473145E-01 + 8.572346568107604980E-01 + 5.118661522865295410E-01 + 1.102497577667236328E-01 + 4.375951886177062988E-01 + 8.304110765457153320E-01 + 1.152647733688354492E-01 + 7.412810325622558594E-01 + 3.140814304351806641E-01 + 8.405947685241699219E-02 + 8.133043050765991211E-01 + 8.789296150207519531E-01 + 3.401589393615722656E-02 + 1.078472733497619629E-01 + 2.482120394706726074E-01 + 4.191369414329528809E-01 + 5.697774887084960938E-02 + 8.443233966827392578E-01 + 6.388009786605834961E-01 + 5.539892315864562988E-01 + 6.268877387046813965E-01 + 6.325404047966003418E-01 + 4.602146148681640625E-02 + 2.652795314788818359E-01 + 5.901367068290710449E-01 + 9.069818854331970215E-01 + 8.469868302345275879E-01 + 2.679816484451293945E-01 + 4.448758363723754883E-01 + 3.271313905715942383E-01 + 1.651014685630798340E-01 + 2.497810721397399902E-01 + 7.720232009887695312E-01 + 7.824314832687377930E-01 + 4.325156807899475098E-01 + 5.084515213966369629E-01 + 4.463694691658020020E-01 + 5.862172842025756836E-01 + 3.017474412918090820E-01 + 1.019219756126403809E-01 + 8.014783859252929688E-01 + 4.223800301551818848E-01 + 3.166419267654418945E-01 + 1.863645911216735840E-01 + 6.116495132446289062E-01 + 1.042079329490661621E-01 + 6.684159040451049805E-01 + 8.986022472381591797E-01 + 5.140637159347534180E-01 + 5.548119544982910156E-03 + 5.232045054435729980E-01 + 3.493174910545349121E-01 + 5.902005434036254883E-01 + 7.681297063827514648E-01 + 1.812191009521484375E-01 + 3.511050939559936523E-01 + 5.094664692878723145E-01 + 9.818989038467407227E-02 + 5.636478066444396973E-01 + 7.988509535789489746E-01 + 7.415661215782165527E-01 + 3.767013549804687500E-01 + 8.274853229522705078E-01 + 5.100618600845336914E-01 + 8.444848060607910156E-01 + 4.494286775588989258E-01 + 6.411976218223571777E-01 + 2.647608518600463867E-02 + 8.805547952651977539E-01 + 2.402088642120361328E-01 + 7.336384057998657227E-01 + 1.976394057273864746E-01 + 8.569643497467041016E-01 + 8.666443824768066406E-02 + 2.025915384292602539E-01 + 5.323022007942199707E-01 + 1.058813929557800293E-01 + 5.757374167442321777E-01 + 2.473147511482238770E-01 + 8.773531913757324219E-01 + 8.968350887298583984E-01 + 8.059681653976440430E-01 + 8.452568054199218750E-01 + 7.942815423011779785E-01 + 2.834604382514953613E-01 + 3.915413022041320801E-01 + 8.034151792526245117E-02 + 4.009913206100463867E-01 + 1.293932795524597168E-01 + 4.044333696365356445E-01 + 4.146536588668823242E-01 + 9.417963027954101562E-01 + 6.069434285163879395E-01 + 8.369448781013488770E-01 + 6.617622375488281250E-01 + 8.604303598403930664E-01 + 3.408146500587463379E-01 + 3.902530670166015625E-01 + 2.809132337570190430E-01 + 6.212716698646545410E-01 + 9.703432917594909668E-01 + 2.686557173728942871E-01 + 3.090590238571166992E-01 + 3.003029823303222656E-01 + 2.674602866172790527E-01 + 4.913473129272460938E-02 + 8.095357418060302734E-01 + 5.576202869415283203E-01 + 8.081743717193603516E-01 + 8.510817885398864746E-01 + 9.351980686187744141E-02 + 9.282943010330200195E-01 + 2.881098389625549316E-01 + 4.011825323104858398E-01 + 3.898552656173706055E-01 + 1.271121501922607422E-01 + 1.263983845710754395E-01 + 9.574060440063476562E-01 + 2.684725522994995117E-01 + 4.189464449882507324E-01 + 5.820670127868652344E-01 + 1.675999164581298828E-02 + 6.192203164100646973E-01 + 9.907658696174621582E-01 + 8.335814476013183594E-01 + 2.785983085632324219E-01 + 3.754950165748596191E-01 + 4.206496477127075195E-01 + 2.659395337104797363E-01 + 4.196972846984863281E-01 + 5.686038136482238770E-01 + 3.835235834121704102E-01 + 7.225037217140197754E-01 + 5.795359611511230469E-04 + 4.830050468444824219E-02 + 6.896245479583740234E-01 + 4.784428477287292480E-01 + 8.537155389785766602E-01 + 3.420020341873168945E-01 + 8.801803588867187500E-01 + 6.071807742118835449E-01 + 8.331667184829711914E-01 + 2.555431127548217773E-01 + 5.000141263008117676E-01 + 2.684263586997985840E-01 + 5.271008014678955078E-01 + 6.289888024330139160E-01 + 7.425060868263244629E-01 + 4.271717667579650879E-01 + 9.555458426475524902E-01 + 8.180935382843017578E-01 + 8.669004440307617188E-01 + 4.263161420822143555E-01 + 3.685511946678161621E-01 + 5.869158506393432617E-01 + 9.464159011840820312E-01 + 7.517979145050048828E-01 + 4.896535277366638184E-01 + 4.117989540100097656E-02 + 1.094825863838195801E-01 + 5.076968073844909668E-01 + 6.271224021911621094E-01 + 4.564774036407470703E-02 + 5.943440198898315430E-01 + 9.251242280006408691E-01 + 1.914889812469482422E-01 + 3.952820301055908203E-01 + 8.493484854698181152E-01 + 3.335858583450317383E-01 + 6.804435849189758301E-01 + 1.219382286071777344E-01 + 2.557772397994995117E-01 + 3.634866476058959961E-01 + 4.472255706787109375E-01 + 3.301673531532287598E-01 + 8.804057240486145020E-01 + 3.105987906455993652E-01 + 8.592597842216491699E-01 + 7.863549590110778809E-01 + 5.435917973518371582E-01 + 3.213310241699218750E-02 + 4.336377978324890137E-01 + 9.894099831581115723E-01 + 9.214519262313842773E-01 + 5.689207315444946289E-01 + 6.156623363494873047E-03 + 3.634812235832214355E-01 + 9.063502550125122070E-01 + 9.253799319267272949E-01 + 4.404091238975524902E-01 + 3.205501437187194824E-01 + 5.656696557998657227E-01 + 5.103762149810791016E-01 + 2.166163325309753418E-01 + 2.042600512504577637E-01 + 7.466226816177368164E-02 + 7.322764396667480469E-01 + 8.006313443183898926E-01 + 1.773709654808044434E-01 + 8.188776373863220215E-01 + 4.462967514991760254E-01 + 4.242920875549316406E-01 + 6.335621476173400879E-01 + 8.572941422462463379E-01 + 7.656554579734802246E-01 + 2.643010616302490234E-01 + 7.720463275909423828E-01 + 5.278450250625610352E-01 + 2.150442600250244141E-01 + 9.603474140167236328E-01 + 7.631895542144775391E-01 + 5.307764410972595215E-01 + 2.801151275634765625E-01 + 6.459769010543823242E-01 + 2.503697872161865234E-01 + 9.333257675170898438E-01 + 6.800397634506225586E-01 + 1.533805131912231445E-01 + 4.547705650329589844E-01 + 4.419195652008056641E-01 + 3.034635782241821289E-01 + 1.200713515281677246E-01 + 6.882908940315246582E-01 + 6.796258687973022461E-02 + 9.744247198104858398E-01 + 6.455836892127990723E-01 + 6.767320632934570312E-02 + 5.648159980773925781E-02 + 1.353729367256164551E-01 + 4.434851408004760742E-01 + 1.627244949340820312E-01 + 6.661201119422912598E-01 + 8.816525340080261230E-01 + 6.803373694419860840E-01 + 2.162039279937744141E-03 + 7.368812561035156250E-01 + 8.695412874221801758E-01 + 8.040865063667297363E-01 + 9.951963424682617188E-01 + 5.284941196441650391E-01 + 7.543358206748962402E-01 + 8.259156942367553711E-01 + 6.935047507286071777E-01 + 2.012396454811096191E-01 + 1.193166971206665039E-01 + 9.888755083084106445E-01 + 7.797878384590148926E-01 + 6.068108677864074707E-01 + 1.250064969062805176E-01 + 4.232336878776550293E-01 + 2.711440324783325195E-01 + 7.212370038032531738E-01 + 8.662157654762268066E-01 + 6.040608286857604980E-01 + 3.075351119041442871E-01 + 9.652245044708251953E-01 + 5.184206366539001465E-01 + 7.768084406852722168E-01 + 4.080882668495178223E-01 + 8.947457671165466309E-01 + 8.783682584762573242E-01 + 4.194968938827514648E-01 + 8.720858097076416016E-01 + 5.732128024101257324E-01 + 7.640886902809143066E-01 + 3.418121337890625000E-01 + 4.050363302230834961E-01 + 3.508344292640686035E-01 + 3.427465558052062988E-01 + 5.917356014251708984E-01 + 2.537005543708801270E-01 + 2.713058590888977051E-01 + 8.594504594802856445E-01 + 2.739045619964599609E-01 + 1.084372997283935547E-01 + 8.509160280227661133E-01 + 3.589969873428344727E-01 + 8.083438277244567871E-01 + 1.438762545585632324E-01 + 2.654289603233337402E-01 + 9.116679430007934570E-01 + 7.466673851013183594E-01 + 9.797429442405700684E-01 + 7.693043947219848633E-01 + 2.665984034538269043E-01 + 3.740656375885009766E-02 + 3.774685263633728027E-01 + 5.209783911705017090E-01 + 1.500939130783081055E-01 + 9.418143630027770996E-01 + 7.283232212066650391E-01 + 5.215176343917846680E-01 + 2.953684329986572266E-01 + 2.808744907379150391E-01 + 4.589066505432128906E-01 + 5.379735231399536133E-01 + 7.141558527946472168E-01 + 3.577363491058349609E-02 + 9.846703410148620605E-01 + 9.102777242660522461E-01 + 5.938773155212402344E-01 + 8.557276129722595215E-01 + 2.620944976806640625E-01 + 1.236343383789062500E-01 + 5.683442950248718262E-01 + 1.477348804473876953E-02 + 1.031058430671691895E-01 + 4.934830665588378906E-01 + 7.980364561080932617E-02 + 8.039599061012268066E-01 + 6.218565702438354492E-01 + 1.294130086898803711E-01 + 2.762119174003601074E-01 + 4.183912277221679688E-02 + 4.764437675476074219E-01 + 4.147806763648986816E-01 + 4.400225877761840820E-01 + 5.007878541946411133E-01 + 9.423415660858154297E-01 + 3.309451937675476074E-01 + 7.247100472450256348E-01 + 8.588469028472900391E-02 + 2.926886081695556641E-01 + 8.403030037879943848E-01 + 6.227326393127441406E-01 + 9.878861904144287109E-01 + 8.237439990043640137E-01 + 8.249783515930175781E-02 + 2.642193436622619629E-01 + 4.807674288749694824E-01 + 5.388432145118713379E-01 + 9.247671961784362793E-01 + 7.129455208778381348E-01 + 4.061960577964782715E-01 + 1.425788998603820801E-01 + 3.612380027770996094E-01 + 5.013146996498107910E-01 + 3.730183839797973633E-02 + 9.378163814544677734E-01 + 1.195876002311706543E-01 + 7.113260030746459961E-02 + 2.984388470649719238E-01 + 3.976221680641174316E-01 + 4.427477717399597168E-01 + 1.295770406723022461E-01 + 3.751975297927856445E-01 + 1.603014469146728516E-01 + 5.578981041908264160E-01 + 5.217844247817993164E-02 + 2.797908782958984375E-01 + 3.045370578765869141E-01 + 7.299848794937133789E-01 + 2.131827473640441895E-01 + 7.337888479232788086E-01 + 8.816231489181518555E-01 + 6.930915117263793945E-01 + 1.998456716537475586E-01 + 8.885859847068786621E-01 + 9.456888437271118164E-01 + 8.732262849807739258E-01 + 4.634114503860473633E-01 + 5.756073594093322754E-01 + 2.569156289100646973E-01 + 7.941190004348754883E-01 + 8.163414001464843750E-01 + 6.552801728248596191E-01 + 2.316314578056335449E-01 + 4.014691114425659180E-01 + 8.310297131538391113E-01 + 5.346352458000183105E-01 + 8.291851878166198730E-01 + 1.762646436691284180E-02 + 2.236695885658264160E-01 + 7.024907469749450684E-01 + 4.930113554000854492E-01 + 6.125471591949462891E-01 + 8.556166887283325195E-01 + 5.323192477226257324E-01 + 5.306367874145507812E-01 + 5.152407884597778320E-01 + 1.123064756393432617E-01 + 2.308344841003417969E-01 + 6.585795879364013672E-01 + 3.589372634887695312E-01 + 6.691570281982421875E-01 + 6.656590104103088379E-01 + 5.167983174324035645E-01 + 7.451248764991760254E-01 + 6.387504339218139648E-01 + 7.063196897506713867E-01 + 3.915894031524658203E-02 + 9.870269894599914551E-01 + 9.606848359107971191E-01 + 9.097978472709655762E-01 + 3.228816390037536621E-01 + 5.353682041168212891E-01 + 9.083976149559020996E-01 + 7.051936388015747070E-01 + 6.016674041748046875E-01 + 6.062402725219726562E-01 + 6.769470572471618652E-01 + 4.946875572204589844E-02 + 2.766501307487487793E-01 + 9.849665164947509766E-01 + 3.604059219360351562E-01 + 1.690034270286560059E-01 + 4.821640849113464355E-01 + 4.520360231399536133E-01 + 7.439762949943542480E-01 + 3.636855483055114746E-01 + 6.686477065086364746E-01 + 6.606242060661315918E-01 + 7.230296730995178223E-01 + 7.494825124740600586E-02 + 1.554286479949951172E-02 + 1.082202196121215820E-01 + 9.439190626144409180E-01 + 7.948952317237854004E-01 + 7.702965140342712402E-01 + 3.191538453102111816E-01 + 8.425882458686828613E-01 + 1.721156835556030273E-01 + 1.192675232887268066E-01 + 6.008089780807495117E-01 + 4.473908543586730957E-01 + 4.779342412948608398E-01 + 6.014696955680847168E-01 + 3.160764575004577637E-01 + 8.238287568092346191E-01 + 6.146620512008666992E-01 + 6.544659733772277832E-01 + 2.101876735687255859E-01 + 7.035709619522094727E-01 + 3.422943949699401855E-01 + 7.703830599784851074E-01 + 4.242982268333435059E-01 + 8.093292713165283203E-01 + 2.510439157485961914E-01 + 3.530328869819641113E-01 + 1.039952039718627930E-01 + 2.926926016807556152E-01 + 6.403498053550720215E-01 + 6.234866976737976074E-01 + 7.454415559768676758E-01 + 9.650408625602722168E-01 + 1.809761524200439453E-01 + 6.652440428733825684E-01 + 1.102836728096008301E-01 + 3.959472775459289551E-01 + 7.906107902526855469E-01 + 2.959499359130859375E-01 + 6.134276390075683594E-01 + 1.212487220764160156E-01 + 8.864270448684692383E-01 + 6.085457801818847656E-01 + 3.318687677383422852E-01 + 3.266275525093078613E-01 + 6.966552734375000000E-01 + 7.224082946777343750E-05 + 5.643020868301391602E-01 + 7.808867096900939941E-01 + 3.243212699890136719E-01 + 5.247609615325927734E-01 + 4.050517082214355469E-01 + 9.145588278770446777E-01 + 2.468340992927551270E-01 + 9.143337607383728027E-01 + 6.106171607971191406E-01 + 2.294927239418029785E-01 + 5.517829060554504395E-01 + 8.581295013427734375E-01 + 9.916127324104309082E-01 + 4.688640832901000977E-01 + 2.588423490524291992E-01 + 3.001143336296081543E-01 + 1.444267630577087402E-01 + 7.431960105895996094E-01 + 2.103524208068847656E-01 + 6.808841228485107422E-01 + 5.271742343902587891E-01 + 5.631136894226074219E-01 + 4.774001836776733398E-01 + 7.049896121025085449E-01 + 1.863605380058288574E-01 + 9.603520631790161133E-01 + 8.550866842269897461E-01 + 3.635954856872558594E-02 + 8.971982598304748535E-01 + 9.529644250869750977E-01 + 5.606587529182434082E-01 + 7.468600273132324219E-01 + 3.210634589195251465E-01 + 8.798822164535522461E-01 + 8.524610996246337891E-01 + 5.666154026985168457E-01 + 2.205550670623779297E-01 + 9.965649247169494629E-01 + 5.450303554534912109E-01 + 7.295656800270080566E-01 + 6.556513905525207520E-01 + 9.102157354354858398E-01 + 4.439949989318847656E-01 + 1.583158373832702637E-01 + 8.720501661300659180E-01 + 3.626251220703125000E-01 + 8.308203220367431641E-01 + 4.509090781211853027E-01 + 8.156110644340515137E-01 + 6.529554724693298340E-01 + 5.636357665061950684E-01 + 5.960203409194946289E-01 + 6.506199240684509277E-01 + 2.543606162071228027E-01 + 2.337590456008911133E-01 + 7.852429151535034180E-01 + 2.330363988876342773E-01 + 5.447549819946289062E-01 + 6.345381140708923340E-01 + 3.395924568176269531E-01 + 4.150182604789733887E-01 + 3.376890420913696289E-01 + 2.608022093772888184E-01 + 6.482374072074890137E-01 + 6.878157854080200195E-01 + 2.421514987945556641E-01 + 7.789672613143920898E-01 + 7.961438298225402832E-01 + 3.447121977806091309E-01 + 7.898492813110351562E-01 + 4.689633250236511230E-01 + 6.096643209457397461E-02 + 4.070371985435485840E-01 + 3.549932837486267090E-01 + 1.037092804908752441E-01 + 6.313555836677551270E-01 + 4.006339907646179199E-01 + 9.257084131240844727E-01 + 5.062904953956604004E-01 + 2.925909757614135742E-01 + 6.367068886756896973E-01 + 3.177059292793273926E-01 + 6.009138822555541992E-01 + 6.904950737953186035E-01 + 2.389809489250183105E-01 + 3.124201297760009766E-02 + 6.615129113197326660E-01 + 5.694631934165954590E-01 + 8.529472947120666504E-01 + 4.531071782112121582E-01 + 7.648682594299316406E-01 + 7.262170314788818359E-01 + 2.585128545761108398E-01 + 9.538221955299377441E-01 + 4.445159435272216797E-01 + 3.103256225585937500E-01 + 9.871418476104736328E-01 + 8.365331292152404785E-01 + 5.058955550193786621E-01 + 5.805475115776062012E-01 + 3.546670675277709961E-01 + 8.618279695510864258E-01 + 5.634971857070922852E-01 + 7.859092354774475098E-01 + 8.481487035751342773E-01 + 1.942927837371826172E-01 + 4.650934338569641113E-01 + 9.200168251991271973E-01 + 1.892428994178771973E-01 + 2.048833370208740234E-01 + 8.579484820365905762E-01 + 9.845843315124511719E-01 + 8.009375929832458496E-01 + 7.555010318756103516E-01 + 1.600248217582702637E-01 + 1.261446475982666016E-01 + 4.585484862327575684E-01 + 3.510305285453796387E-01 + 8.757547736167907715E-01 + 1.209228634834289551E-01 + 2.641410231590270996E-01 + 5.641478896141052246E-01 + 4.933400154113769531E-01 + 7.524680495262145996E-01 + 9.971743226051330566E-01 + 5.869243144989013672E-01 + 7.943769693374633789E-01 + 3.014446496963500977E-01 + 3.739575743675231934E-01 + 9.624321460723876953E-01 + 5.427080392837524414E-01 + 7.835109829902648926E-01 + 8.602408170700073242E-01 + 7.096776366233825684E-01 + 7.121183872222900391E-01 + 2.283887267112731934E-01 + 6.924141645431518555E-01 + 1.172379255294799805E-01 + 8.459823727607727051E-01 + 3.500401973724365234E-01 + 5.881966948509216309E-01 + 8.543569445610046387E-01 + 1.771810054779052734E-01 + 2.902011871337890625E-01 + 9.959570169448852539E-01 + 4.991597533226013184E-01 + 3.083030581474304199E-01 + 7.820379734039306641E-01 + 1.534138321876525879E-01 + 6.293731331825256348E-01 + 7.696962356567382812E-02 + 1.193296909332275391E-02 + 5.534459948539733887E-01 + 6.084985733032226562E-01 + 2.666642665863037109E-01 + 8.907560110092163086E-01 + 1.084374785423278809E-01 + 8.455799221992492676E-01 + 3.679150342941284180E-01 + 8.887616395950317383E-01 + 9.611284136772155762E-01 + 1.764487624168395996E-01 + 3.067831993103027344E-01 + 4.531087875366210938E-01 + 7.851602435111999512E-01 + 8.635900616645812988E-01 + 3.119537830352783203E-01 + 4.773793220520019531E-01 + 1.739196777343750000E-01 + 7.901386618614196777E-01 + 2.572478652000427246E-01 + 8.440022468566894531E-01 + 7.690173387527465820E-01 + 3.200427293777465820E-01 + 2.942500114440917969E-01 + 9.556952118873596191E-01 + 7.155019640922546387E-01 + 8.482989072799682617E-01 + 8.090226054191589355E-01 + 8.447328209877014160E-01 + 1.523472070693969727E-01 + 1.990650892257690430E-01 + 2.079358696937561035E-01 + 2.307355403900146484E-02 + 7.426689863204956055E-01 + 9.314143061637878418E-01 + 3.939714431762695312E-01 + 1.432600617408752441E-01 + 8.068131804466247559E-01 + 2.267094254493713379E-01 + 2.755234837532043457E-01 + 3.023213148117065430E-01 + 8.989866971969604492E-01 + 9.632679224014282227E-01 + 6.113684773445129395E-01 + 9.106130003929138184E-01 + 9.673990011215209961E-01 + 2.265101671218872070E-01 + 9.126980304718017578E-01 + 2.641661167144775391E-01 + 7.695692777633666992E-02 + 8.473290801048278809E-01 + 9.105539321899414062E-02 + 6.693239212036132812E-01 + 6.822288036346435547E-03 + 6.005809307098388672E-01 + 4.171335697174072266E-02 + 7.548454403877258301E-01 + 4.190384745597839355E-01 + 7.813202738761901855E-01 + 4.113280773162841797E-02 + 2.877810001373291016E-01 + 3.799882531166076660E-01 + 5.033389329910278320E-01 + 1.278292536735534668E-01 + 5.050873756408691406E-02 + 7.303246259689331055E-01 + 9.621708393096923828E-01 + 3.943671584129333496E-01 + 4.133751392364501953E-01 + 2.081125974655151367E-01 + 4.622036218643188477E-02 + 6.267454028129577637E-01 + 3.341401815414428711E-01 + 5.597317218780517578E-01 + 7.197444438934326172E-01 + 3.716859221458435059E-01 + 6.172091364860534668E-01 + 2.931759357452392578E-01 + 4.994642734527587891E-02 + 2.598298192024230957E-01 + 1.169900298118591309E-01 + 5.297142267227172852E-02 + 2.107143402099609375E-02 + 4.615061283111572266E-01 + 3.940517306327819824E-01 + 7.877159714698791504E-01 + 7.580015063285827637E-01 + 3.734228014945983887E-01 + 7.390618324279785156E-01 + 3.480343818664550781E-01 + 8.466496467590332031E-01 + 6.553828716278076172E-03 + 9.507867097854614258E-01 + 7.197238802909851074E-01 + 7.813226580619812012E-01 + 6.804805994033813477E-01 + 5.238857865333557129E-01 + 7.511933445930480957E-01 + 1.082373261451721191E-01 + 5.921149253845214844E-02 + 6.590234637260437012E-01 + 7.927282452583312988E-01 + 4.900326728820800781E-01 + 3.750746250152587891E-01 + 5.806328058242797852E-01 + 2.057055234909057617E-01 + 3.940787315368652344E-01 + 1.427263021469116211E-01 + 1.700934767723083496E-01 + 2.089284062385559082E-01 + 6.350821256637573242E-01 + 6.517821550369262695E-02 + 4.658085107803344727E-02 + 9.250823259353637695E-01 + 6.008772850036621094E-01 + 2.942517995834350586E-01 + 3.311378955841064453E-01 + 4.417920112609863281E-01 + 1.949384212493896484E-01 + 2.040863037109375000E-04 + 7.779844403266906738E-01 + 4.916553497314453125E-01 + 9.791240692138671875E-01 + 9.778921008110046387E-01 + 2.911995053291320801E-01 + 6.525558233261108398E-02 + 2.369260787963867188E-02 + 9.269915223121643066E-01 + 6.460299491882324219E-01 + 3.313926458358764648E-01 + 4.450349807739257812E-01 + 7.245312333106994629E-01 + 2.393353581428527832E-01 + 9.684385061264038086E-01 + 1.439757347106933594E-01 + 8.326154351234436035E-01 + 3.312909603118896484E-02 + 5.534475445747375488E-01 + 7.399415373802185059E-01 + 7.359741330146789551E-01 + 9.786790609359741211E-01 + 1.654114723205566406E-01 + 2.050748467445373535E-01 + 1.061211228370666504E-01 + 5.562924742698669434E-01 + 7.017590999603271484E-01 + 6.557359099388122559E-01 + 4.089705944061279297E-01 + 4.779439568519592285E-01 + 7.703125476837158203E-02 + 3.746843338012695312E-02 + 2.341129779815673828E-01 + 1.830524206161499023E-01 + 4.638803601264953613E-01 + 1.454436779022216797E-01 + 4.543405771255493164E-01 + 2.956671714782714844E-01 + 9.017341732978820801E-01 + 7.335957884788513184E-01 + 7.725328207015991211E-02 + 6.831746101379394531E-01 + 6.531952619552612305E-01 + 3.552389144897460938E-02 + 3.950842618942260742E-01 + 1.727007031440734863E-01 + 2.279471755027770996E-01 + 5.800778269767761230E-01 + 8.710973262786865234E-01 + 7.593108415603637695E-01 + 9.735066890716552734E-01 + 2.186708450317382812E-01 + 1.033310294151306152E-01 + 7.005115747451782227E-01 + 9.468967318534851074E-01 + 3.056662082672119141E-01 + 1.588653326034545898E-01 + 7.416737079620361328E-01 + 1.976717710494995117E-01 + 9.611002802848815918E-01 + 4.915819168090820312E-01 + 8.916534781455993652E-01 + 5.037393569946289062E-01 + 8.046385645866394043E-01 + 2.858354449272155762E-01 + 9.457237720489501953E-01 + 2.020667791366577148E-01 + 8.402631878852844238E-01 + 2.816766500473022461E-02 + 9.668791294097900391E-01 + 8.547085523605346680E-01 + 5.551021695137023926E-01 + 1.292154192924499512E-01 + 2.560232877731323242E-01 + 5.537486076354980469E-02 + 6.203734874725341797E-01 + 9.584124088287353516E-01 + 5.616529583930969238E-01 + 9.391269683837890625E-01 + 5.043013691902160645E-01 + 7.001060843467712402E-01 + 1.691412925720214844E-01 + 6.291747093200683594E-03 + 7.562092542648315430E-01 + 3.943994641304016113E-01 + 5.531762838363647461E-01 + 6.382955312728881836E-01 + 6.433405280113220215E-01 + 1.086770296096801758E-01 + 7.935516834259033203E-01 + 6.371185779571533203E-01 + 2.580217123031616211E-01 + 2.576539516448974609E-01 + 2.650761008262634277E-01 + 7.309481501579284668E-01 + 4.778282046318054199E-01 + 6.400910615921020508E-01 + 4.064569473266601562E-01 + 1.423516273498535156E-01 + 4.225293993949890137E-01 + 5.597608685493469238E-01 + 8.222801089286804199E-01 + 5.105485320091247559E-01 + 8.372119069099426270E-01 + 4.213333129882812500E-02 + 1.725095510482788086E-01 + 9.016937613487243652E-01 + 5.755394697189331055E-02 + 3.079110383987426758E-02 + 5.016133785247802734E-01 + 3.329215645790100098E-01 + 3.447541594505310059E-01 + 6.308833956718444824E-01 + 3.969710469245910645E-01 + 4.467506408691406250E-01 + 9.549680352210998535E-01 + 7.790333628654479980E-01 + 8.850967884063720703E-02 + 8.277136087417602539E-01 + 9.982889890670776367E-01 + 7.511562108993530273E-02 + 8.157848715782165527E-01 + 4.296670556068420410E-01 + 2.263054847717285156E-01 + 5.301100015640258789E-01 + 3.952301740646362305E-01 + 1.807636022567749023E-02 + 5.887618660926818848E-01 + 1.576281785964965820E-01 + 1.968342661857604980E-01 + 6.360838413238525391E-01 + 1.051577329635620117E-01 + 3.284974098205566406E-01 + 1.933674216270446777E-01 + 4.998063445091247559E-01 + 8.617377281188964844E-02 + 6.203814744949340820E-01 + 6.874797344207763672E-01 + 5.708938837051391602E-01 + 7.383300662040710449E-01 + 7.384982705116271973E-01 + 1.520532369613647461E-02 + 6.891275644302368164E-01 + 5.514301657676696777E-01 + 4.432645440101623535E-01 + 1.077736020088195801E-01 + 3.930000662803649902E-01 + 6.871307492256164551E-01 + 4.927554130554199219E-01 + 3.337247967720031738E-01 + 3.335596919059753418E-01 + 2.275886535644531250E-01 + 2.815794944763183594E-01 + 7.034737467765808105E-01 + 7.612187862396240234E-01 + 6.940495371818542480E-01 + 7.160603404045104980E-01 + 2.467799186706542969E-01 + 5.561991930007934570E-01 + 1.498036980628967285E-01 + 3.861830830574035645E-01 + 9.108766913414001465E-01 + 3.078830242156982422E-01 + 2.485322952270507812E-02 + 6.997172832489013672E-01 + 9.242142438888549805E-01 + 5.876084566116333008E-01 + 5.963197946548461914E-01 + 2.433813214302062988E-01 + 1.756093502044677734E-01 + 8.467180728912353516E-01 + 1.856940388679504395E-01 + 8.568118214607238770E-01 + 4.264738559722900391E-01 + 4.063290953636169434E-01 + 8.207863569259643555E-02 + 2.449071407318115234E-01 + 3.111298084259033203E-01 + 3.239251971244812012E-01 + 2.996969223022460938E-01 + 6.135403513908386230E-01 + 3.226818442344665527E-01 + 3.410735726356506348E-01 + 4.758971333503723145E-01 + 2.179586887359619141E-02 + 1.274992823600769043E-01 + 1.194398403167724609E-01 + 3.613212108612060547E-01 + 6.328171491622924805E-02 + 4.556334018707275391E-02 + 8.816381692886352539E-01 + 1.272323131561279297E-01 + 9.572950005531311035E-01 + 5.076960921287536621E-01 + 7.426619529724121094E-01 + 7.144636511802673340E-01 + 3.502577543258666992E-01 + 2.805447578430175781E-01 + 9.289690256118774414E-01 + 5.725755095481872559E-01 + 9.921143054962158203E-01 + 3.360521793365478516E-02 + 4.673950672149658203E-01 + 1.365391612052917480E-01 + 5.056279897689819336E-02 + 4.470093846321105957E-01 + 9.920528531074523926E-01 + 2.951350808143615723E-01 + 2.437037825584411621E-01 + 4.851042032241821289E-01 + 3.138793706893920898E-01 + 4.895071983337402344E-01 + 5.169933438301086426E-01 + 8.346859812736511230E-01 + 9.870507717132568359E-01 + 6.881815791130065918E-01 + 3.457273840904235840E-01 + 3.736832141876220703E-01 + 8.985573053359985352E-02 + 6.553300619125366211E-01 + 6.378017067909240723E-01 + 7.556281685829162598E-01 + 7.712590694427490234E-02 + 4.728116989135742188E-01 + 6.069622635841369629E-01 + 1.898884177207946777E-01 + 5.453434586524963379E-01 + 3.162462115287780762E-01 + 8.451598882675170898E-01 + 7.125442624092102051E-01 + 2.941304445266723633E-01 + 2.968885898590087891E-01 + 7.818023562431335449E-01 + 8.764863610267639160E-01 + 6.648290753364562988E-01 + 8.083404898643493652E-01 + 1.909720897674560547E-01 + 8.514996767044067383E-01 + 9.090722799301147461E-01 + 8.931341767311096191E-01 + 8.337798714637756348E-01 + 6.499125361442565918E-01 + 5.272166132926940918E-01 + 9.311231970787048340E-01 + 1.497847437858581543E-01 + 1.845264434814453125E-02 + 7.171984314918518066E-01 + 5.862256884574890137E-01 + 4.374468326568603516E-01 + 9.722182154655456543E-01 + 4.888801574707031250E-01 + 6.285742521286010742E-01 + 2.689757943153381348E-01 + 9.538643360137939453E-01 + 1.944292783737182617E-01 + 1.537016034126281738E-01 + 2.895395755767822266E-01 + 3.081302046775817871E-01 + 1.205853819847106934E-01 + 2.078623771667480469E-01 + 9.426574110984802246E-01 + 5.332024097442626953E-01 + 4.038886427879333496E-01 + 3.940288424491882324E-01 + 9.483260512351989746E-01 + 8.971934318542480469E-01 + 1.624715924263000488E-01 + 7.117356061935424805E-01 + 4.760081171989440918E-01 + 1.055457592010498047E-01 + 1.351742744445800781E-01 + 4.323320984840393066E-01 + 8.349435329437255859E-01 + 8.523767590522766113E-01 + 6.639648079872131348E-01 + 7.545369863510131836E-01 + 2.647894620895385742E-02 + 3.778328299522399902E-01 + 5.907873511314392090E-01 + 8.190065622329711914E-01 + 3.263605237007141113E-01 + 6.595271825790405273E-01 + 5.504130721092224121E-01 + 1.393979191780090332E-01 + 1.128642559051513672E-01 + 3.102847933769226074E-01 + 8.859957456588745117E-01 + 9.815894961357116699E-01 + 4.173044562339782715E-01 + 2.799938321113586426E-01 + 9.571614861488342285E-01 + 8.368170857429504395E-01 + 5.303204059600830078E-03 + 7.531464099884033203E-03 + 8.603001832962036133E-01 + 2.206304073333740234E-01 + 3.659996390342712402E-01 + 8.280466794967651367E-01 + 9.387932419776916504E-01 + 9.497202038764953613E-01 + 7.801596522331237793E-01 + 4.705958962440490723E-01 + 8.262287974357604980E-01 + 5.694180727005004883E-02 + 6.158412098884582520E-01 + 9.879508018493652344E-01 + 4.121869802474975586E-02 + 1.369426846504211426E-01 + 3.024709224700927734E-01 + 9.841763973236083984E-02 + 9.087711572647094727E-02 + 8.013295531272888184E-01 + 3.067253232002258301E-01 + 5.220333337783813477E-01 + 2.262353897094726562E-03 + 1.194556951522827148E-01 + 2.936140894889831543E-01 + 6.570785045623779297E-01 + 5.465403795242309570E-01 + 9.732910394668579102E-01 + 6.767711043357849121E-01 + 1.519668102264404297E-01 + 8.396891355514526367E-01 + 7.252788543701171875E-01 + 4.142540097236633301E-01 + 5.941158533096313477E-02 + 5.374273061752319336E-01 + 7.397173643112182617E-01 + 9.568265080451965332E-01 + 4.072886705398559570E-02 + 1.215826869010925293E-01 + 1.050620079040527344E-01 + 9.810737371444702148E-01 + 2.133408188819885254E-01 + 9.774543642997741699E-01 + 4.039326310157775879E-01 + 4.704433679580688477E-01 + 3.225092291831970215E-01 + 5.737705230712890625E-01 + 8.548136353492736816E-01 + 3.937377333641052246E-01 + 8.665246963500976562E-01 + 8.474469184875488281E-01 + 3.202146291732788086E-01 + 5.563982129096984863E-01 + 3.083113431930541992E-01 + 9.273999929428100586E-02 + 6.263207197189331055E-01 + 3.431957364082336426E-01 + 1.390616893768310547E-01 + 8.950214982032775879E-01 + 8.765666484832763672E-01 + 2.191969156265258789E-01 + 9.045130610466003418E-01 + 8.484311699867248535E-01 + 1.215440034866333008E-01 + 4.413250684738159180E-01 + 2.139612436294555664E-01 + 2.244156599044799805E-02 + 6.468727588653564453E-01 + 2.252669334411621094E-01 + 1.000393033027648926E-01 + 2.649238705635070801E-01 + 6.757922172546386719E-01 + 6.399487257003784180E-01 + 2.038690447807312012E-01 + 8.908739686012268066E-01 + 7.750102281570434570E-01 + 7.440702915191650391E-01 + 8.978569507598876953E-02 + 4.729643464088439941E-01 + 7.399089336395263672E-01 + 3.433559536933898926E-01 + 5.864985585212707520E-01 + 5.236818790435791016E-01 + 1.332044601440429688E-03 + 9.189115762710571289E-01 + 5.172320604324340820E-01 + 5.451206564903259277E-01 + 1.843951940536499023E-01 + 4.592138528823852539E-01 + 5.007722377777099609E-01 + 4.394767880439758301E-01 + 3.560523986816406250E-01 + 3.683551549911499023E-01 + 2.549258470535278320E-01 + 8.874230980873107910E-01 + 3.920102119445800781E-01 + 1.259968280792236328E-01 + 9.305147528648376465E-01 + 4.564863443374633789E-01 + 4.699277877807617188E-02 + 4.544094800949096680E-01 + 3.817419409751892090E-01 + 6.985458731651306152E-01 + 9.279455542564392090E-01 + 1.239364147186279297E-01 + 8.983756303787231445E-01 + 4.824787378311157227E-01 + 9.679875373840332031E-01 + 2.537202835083007812E-02 + 3.547674417495727539E-01 + 9.920417070388793945E-01 + 5.847901105880737305E-02 + 3.306851983070373535E-01 + 3.178235888481140137E-01 + 8.262156844139099121E-01 + 8.610780835151672363E-01 + 8.945834040641784668E-01 + 7.512500286102294922E-01 + 1.199059486389160156E-01 + 5.758817195892333984E-01 + 1.019028425216674805E-01 + 3.765898346900939941E-01 + 5.656523704528808594E-01 + 4.768993258476257324E-01 + 3.170548081398010254E-01 + 4.702888131141662598E-01 + 9.398104548454284668E-01 + 2.911276817321777344E-01 + 3.116170167922973633E-01 + 7.088754773139953613E-01 + 1.634885668754577637E-01 + 3.675746917724609375E-02 + 3.545011878013610840E-01 + 7.731991410255432129E-01 + 7.754997611045837402E-01 + 2.343184351921081543E-01 + 2.850128412246704102E-01 + 4.559369683265686035E-01 + 3.662975430488586426E-01 + 9.822976589202880859E-01 + 4.978859424591064453E-02 + 2.601419091224670410E-01 + 3.549700379371643066E-01 + 6.415685415267944336E-01 + 2.807420492172241211E-02 + 7.378404140472412109E-01 + 8.104634881019592285E-01 + 5.280268192291259766E-01 + 6.023998260498046875E-01 + 4.959311485290527344E-01 + 9.532778263092041016E-01 + 6.070244908332824707E-01 + 7.811043262481689453E-01 + 5.208690762519836426E-01 + 8.251363039016723633E-02 + 7.244722247123718262E-01 + 3.730707168579101562E-01 + 4.029822349548339844E-01 + 3.019137978553771973E-01 + 2.908439636230468750E-01 + 2.813078761100769043E-01 + 4.864562749862670898E-01 + 9.974241256713867188E-01 + 5.494968295097351074E-01 + 3.088122606277465820E-01 + 2.670245766639709473E-01 + 6.780195236206054688E-01 + 5.158265233039855957E-01 + 5.821710824966430664E-02 + 4.648300409317016602E-01 + 2.222260832786560059E-01 + 3.731739521026611328E-02 + 9.750714898109436035E-01 + 5.636875033378601074E-01 + 1.386848688125610352E-01 + 5.576618313789367676E-01 + 5.922789573669433594E-01 + 9.221653342247009277E-01 + 8.452888131141662598E-01 + 4.005950689315795898E-02 + 3.276680111885070801E-01 + 1.162881255149841309E-01 + 7.507902383804321289E-02 + 9.132081270217895508E-01 + 3.085594177246093750E-01 + 3.534868359565734863E-01 + 4.332539439201354980E-01 + 8.037678003311157227E-01 + 1.562860012054443359E-01 + 4.248982071876525879E-01 + 1.869632601737976074E-01 + 4.946227669715881348E-01 + 3.816426396369934082E-01 + 8.212133049964904785E-01 + 2.455874681472778320E-01 + 8.125606179237365723E-01 + 7.657223939895629883E-02 + 7.688208818435668945E-01 + 8.395958542823791504E-01 + 5.225338339805603027E-01 + 3.070169687271118164E-02 + 8.083621859550476074E-01 + 7.489848732948303223E-01 + 1.938198208808898926E-01 + 2.324026226997375488E-01 + 7.519956827163696289E-01 + 7.105655670166015625E-01 + 9.892982244491577148E-02 + 6.959186792373657227E-01 + 7.095294594764709473E-01 + 3.394097089767456055E-01 + 1.511365175247192383E-02 + 3.389002680778503418E-01 + 4.020434617996215820E-02 + 1.899682283401489258E-01 + 3.710829019546508789E-01 + 2.735960483551025391E-01 + 1.822121143341064453E-01 + 9.494400024414062500E-02 + 3.521921038627624512E-01 + 6.302368640899658203E-02 + 9.751983284950256348E-01 + 1.597043871879577637E-01 + 7.491469383239746094E-02 + 2.725702524185180664E-02 + 6.716904044151306152E-01 + 8.023963570594787598E-01 + 4.907806515693664551E-01 + 8.162124752998352051E-01 + 7.796359062194824219E-02 + 5.406332612037658691E-01 + 3.907642364501953125E-01 + 3.751899600028991699E-01 + 7.595849037170410156E-01 + 4.421982765197753906E-01 + 7.813171744346618652E-01 + 9.779089093208312988E-01 + 8.311776518821716309E-01 + 2.209126949310302734E-02 + 2.018328309059143066E-01 + 8.677860498428344727E-01 + 2.998394370079040527E-01 + 6.714515089988708496E-01 + 9.045221209526062012E-01 + 8.489714264869689941E-01 + 3.928822278976440430E-02 + 4.987758994102478027E-01 + 5.655466318130493164E-01 + 4.845631718635559082E-01 + 3.585696816444396973E-01 + 8.659842610359191895E-01 + 2.974628210067749023E-01 + 1.432786583900451660E-01 + 8.593082427978515625E-02 + 8.059169650077819824E-01 + 9.980446100234985352E-02 + 6.915006637573242188E-01 + 1.964647173881530762E-01 + 7.834249138832092285E-01 + 5.677908658981323242E-01 + 6.649090051651000977E-01 + 6.386469006538391113E-01 + 2.079988718032836914E-01 + 4.404944777488708496E-01 + 7.770806550979614258E-02 + 6.181640028953552246E-01 + 9.903419613838195801E-01 + 4.891291856765747070E-01 + 1.879453659057617188E-02 + 9.710791110992431641E-01 + 6.163086295127868652E-01 + 4.355804324150085449E-01 + 3.276294469833374023E-02 + 1.779203414916992188E-01 + 6.198714971542358398E-01 + 3.826227188110351562E-01 + 5.312540531158447266E-01 + 8.948875069618225098E-01 + 5.656402707099914551E-01 + 9.011105298995971680E-01 + 2.528045773506164551E-01 + 3.999003767967224121E-01 + 2.716904878616333008E-02 + 7.649087309837341309E-01 + 3.911514282226562500E-01 + 1.608361005783081055E-01 + 1.894429326057434082E-01 + 2.972227334976196289E-02 + 1.644169688224792480E-01 + 3.137532472610473633E-01 + 5.350365638732910156E-01 + 7.504028677940368652E-01 + 2.207021117210388184E-01 + 8.157452344894409180E-01 + 5.066046118736267090E-01 + 2.213199734687805176E-01 + 3.297718763351440430E-01 + 4.579192399978637695E-01 + 7.259607911109924316E-01 + 5.600997209548950195E-01 + 1.693272590637207031E-01 + 4.369892477989196777E-01 + 6.820487976074218750E-02 + 7.331421971321105957E-01 + 9.330936670303344727E-01 + 1.789886951446533203E-01 + 6.372633576393127441E-01 + 6.318479180335998535E-01 + 7.196345925331115723E-01 + 9.379795193672180176E-01 + 8.378937840461730957E-01 + 3.485375642776489258E-02 + 6.118700504302978516E-01 + 9.322028756141662598E-01 + 1.223350763320922852E-01 + 2.278879284858703613E-01 + 2.625860571861267090E-01 + 1.436567306518554688E-02 + 4.009380936622619629E-01 + 7.895591259002685547E-01 + 4.761503338813781738E-01 + 8.117644786834716797E-01 + 2.678970098495483398E-01 + 5.087362527847290039E-01 + 1.402604579925537109E-02 + 9.278094768524169922E-01 + 9.174858927726745605E-01 + 3.767726421356201172E-01 + 4.285947084426879883E-01 + 8.596947789192199707E-01 + 6.550443172454833984E-01 + 8.195642828941345215E-01 + 2.131556868553161621E-01 + 5.671216845512390137E-01 + 1.016116142272949219E-02 + 8.728009462356567383E-01 + 5.011579394340515137E-01 + 1.851249933242797852E-01 + 4.226993918418884277E-01 + 9.821252822875976562E-01 + 2.018068432807922363E-01 + 3.350085020065307617E-02 + 5.906205773353576660E-01 + 4.073497653007507324E-01 + 7.302747368812561035E-01 + 3.887923955917358398E-01 + 4.908049702644348145E-01 + 3.583782315254211426E-01 + 3.511472344398498535E-01 + 4.476558566093444824E-01 + 3.929472565650939941E-01 + 9.903516769409179688E-01 + 6.712522506713867188E-01 + 6.420906782150268555E-01 + 8.047132492065429688E-01 + 6.578242182731628418E-01 + 3.004813194274902344E-01 + 4.083287715911865234E-02 + 8.176341652870178223E-01 + 8.096711635589599609E-01 + 1.004613637924194336E-01 + 9.562410116195678711E-01 + 2.671641111373901367E-01 + 7.860820293426513672E-01 + 8.009535074234008789E-01 + 3.961908817291259766E-02 + 9.201765656471252441E-01 + 9.959411621093750000E-01 + 1.706097722053527832E-01 + 2.854683995246887207E-01 + 4.161425828933715820E-01 + 5.516975522041320801E-01 + 1.437093615531921387E-01 + 5.198638439178466797E-01 + 9.966199398040771484E-01 + 6.665564179420471191E-01 + 4.868978857994079590E-01 + 3.770881295204162598E-01 + 6.190615892410278320E-02 + 9.964978098869323730E-01 + 6.354658007621765137E-01 + 9.159593582153320312E-01 + 9.361669421195983887E-01 + 6.956597566604614258E-01 + 8.372844457626342773E-01 + 5.453764200210571289E-01 + 7.165966033935546875E-01 + 1.834834814071655273E-01 + 8.188312649726867676E-01 + 3.604918718338012695E-01 + 8.602607846260070801E-01 + 5.597052574157714844E-01 + 2.822681665420532227E-01 + 4.116302728652954102E-01 + 5.360730290412902832E-01 + 8.753424882888793945E-02 + 1.465684771537780762E-01 + 1.140383481979370117E-01 + 8.880397677421569824E-01 + 5.131208300590515137E-01 + 7.077603340148925781E-01 + 9.809676408767700195E-01 + 9.489161372184753418E-01 + 8.102153539657592773E-01 + 8.605180978775024414E-01 + 4.555655717849731445E-01 + 8.320031166076660156E-01 + 7.443161010742187500E-01 + 8.894142508506774902E-01 + 9.154248237609863281E-01 + 1.166054606437683105E-01 + 7.452096939086914062E-01 + 1.389155983924865723E-01 + 8.120894432067871094E-01 + 8.157553076744079590E-01 + 6.815155744552612305E-01 + 9.737634062767028809E-01 + 2.251101136207580566E-01 + 5.901526212692260742E-01 + 9.898244142532348633E-01 + 7.847535610198974609E-02 + 3.903226256370544434E-01 + 9.520877003669738770E-01 + 5.211734771728515625E-02 + 7.765448093414306641E-01 + 5.700986981391906738E-01 + 2.950941920280456543E-01 + 6.940031051635742188E-01 + 3.211775422096252441E-01 + 8.544343113899230957E-01 + 4.158423542976379395E-01 + 7.350416779518127441E-01 + 7.248932123184204102E-01 + 8.547000288963317871E-01 + 3.595066070556640625E-02 + 8.771050572395324707E-01 + 3.032582402229309082E-01 + 9.440244436264038086E-01 + 4.553504586219787598E-01 + 2.196773886680603027E-01 + 6.421450376510620117E-01 + 6.627835631370544434E-01 + 1.413173675537109375E-01 + 6.849007606506347656E-01 + 7.040901184082031250E-01 + 3.038220405578613281E-01 + 4.857683181762695312E-01 + 9.128067493438720703E-01 + 5.629253387451171875E-01 + 6.136361956596374512E-01 + 8.679228425025939941E-01 + 1.607564687728881836E-01 + 2.306283116340637207E-01 + 5.231076478958129883E-01 + 5.142893195152282715E-01 + 4.973930716514587402E-01 + 2.332361340522766113E-01 + 8.714401721954345703E-02 + 4.316213726997375488E-01 + 3.954713940620422363E-01 + 3.358896374702453613E-01 + 2.283213138580322266E-01 + 7.730222940444946289E-01 + 5.012404918670654297E-01 + 2.806254029273986816E-01 + 7.790272831916809082E-01 + 5.445126295089721680E-01 + 4.365795850753784180E-01 + 7.637887597084045410E-01 + 6.519146561622619629E-01 + 3.175201416015625000E-01 + 2.241945266723632812E-02 + 5.269354581832885742E-02 + 2.436897754669189453E-01 + 8.053026795387268066E-01 + 8.429066538810729980E-01 + 8.285550475120544434E-01 + 6.531442999839782715E-01 + 6.712293624877929688E-02 + 5.843728780746459961E-02 + 6.913422346115112305E-01 + 6.277040243148803711E-01 + 5.983276963233947754E-01 + 8.762966990470886230E-01 + 6.082015633583068848E-01 + 6.152663230895996094E-01 + 9.642177820205688477E-02 + 2.538322806358337402E-01 + 4.559133052825927734E-01 + 1.288657784461975098E-01 + 9.338145852088928223E-01 + 3.180583119392395020E-01 + 4.891866445541381836E-02 + 2.776374816894531250E-01 + 6.580526232719421387E-01 + 9.472588300704956055E-01 + 1.845852732658386230E-01 + 8.445581197738647461E-01 + 7.309756875038146973E-01 + 4.686791300773620605E-01 + 5.806040763854980469E-02 + 9.974706768989562988E-01 + 1.569666862487792969E-01 + 3.281093835830688477E-01 + 4.055566787719726562E-01 + 1.243721842765808105E-01 + 5.536288022994995117E-01 + 7.179511189460754395E-01 + 5.591466426849365234E-01 + 8.325062394142150879E-01 + 6.240525841712951660E-01 + 7.543014883995056152E-01 + 1.884830594062805176E-01 + 2.746114730834960938E-01 + 9.334456324577331543E-01 + 1.247040033340454102E-01 + 3.221389651298522949E-01 + 7.266925573348999023E-01 + 2.631206512451171875E-01 + 3.308569192886352539E-01 + 6.575359702110290527E-01 + 1.926878094673156738E-01 + 4.057616591453552246E-01 + 6.821143627166748047E-02 + 7.977487444877624512E-01 + 9.864526391029357910E-01 + 8.529037237167358398E-01 + 5.414202213287353516E-01 + 9.429594874382019043E-01 + 9.797889590263366699E-01 + 2.101873755455017090E-01 + 4.561111927032470703E-01 + 5.135341286659240723E-01 + 1.565817594528198242E-01 + 7.185690999031066895E-01 + 3.988916277885437012E-01 + 8.631807565689086914E-02 + 7.226245999336242676E-01 + 4.187757372856140137E-01 + 4.708289504051208496E-01 + 9.587776660919189453E-01 + 4.243857264518737793E-01 + 8.708665370941162109E-01 + 9.594635367393493652E-01 + 5.324662923812866211E-01 + 9.534628987312316895E-01 + 4.206444025039672852E-01 + 3.669248819351196289E-01 + 5.253381133079528809E-01 + 2.148815989494323730E-01 + 4.023849964141845703E-02 + 7.497431635856628418E-01 + 7.520542144775390625E-01 + 8.600025773048400879E-01 + 4.821792244911193848E-01 + 6.254085302352905273E-01 + 6.168666481971740723E-01 + 7.685344815254211426E-01 + 2.492160797119140625E-01 + 4.479670524597167969E-02 + 8.440641164779663086E-01 + 1.504468321800231934E-01 + 8.797941803932189941E-01 + 1.186918616294860840E-01 + 9.671484827995300293E-01 + 6.615723371505737305E-01 + 5.525060892105102539E-01 + 3.531488180160522461E-01 + 1.774770021438598633E-01 + 3.792504668235778809E-01 + 8.681718111038208008E-01 + 4.438734054565429688E-02 + 6.357119679450988770E-01 + 6.275337934494018555E-02 + 7.703476548194885254E-01 + 4.850255250930786133E-01 + 4.992306232452392578E-02 + 6.982311010360717773E-01 + 9.161013364791870117E-01 + 8.517789840698242188E-01 + 8.351899981498718262E-01 + 5.140627622604370117E-01 + 3.035934567451477051E-01 + 8.413239717483520508E-01 + 9.009503126144409180E-01 + 1.364921927452087402E-01 + 2.585334181785583496E-01 + 5.084149837493896484E-01 + 8.882731199264526367E-02 + 4.203230142593383789E-02 + 8.155542612075805664E-01 + 8.501095175743103027E-01 + 5.405201911926269531E-01 + 8.599425554275512695E-01 + 2.716689109802246094E-01 + 9.139201045036315918E-01 + 3.701150417327880859E-02 + 6.969690918922424316E-01 + 5.974791049957275391E-01 + 3.722739815711975098E-01 + 7.267934679985046387E-01 + 8.859097957611083984E-02 + 2.605441808700561523E-01 + 5.421736240386962891E-01 + 4.170157909393310547E-01 + 3.381186723709106445E-02 + 4.595953226089477539E-01 + 2.167727947235107422E-01 + 4.671331048011779785E-01 + 6.344077587127685547E-01 + 9.711883664131164551E-01 + 8.129709959030151367E-02 + 9.421541094779968262E-01 + 7.931061983108520508E-01 + 1.409037709236145020E-01 + 5.655288696289062500E-03 + 1.859778165817260742E-01 + 4.689397811889648438E-01 + 6.297478675842285156E-01 + 9.182770252227783203E-01 + 2.349592447280883789E-01 + 8.825904130935668945E-01 + 7.423009276390075684E-01 + 1.309015154838562012E-01 + 4.886942505836486816E-01 + 4.413054585456848145E-01 + 8.283669948577880859E-01 + 9.918762445449829102E-01 + 2.322171330451965332E-01 + 1.232303380966186523E-01 + 2.463829517364501953E-01 + 3.768627047538757324E-01 + 4.848357439041137695E-01 + 2.843598127365112305E-01 + 9.052500724792480469E-01 + 7.547140121459960938E-01 + 5.469688773155212402E-01 + 8.895800113677978516E-01 + 2.612757682800292969E-01 + 3.216382265090942383E-01 + 9.619907140731811523E-01 + 9.202672243118286133E-01 + 7.479869723320007324E-01 + 6.995968818664550781E-01 + 2.392379641532897949E-01 + 6.919425725936889648E-01 + 9.043745398521423340E-01 + 1.876633763313293457E-01 + 5.007112026214599609E-02 + 1.844451427459716797E-01 + 8.150460720062255859E-01 + 5.535324215888977051E-01 + 8.381946086883544922E-01 + 9.025961160659790039E-01 + 8.895766139030456543E-01 + 4.471694231033325195E-01 + 8.532714843750000000E-01 + 4.869364500045776367E-01 + 9.760779142379760742E-01 + 4.679649472236633301E-01 + 2.120496630668640137E-01 + 6.939160227775573730E-01 + 8.573145866394042969E-01 + 9.584248065948486328E-03 + 9.612739086151123047E-03 + 7.565414905548095703E-02 + 8.549761772155761719E-02 + 5.719369649887084961E-01 + 4.551016688346862793E-01 + 8.133230209350585938E-01 + 5.593155622482299805E-01 + 7.352803945541381836E-01 + 6.537718176841735840E-01 + 6.882010102272033691E-01 + 7.697007060050964355E-01 + 2.571492791175842285E-01 + 9.844048023223876953E-01 + 3.072930574417114258E-01 + 4.350997805595397949E-01 + 6.914436221122741699E-01 + 4.863725304603576660E-01 + 8.739840984344482422E-02 + 5.782475471496582031E-01 + 2.313976883888244629E-01 + 3.260715603828430176E-01 + 8.665922284126281738E-01 + 1.657687425613403320E-01 + 2.277469635009765625E-02 + 8.560975790023803711E-01 + 3.302193284034729004E-01 + 5.707930326461791992E-01 + 9.420878887176513672E-01 + 2.021003365516662598E-01 + 6.794999241828918457E-01 + 7.389476299285888672E-01 + 3.722684979438781738E-01 + 2.299075722694396973E-01 + 9.668475985527038574E-01 + 6.401853561401367188E-01 + 7.447114586830139160E-01 + 8.093172311782836914E-01 + 2.533311247825622559E-01 + 6.751464605331420898E-01 + 6.999295949935913086E-02 + 1.243425011634826660E-01 + 8.655347824096679688E-01 + 4.191714525222778320E-01 + 7.711524367332458496E-01 + 7.914399504661560059E-01 + 9.508929848670959473E-01 + 1.956019401550292969E-01 + 7.969809770584106445E-01 + 5.340217351913452148E-01 + 4.931727647781372070E-01 + 9.928160905838012695E-02 + 3.322729468345642090E-01 + 7.160001397132873535E-01 + 4.149550199508666992E-01 + 3.499179482460021973E-01 + 5.283282399177551270E-01 + 3.569822311401367188E-01 + 9.137907624244689941E-01 + 6.135773658752441406E-02 + 8.389441967010498047E-01 + 9.708539843559265137E-01 + 2.273288369178771973E-01 + 2.655622959136962891E-01 + 3.081048130989074707E-01 + 8.426327705383300781E-01 + 9.666787385940551758E-01 + 4.833580851554870605E-01 + 9.856244325637817383E-01 + 5.438023209571838379E-01 + 9.199893474578857422E-02 + 2.103791832923889160E-01 + 4.553661942481994629E-01 + 8.693330883979797363E-01 + 1.543931365013122559E-01 + 8.651682138442993164E-01 + 2.905327081680297852E-01 + 6.302130222320556641E-01 + 9.287106990814208984E-02 + 3.875901103019714355E-01 + 7.315431833267211914E-01 + 5.568976402282714844E-01 + 2.728886604309082031E-01 + 2.616749405860900879E-01 + 8.754804134368896484E-01 + 2.249962687492370605E-01 + 9.590148925781250000E-01 + 5.960763692855834961E-01 + 7.796318531036376953E-01 + 8.968929052352905273E-01 + 3.590869307518005371E-01 + 5.046017169952392578E-01 + 9.379951357841491699E-01 + 2.651867270469665527E-01 + 4.942678809165954590E-01 + 7.155919671058654785E-01 + 2.514174580574035645E-01 + 9.927270412445068359E-01 + 1.846873760223388672E-01 + 8.944072723388671875E-01 + 6.276231408119201660E-01 + 6.160175800323486328E-01 + 6.705514192581176758E-01 + 3.174995183944702148E-01 + 2.563656568527221680E-01 + 7.985773682594299316E-01 + 7.631459832191467285E-01 + 6.376031041145324707E-01 + 1.401460170745849609E-02 + 9.902402162551879883E-01 + 1.033175587654113770E-01 + 5.783785581588745117E-01 + 3.443652391433715820E-02 + 7.697826623916625977E-02 + 3.929812908172607422E-01 + 7.437629699707031250E-01 + 4.518295526504516602E-01 + 7.215459346771240234E-01 + 9.740598797798156738E-01 + 7.097560167312622070E-02 diff --git a/test/spmm/vectors/x1.mtx b/test/spmm/vectors/x1.mtx new file mode 100644 index 00000000..d906978f --- /dev/null +++ b/test/spmm/vectors/x1.mtx @@ -0,0 +1,1142 @@ +%%MatrixMarket matrix array real general +% Positive vector +% + 1138 1 + 82 + 19 + 15 + 98 + 7 + 1 + 0 + 56 + 41 + 97 + 89 + 57 + 75 + 80 + 84 + 31 + 23 + 76 + 36 + 25 + 42 + 41 + 90 + 5 + 37 + 98 + 21 + 47 + 59 + 97 + 36 + 68 + 31 + 32 + 18 + 67 + 86 + 65 + 85 + 80 + 34 + 55 + 32 + 83 + 64 + 15 + 73 + 96 + 50 + 0 + 44 + 41 + 76 + 47 + 8 + 52 + 19 + 67 + 75 + 64 + 39 + 8 + 86 + 95 + 41 + 51 + 61 + 60 + 81 + 3 + 9 + 29 + 93 + 67 + 52 + 41 + 16 + 79 + 16 + 99 + 9 + 62 + 70 + 0 + 14 + 6 + 39 + 51 + 36 + 91 + 24 + 54 + 84 + 14 + 57 + 80 + 38 + 5 + 33 + 75 + 54 + 30 + 1 + 53 + 35 + 74 + 89 + 24 + 98 + 38 + 78 + 75 + 52 + 32 + 64 + 76 + 21 + 72 + 65 + 11 + 54 + 27 + 36 + 36 + 66 + 62 + 23 + 89 + 77 + 96 + 4 + 70 + 22 + 31 + 4 + 1 + 37 + 50 + 30 + 40 + 22 + 89 + 50 + 92 + 63 + 49 + 11 + 44 + 7 + 87 + 54 + 61 + 37 + 53 + 21 + 74 + 10 + 94 + 74 + 59 + 38 + 34 + 48 + 71 + 60 + 87 + 75 + 16 + 85 + 69 + 44 + 86 + 88 + 44 + 76 + 25 + 93 + 24 + 93 + 72 + 55 + 68 + 68 + 31 + 16 + 6 + 43 + 10 + 79 + 90 + 63 + 51 + 43 + 75 + 54 + 49 + 87 + 63 + 33 + 66 + 65 + 65 + 62 + 43 + 64 + 36 + 19 + 66 + 27 + 75 + 70 + 18 + 81 + 79 + 15 + 56 + 39 + 8 + 70 + 91 + 79 + 56 + 79 + 93 + 6 + 76 + 68 + 89 + 1 + 89 + 35 + 99 + 47 + 13 + 25 + 15 + 38 + 64 + 51 + 58 + 92 + 64 + 64 + 7 + 67 + 26 + 60 + 58 + 27 + 79 + 12 + 63 + 62 + 64 + 31 + 57 + 75 + 51 + 95 + 19 + 97 + 84 + 76 + 52 + 59 + 5 + 5 + 72 + 73 + 57 + 95 + 64 + 15 + 77 + 85 + 52 + 64 + 17 + 31 + 73 + 73 + 17 + 29 + 58 + 38 + 16 + 6 + 15 + 72 + 79 + 70 + 10 + 9 + 66 + 12 + 60 + 53 + 57 + 96 + 97 + 89 + 26 + 0 + 22 + 1 + 40 + 2 + 97 + 88 + 68 + 61 + 40 + 69 + 91 + 71 + 91 + 94 + 48 + 33 + 29 + 61 + 33 + 27 + 95 + 97 + 76 + 64 + 83 + 88 + 53 + 73 + 81 + 9 + 22 + 63 + 72 + 98 + 19 + 6 + 13 + 56 + 33 + 89 + 3 + 73 + 97 + 41 + 43 + 37 + 13 + 47 + 92 + 6 + 47 + 43 + 83 + 42 + 91 + 26 + 16 + 8 + 49 + 84 + 93 + 47 + 46 + 88 + 37 + 90 + 39 + 59 + 53 + 79 + 69 + 17 + 60 + 56 + 92 + 36 + 55 + 98 + 87 + 66 + 67 + 62 + 19 + 4 + 68 + 3 + 90 + 45 + 91 + 20 + 53 + 75 + 65 + 98 + 15 + 28 + 52 + 1 + 70 + 52 + 75 + 73 + 84 + 89 + 92 + 16 + 93 + 9 + 30 + 19 + 53 + 59 + 72 + 14 + 60 + 27 + 77 + 23 + 42 + 50 + 73 + 28 + 47 + 20 + 25 + 42 + 22 + 16 + 23 + 20 + 36 + 5 + 74 + 76 + 28 + 30 + 36 + 10 + 95 + 50 + 66 + 63 + 31 + 69 + 92 + 86 + 9 + 44 + 91 + 96 + 0 + 44 + 5 + 57 + 17 + 84 + 37 + 57 + 14 + 5 + 46 + 88 + 29 + 93 + 5 + 48 + 71 + 85 + 48 + 95 + 85 + 51 + 11 + 43 + 83 + 11 + 74 + 31 + 8 + 81 + 87 + 3 + 10 + 24 + 41 + 5 + 84 + 63 + 55 + 62 + 63 + 4 + 26 + 59 + 90 + 84 + 26 + 44 + 32 + 16 + 24 + 77 + 78 + 43 + 50 + 44 + 58 + 30 + 10 + 80 + 42 + 31 + 18 + 61 + 10 + 66 + 89 + 51 + 0 + 52 + 34 + 59 + 76 + 18 + 35 + 50 + 9 + 56 + 79 + 74 + 37 + 82 + 51 + 84 + 44 + 64 + 2 + 88 + 24 + 73 + 19 + 85 + 8 + 20 + 53 + 10 + 57 + 24 + 87 + 89 + 80 + 84 + 79 + 28 + 39 + 8 + 40 + 12 + 40 + 41 + 94 + 60 + 83 + 66 + 86 + 34 + 39 + 28 + 62 + 97 + 26 + 30 + 30 + 26 + 4 + 80 + 55 + 80 + 85 + 9 + 92 + 28 + 40 + 38 + 12 + 12 + 95 + 26 + 41 + 58 + 1 + 61 + 99 + 83 + 27 + 37 + 42 + 26 + 41 + 56 + 38 + 72 + 0 + 4 + 68 + 47 + 85 + 34 + 88 + 60 + 83 + 25 + 50 + 26 + 52 + 62 + 74 + 42 + 95 + 81 + 86 + 42 + 36 + 58 + 94 + 75 + 48 + 4 + 10 + 50 + 62 + 4 + 59 + 92 + 19 + 39 + 84 + 33 + 68 + 12 + 25 + 36 + 44 + 33 + 88 + 31 + 85 + 78 + 54 + 3 + 43 + 98 + 92 + 56 + 0 + 36 + 90 + 92 + 44 + 32 + 56 + 51 + 21 + 20 + 7 + 73 + 80 + 17 + 81 + 44 + 42 + 63 + 85 + 76 + 26 + 77 + 52 + 21 + 96 + 76 + 53 + 28 + 64 + 25 + 93 + 68 + 15 + 45 + 44 + 30 + 12 + 68 + 6 + 97 + 64 + 6 + 5 + 13 + 44 + 16 + 66 + 88 + 68 + 0 + 73 + 86 + 80 + 99 + 52 + 75 + 82 + 69 + 20 + 11 + 98 + 77 + 60 + 12 + 42 + 27 + 72 + 86 + 60 + 30 + 96 + 51 + 77 + 40 + 89 + 87 + 41 + 87 + 57 + 76 + 34 + 40 + 35 + 34 + 59 + 25 + 27 + 85 + 27 + 10 + 85 + 35 + 80 + 14 + 26 + 91 + 74 + 97 + 76 + 26 + 3 + 37 + 52 + 15 + 94 + 72 + 52 + 29 + 28 + 45 + 53 + 71 + 3 + 98 + 91 + 59 + 85 + 26 + 12 + 56 + 1 + 10 + 49 + 7 + 80 + 62 + 12 + 27 + 4 + 47 + 41 + 44 + 50 + 94 + 33 + 72 + 8 + 29 + 84 + 62 + 98 + 82 + 8 + 26 + 48 + 53 + 92 + 71 + 40 + 14 + 36 + 50 + 3 + 93 + 11 + 7 + 29 + 39 + 44 + 12 + 37 + 16 + 55 + 5 + 27 + 30 + 72 + 21 + 73 + 88 + 69 + 19 + 88 + 94 + 87 + 46 + 57 + 25 + 79 + 81 + 65 + 23 + 40 + 83 + 53 + 82 + 1 + 22 + 70 + 49 + 61 + 85 + 53 + 53 + 51 + 11 + 23 + 65 + 35 + 66 + 66 + 51 + 74 + 63 + 70 + 3 + 98 + 96 + 90 + 32 + 53 + 90 + 70 + 60 + 60 + 67 + 4 + 27 + 98 + 36 + 16 + 48 + 45 + 74 + 36 + 66 + 66 + 72 + 7 + 1 + 10 + 94 + 79 + 77 + 31 + 84 + 17 + 11 + 60 + 44 + 47 + 60 + 31 + 82 + 61 + 65 + 21 + 70 + 34 + 77 + 42 + 80 + 25 + 35 + 10 + 29 + 64 + 62 + 74 + 96 + 18 + 66 + 11 + 39 + 79 + 29 + 61 + 12 + 88 + 60 + 33 + 32 + 69 + 0 + 56 + 78 + 32 + 52 + 40 + 91 + 24 + 91 + 61 + 22 + 55 + 85 + 99 + 46 + 25 + 30 + 14 + 74 + 21 + 68 + 52 + 56 + 47 + 70 + 18 + 96 + 85 + 3 + 89 + 95 + 56 + 74 + 32 + 87 + 85 + 56 + 22 + 99 + 54 + 72 + 65 + 91 + 44 + 15 + 87 + 36 + 83 + 45 + 81 + 65 + 56 + 59 + 65 + 25 + 23 + 78 + 23 + 54 + 63 + 33 + 41 + 33 + 26 + 64 + 68 + 24 + 77 + 79 + 34 + 78 + 46 + 6 + 40 + 35 + 10 + 63 + 40 + 92 + 50 + 29 + 63 + 31 + 60 + 69 + 23 + 3 + 66 + 56 + 85 + 45 + 76 + 72 + 25 + 95 + 44 + 31 + 98 + 83 + 50 + 58 + 35 + 86 + 56 + 78 + 84 + 19 + 46 + 92 + 18 + 20 + 85 + 98 + 80 + 75 + 16 + 12 + 45 + 35 + 87 + 12 + 26 + 56 + 49 + 75 + 99 + 58 + 79 + 30 + 37 + 96 + 54 + 78 + 86 + 70 + 71 + 22 + 69 + 11 + 84 + 35 + 58 + 85 + 17 + 29 + 99 + 49 + 30 + 78 + 15 + 62 + 7 + 1 + 55 + 60 + 26 + 89 + 10 + 84 + 36 + 88 + 96 + 17 + 30 + 45 + 78 + 86 + 31 + 47 + 17 + 79 + 25 + 84 + 76 + 32 + 29 + 95 + 71 + 84 + 80 + 84 + 15 + 19 + 20 + 2 + 74 + 93 + 39 + 14 + 80 + 22 + 27 + 30 + 89 + 96 + 61 + 91 + 96 + 22 + 91 + 26 + 7 + 84 + 9 + 66 + 0 + 60 + 4 diff --git a/test/spmm/vectors/x2.mtx b/test/spmm/vectors/x2.mtx new file mode 100644 index 00000000..02c69354 --- /dev/null +++ b/test/spmm/vectors/x2.mtx @@ -0,0 +1,1142 @@ +%%MatrixMarket matrix array real general +% Negative vector +% + 1138 1 + -82 + -19 + -15 + -98 + -7 + -1 + 0 + -56 + -41 + -97 + -89 + -57 + -75 + -80 + -84 + -31 + -23 + -76 + -36 + -25 + -42 + -41 + -90 + -5 + -37 + -98 + -21 + -47 + -59 + -97 + -36 + -68 + -31 + -32 + -18 + -67 + -86 + -65 + -85 + -80 + -34 + -55 + -32 + -83 + -64 + -15 + -73 + -96 + -50 + 0 + -44 + -41 + -76 + -47 + -8 + -52 + -19 + -67 + -75 + -64 + -39 + -8 + -86 + -95 + -41 + -51 + -61 + -60 + -81 + -3 + -9 + -29 + -93 + -67 + -52 + -41 + -16 + -79 + -16 + -99 + -9 + -62 + -70 + 0 + -14 + -6 + -39 + -51 + -36 + -91 + -24 + -54 + -84 + -14 + -57 + -80 + -38 + -5 + -33 + -75 + -54 + -30 + -1 + -53 + -35 + -74 + -89 + -24 + -98 + -38 + -78 + -75 + -52 + -32 + -64 + -76 + -21 + -72 + -65 + -11 + -54 + -27 + -36 + -36 + -66 + -62 + -23 + -89 + -77 + -96 + -4 + -70 + -22 + -31 + -4 + -1 + -37 + -50 + -30 + -40 + -22 + -89 + -50 + -92 + -63 + -49 + -11 + -44 + -7 + -87 + -54 + -61 + -37 + -53 + -21 + -74 + -10 + -94 + -74 + -59 + -38 + -34 + -48 + -71 + -60 + -87 + -75 + -16 + -85 + -69 + -44 + -86 + -88 + -44 + -76 + -25 + -93 + -24 + -93 + -72 + -55 + -68 + -68 + -31 + -16 + -6 + -43 + -10 + -79 + -90 + -63 + -51 + -43 + -75 + -54 + -49 + -87 + -63 + -33 + -66 + -65 + -65 + -62 + -43 + -64 + -36 + -19 + -66 + -27 + -75 + -70 + -18 + -81 + -79 + -15 + -56 + -39 + -8 + -70 + -91 + -79 + -56 + -79 + -93 + -6 + -76 + -68 + -89 + -1 + -89 + -35 + -99 + -47 + -13 + -25 + -15 + -38 + -64 + -51 + -58 + -92 + -64 + -64 + -7 + -67 + -26 + -60 + -58 + -27 + -79 + -12 + -63 + -62 + -64 + -31 + -57 + -75 + -51 + -95 + -19 + -97 + -84 + -76 + -52 + -59 + -5 + -5 + -72 + -73 + -57 + -95 + -64 + -15 + -77 + -85 + -52 + -64 + -17 + -31 + -73 + -73 + -17 + -29 + -58 + -38 + -16 + -6 + -15 + -72 + -79 + -70 + -10 + -9 + -66 + -12 + -60 + -53 + -57 + -96 + -97 + -89 + -26 + 0 + -22 + -1 + -40 + -2 + -97 + -88 + -68 + -61 + -40 + -69 + -91 + -71 + -91 + -94 + -48 + -33 + -29 + -61 + -33 + -27 + -95 + -97 + -76 + -64 + -83 + -88 + -53 + -73 + -81 + -9 + -22 + -63 + -72 + -98 + -19 + -6 + -13 + -56 + -33 + -89 + -3 + -73 + -97 + -41 + -43 + -37 + -13 + -47 + -92 + -6 + -47 + -43 + -83 + -42 + -91 + -26 + -16 + -8 + -49 + -84 + -93 + -47 + -46 + -88 + -37 + -90 + -39 + -59 + -53 + -79 + -69 + -17 + -60 + -56 + -92 + -36 + -55 + -98 + -87 + -66 + -67 + -62 + -19 + -4 + -68 + -3 + -90 + -45 + -91 + -20 + -53 + -75 + -65 + -98 + -15 + -28 + -52 + -1 + -70 + -52 + -75 + -73 + -84 + -89 + -92 + -16 + -93 + -9 + -30 + -19 + -53 + -59 + -72 + -14 + -60 + -27 + -77 + -23 + -42 + -50 + -73 + -28 + -47 + -20 + -25 + -42 + -22 + -16 + -23 + -20 + -36 + -5 + -74 + -76 + -28 + -30 + -36 + -10 + -95 + -50 + -66 + -63 + -31 + -69 + -92 + -86 + -9 + -44 + -91 + -96 + 0 + -44 + -5 + -57 + -17 + -84 + -37 + -57 + -14 + -5 + -46 + -88 + -29 + -93 + -5 + -48 + -71 + -85 + -48 + -95 + -85 + -51 + -11 + -43 + -83 + -11 + -74 + -31 + -8 + -81 + -87 + -3 + -10 + -24 + -41 + -5 + -84 + -63 + -55 + -62 + -63 + -4 + -26 + -59 + -90 + -84 + -26 + -44 + -32 + -16 + -24 + -77 + -78 + -43 + -50 + -44 + -58 + -30 + -10 + -80 + -42 + -31 + -18 + -61 + -10 + -66 + -89 + -51 + 0 + -52 + -34 + -59 + -76 + -18 + -35 + -50 + -9 + -56 + -79 + -74 + -37 + -82 + -51 + -84 + -44 + -64 + -2 + -88 + -24 + -73 + -19 + -85 + -8 + -20 + -53 + -10 + -57 + -24 + -87 + -89 + -80 + -84 + -79 + -28 + -39 + -8 + -40 + -12 + -40 + -41 + -94 + -60 + -83 + -66 + -86 + -34 + -39 + -28 + -62 + -97 + -26 + -30 + -30 + -26 + -4 + -80 + -55 + -80 + -85 + -9 + -92 + -28 + -40 + -38 + -12 + -12 + -95 + -26 + -41 + -58 + -1 + -61 + -99 + -83 + -27 + -37 + -42 + -26 + -41 + -56 + -38 + -72 + 0 + -4 + -68 + -47 + -85 + -34 + -88 + -60 + -83 + -25 + -50 + -26 + -52 + -62 + -74 + -42 + -95 + -81 + -86 + -42 + -36 + -58 + -94 + -75 + -48 + -4 + -10 + -50 + -62 + -4 + -59 + -92 + -19 + -39 + -84 + -33 + -68 + -12 + -25 + -36 + -44 + -33 + -88 + -31 + -85 + -78 + -54 + -3 + -43 + -98 + -92 + -56 + 0 + -36 + -90 + -92 + -44 + -32 + -56 + -51 + -21 + -20 + -7 + -73 + -80 + -17 + -81 + -44 + -42 + -63 + -85 + -76 + -26 + -77 + -52 + -21 + -96 + -76 + -53 + -28 + -64 + -25 + -93 + -68 + -15 + -45 + -44 + -30 + -12 + -68 + -6 + -97 + -64 + -6 + -5 + -13 + -44 + -16 + -66 + -88 + -68 + 0 + -73 + -86 + -80 + -99 + -52 + -75 + -82 + -69 + -20 + -11 + -98 + -77 + -60 + -12 + -42 + -27 + -72 + -86 + -60 + -30 + -96 + -51 + -77 + -40 + -89 + -87 + -41 + -87 + -57 + -76 + -34 + -40 + -35 + -34 + -59 + -25 + -27 + -85 + -27 + -10 + -85 + -35 + -80 + -14 + -26 + -91 + -74 + -97 + -76 + -26 + -3 + -37 + -52 + -15 + -94 + -72 + -52 + -29 + -28 + -45 + -53 + -71 + -3 + -98 + -91 + -59 + -85 + -26 + -12 + -56 + -1 + -10 + -49 + -7 + -80 + -62 + -12 + -27 + -4 + -47 + -41 + -44 + -50 + -94 + -33 + -72 + -8 + -29 + -84 + -62 + -98 + -82 + -8 + -26 + -48 + -53 + -92 + -71 + -40 + -14 + -36 + -50 + -3 + -93 + -11 + -7 + -29 + -39 + -44 + -12 + -37 + -16 + -55 + -5 + -27 + -30 + -72 + -21 + -73 + -88 + -69 + -19 + -88 + -94 + -87 + -46 + -57 + -25 + -79 + -81 + -65 + -23 + -40 + -83 + -53 + -82 + -1 + -22 + -70 + -49 + -61 + -85 + -53 + -53 + -51 + -11 + -23 + -65 + -35 + -66 + -66 + -51 + -74 + -63 + -70 + -3 + -98 + -96 + -90 + -32 + -53 + -90 + -70 + -60 + -60 + -67 + -4 + -27 + -98 + -36 + -16 + -48 + -45 + -74 + -36 + -66 + -66 + -72 + -7 + -1 + -10 + -94 + -79 + -77 + -31 + -84 + -17 + -11 + -60 + -44 + -47 + -60 + -31 + -82 + -61 + -65 + -21 + -70 + -34 + -77 + -42 + -80 + -25 + -35 + -10 + -29 + -64 + -62 + -74 + -96 + -18 + -66 + -11 + -39 + -79 + -29 + -61 + -12 + -88 + -60 + -33 + -32 + -69 + 0 + -56 + -78 + -32 + -52 + -40 + -91 + -24 + -91 + -61 + -22 + -55 + -85 + -99 + -46 + -25 + -30 + -14 + -74 + -21 + -68 + -52 + -56 + -47 + -70 + -18 + -96 + -85 + -3 + -89 + -95 + -56 + -74 + -32 + -87 + -85 + -56 + -22 + -99 + -54 + -72 + -65 + -91 + -44 + -15 + -87 + -36 + -83 + -45 + -81 + -65 + -56 + -59 + -65 + -25 + -23 + -78 + -23 + -54 + -63 + -33 + -41 + -33 + -26 + -64 + -68 + -24 + -77 + -79 + -34 + -78 + -46 + -6 + -40 + -35 + -10 + -63 + -40 + -92 + -50 + -29 + -63 + -31 + -60 + -69 + -23 + -3 + -66 + -56 + -85 + -45 + -76 + -72 + -25 + -95 + -44 + -31 + -98 + -83 + -50 + -58 + -35 + -86 + -56 + -78 + -84 + -19 + -46 + -92 + -18 + -20 + -85 + -98 + -80 + -75 + -16 + -12 + -45 + -35 + -87 + -12 + -26 + -56 + -49 + -75 + -99 + -58 + -79 + -30 + -37 + -96 + -54 + -78 + -86 + -70 + -71 + -22 + -69 + -11 + -84 + -35 + -58 + -85 + -17 + -29 + -99 + -49 + -30 + -78 + -15 + -62 + -7 + -1 + -55 + -60 + -26 + -89 + -10 + -84 + -36 + -88 + -96 + -17 + -30 + -45 + -78 + -86 + -31 + -47 + -17 + -79 + -25 + -84 + -76 + -32 + -29 + -95 + -71 + -84 + -80 + -84 + -15 + -19 + -20 + -2 + -74 + -93 + -39 + -14 + -80 + -22 + -27 + -30 + -89 + -96 + -61 + -91 + -96 + -22 + -91 + -26 + -7 + -84 + -9 + -66 + 0 + -60 + -4 diff --git a/test/spmm/vectors/x3.mtx b/test/spmm/vectors/x3.mtx new file mode 100644 index 00000000..fe03e14e --- /dev/null +++ b/test/spmm/vectors/x3.mtx @@ -0,0 +1,1142 @@ +%%MatrixMarket matrix array real general +% Random vector +% + 1138 1 + 32 + -31 + -35 + 48 + -43 + -49 + -50 + 6 + -9 + 47 + 39 + 7 + 25 + 30 + 34 + -19 + -27 + 26 + -14 + -25 + -8 + -9 + 40 + -45 + -13 + 48 + -29 + -3 + 9 + 47 + -14 + 18 + -19 + -18 + -32 + 17 + 36 + 15 + 35 + 30 + -16 + 5 + -18 + 33 + 14 + -35 + 23 + 46 + 0 + -50 + -6 + -9 + 26 + -3 + -42 + 2 + -31 + 17 + 25 + 14 + -11 + -42 + 36 + 45 + -9 + 1 + 11 + 10 + 31 + -47 + -41 + -21 + 43 + 17 + 2 + -9 + -34 + 29 + -34 + 49 + -41 + 12 + 20 + -50 + -36 + -44 + -11 + 1 + -14 + 41 + -26 + 4 + 34 + -36 + 7 + 30 + -12 + -45 + -17 + 25 + 4 + -20 + -49 + 3 + -15 + 24 + 39 + -26 + 48 + -12 + 28 + 25 + 2 + -18 + 14 + 26 + -29 + 22 + 15 + -39 + 4 + -23 + -14 + -14 + 16 + 12 + -27 + 39 + 27 + 46 + -46 + 20 + -28 + -19 + -46 + -49 + -13 + 0 + -20 + -10 + -28 + 39 + 0 + 42 + 13 + -1 + -39 + -6 + -43 + 37 + 4 + 11 + -13 + 3 + -29 + 24 + -40 + 44 + 24 + 9 + -12 + -16 + -2 + 21 + 10 + 37 + 25 + -34 + 35 + 19 + -6 + 36 + 38 + -6 + 26 + -25 + 43 + -26 + 43 + 22 + 5 + 18 + 18 + -19 + -34 + -44 + -7 + -40 + 29 + 40 + 13 + 1 + -7 + 25 + 4 + -1 + 37 + 13 + -17 + 16 + 15 + 15 + 12 + -7 + 14 + -14 + -31 + 16 + -23 + 25 + 20 + -32 + 31 + 29 + -35 + 6 + -11 + -42 + 20 + 41 + 29 + 6 + 29 + 43 + -44 + 26 + 18 + 39 + -49 + 39 + -15 + 49 + -3 + -37 + -25 + -35 + -12 + 14 + 1 + 8 + 42 + 14 + 14 + -43 + 17 + -24 + 10 + 8 + -23 + 29 + -38 + 13 + 12 + 14 + -19 + 7 + 25 + 1 + 45 + -31 + 47 + 34 + 26 + 2 + 9 + -45 + -45 + 22 + 23 + 7 + 45 + 14 + -35 + 27 + 35 + 2 + 14 + -33 + -19 + 23 + 23 + -33 + -21 + 8 + -12 + -34 + -44 + -35 + 22 + 29 + 20 + -40 + -41 + 16 + -38 + 10 + 3 + 7 + 46 + 47 + 39 + -24 + -50 + -28 + -49 + -10 + -48 + 47 + 38 + 18 + 11 + -10 + 19 + 41 + 21 + 41 + 44 + -2 + -17 + -21 + 11 + -17 + -23 + 45 + 47 + 26 + 14 + 33 + 38 + 3 + 23 + 31 + -41 + -28 + 13 + 22 + 48 + -31 + -44 + -37 + 6 + -17 + 39 + -47 + 23 + 47 + -9 + -7 + -13 + -37 + -3 + 42 + -44 + -3 + -7 + 33 + -8 + 41 + -24 + -34 + -42 + -1 + 34 + 43 + -3 + -4 + 38 + -13 + 40 + -11 + 9 + 3 + 29 + 19 + -33 + 10 + 6 + 42 + -14 + 5 + 48 + 37 + 16 + 17 + 12 + -31 + -46 + 18 + -47 + 40 + -5 + 41 + -30 + 3 + 25 + 15 + 48 + -35 + -22 + 2 + -49 + 20 + 2 + 25 + 23 + 34 + 39 + 42 + -34 + 43 + -41 + -20 + -31 + 3 + 9 + 22 + -36 + 10 + -23 + 27 + -27 + -8 + 0 + 23 + -22 + -3 + -30 + -25 + -8 + -28 + -34 + -27 + -30 + -14 + -45 + 24 + 26 + -22 + -20 + -14 + -40 + 45 + 0 + 16 + 13 + -19 + 19 + 42 + 36 + -41 + -6 + 41 + 46 + -50 + -6 + -45 + 7 + -33 + 34 + -13 + 7 + -36 + -45 + -4 + 38 + -21 + 43 + -45 + -2 + 21 + 35 + -2 + 45 + 35 + 1 + -39 + -7 + 33 + -39 + 24 + -19 + -42 + 31 + 37 + -47 + -40 + -26 + -9 + -45 + 34 + 13 + 5 + 12 + 13 + -46 + -24 + 9 + 40 + 34 + -24 + -6 + -18 + -34 + -26 + 27 + 28 + -7 + 0 + -6 + 8 + -20 + -40 + 30 + -8 + -19 + -32 + 11 + -40 + 16 + 39 + 1 + -50 + 2 + -16 + 9 + 26 + -32 + -15 + 0 + -41 + 6 + 29 + 24 + -13 + 32 + 1 + 34 + -6 + 14 + -48 + 38 + -26 + 23 + -31 + 35 + -42 + -30 + 3 + -40 + 7 + -26 + 37 + 39 + 30 + 34 + 29 + -22 + -11 + -42 + -10 + -38 + -10 + -9 + 44 + 10 + 33 + 16 + 36 + -16 + -11 + -22 + 12 + 47 + -24 + -20 + -20 + -24 + -46 + 30 + 5 + 30 + 35 + -41 + 42 + -22 + -10 + -12 + -38 + -38 + 45 + -24 + -9 + 8 + -49 + 11 + 49 + 33 + -23 + -13 + -8 + -24 + -9 + 6 + -12 + 22 + -50 + -46 + 18 + -3 + 35 + -16 + 38 + 10 + 33 + -25 + 0 + -24 + 2 + 12 + 24 + -8 + 45 + 31 + 36 + -8 + -14 + 8 + 44 + 25 + -2 + -46 + -40 + 0 + 12 + -46 + 9 + 42 + -31 + -11 + 34 + -17 + 18 + -38 + -25 + -14 + -6 + -17 + 38 + -19 + 35 + 28 + 4 + -47 + -7 + 48 + 42 + 6 + -50 + -14 + 40 + 42 + -6 + -18 + 6 + 1 + -29 + -30 + -43 + 23 + 30 + -33 + 31 + -6 + -8 + 13 + 35 + 26 + -24 + 27 + 2 + -29 + 46 + 26 + 3 + -22 + 14 + -25 + 43 + 18 + -35 + -5 + -6 + -20 + -38 + 18 + -44 + 47 + 14 + -44 + -45 + -37 + -6 + -34 + 16 + 38 + 18 + -50 + 23 + 36 + 30 + 49 + 2 + 25 + 32 + 19 + -30 + -39 + 48 + 27 + 10 + -38 + -8 + -23 + 22 + 36 + 10 + -20 + 46 + 1 + 27 + -10 + 39 + 37 + -9 + 37 + 7 + 26 + -16 + -10 + -15 + -16 + 9 + -25 + -23 + 35 + -23 + -40 + 35 + -15 + 30 + -36 + -24 + 41 + 24 + 47 + 26 + -24 + -47 + -13 + 2 + -35 + 44 + 22 + 2 + -21 + -22 + -5 + 3 + 21 + -47 + 48 + 41 + 9 + 35 + -24 + -38 + 6 + -49 + -40 + -1 + -43 + 30 + 12 + -38 + -23 + -46 + -3 + -9 + -6 + 0 + 44 + -17 + 22 + -42 + -21 + 34 + 12 + 48 + 32 + -42 + -24 + -2 + 3 + 42 + 21 + -10 + -36 + -14 + 0 + -47 + 43 + -39 + -43 + -21 + -11 + -6 + -38 + -13 + -34 + 5 + -45 + -23 + -20 + 22 + -29 + 23 + 38 + 19 + -31 + 38 + 44 + 37 + -4 + 7 + -25 + 29 + 31 + 15 + -27 + -10 + 33 + 3 + 32 + -49 + -28 + 20 + -1 + 11 + 35 + 3 + 3 + 1 + -39 + -27 + 15 + -15 + 16 + 16 + 1 + 24 + 13 + 20 + -47 + 48 + 46 + 40 + -18 + 3 + 40 + 20 + 10 + 10 + 17 + -46 + -23 + 48 + -14 + -34 + -2 + -5 + 24 + -14 + 16 + 16 + 22 + -43 + -49 + -40 + 44 + 29 + 27 + -19 + 34 + -33 + -39 + 10 + -6 + -3 + 10 + -19 + 32 + 11 + 15 + -29 + 20 + -16 + 27 + -8 + 30 + -25 + -15 + -40 + -21 + 14 + 12 + 24 + 46 + -32 + 16 + -39 + -11 + 29 + -21 + 11 + -38 + 38 + 10 + -17 + -18 + 19 + -50 + 6 + 28 + -18 + 2 + -10 + 41 + -26 + 41 + 11 + -28 + 5 + 35 + 49 + -4 + -25 + -20 + -36 + 24 + -29 + 18 + 2 + 6 + -3 + 20 + -32 + 46 + 35 + -47 + 39 + 45 + 6 + 24 + -18 + 37 + 35 + 6 + -28 + 49 + 4 + 22 + 15 + 41 + -6 + -35 + 37 + -14 + 33 + -5 + 31 + 15 + 6 + 9 + 15 + -25 + -27 + 28 + -27 + 4 + 13 + -17 + -9 + -17 + -24 + 14 + 18 + -26 + 27 + 29 + -16 + 28 + -4 + -44 + -10 + -15 + -40 + 13 + -10 + 42 + 0 + -21 + 13 + -19 + 10 + 19 + -27 + -47 + 16 + 6 + 35 + -5 + 26 + 22 + -25 + 45 + -6 + -19 + 48 + 33 + 0 + 8 + -15 + 36 + 6 + 28 + 34 + -31 + -4 + 42 + -32 + -30 + 35 + 48 + 30 + 25 + -34 + -38 + -5 + -15 + 37 + -38 + -24 + 6 + -1 + 25 + 49 + 8 + 29 + -20 + -13 + 46 + 4 + 28 + 36 + 20 + 21 + -28 + 19 + -39 + 34 + -15 + 8 + 35 + -33 + -21 + 49 + -1 + -20 + 28 + -35 + 12 + -43 + -49 + 5 + 10 + -24 + 39 + -40 + 34 + -14 + 38 + 46 + -33 + -20 + -5 + 28 + 36 + -19 + -3 + -33 + 29 + -25 + 34 + 26 + -18 + -21 + 45 + 21 + 34 + 30 + 34 + -35 + -31 + -30 + -48 + 24 + 43 + -11 + -36 + 30 + -28 + -23 + -20 + 39 + 46 + 11 + 41 + 46 + -28 + 41 + -24 + -43 + 34 + -41 + 16 + -50 + 10 + -46 diff --git a/test/spmm/vectors/x4.mtx b/test/spmm/vectors/x4.mtx new file mode 100644 index 00000000..838ab8f9 --- /dev/null +++ b/test/spmm/vectors/x4.mtx @@ -0,0 +1,1142 @@ +%%MatrixMarket matrix array real general +% Null vector +% + 1138 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 diff --git a/test/spmm/vectors/y1.mtx b/test/spmm/vectors/y1.mtx new file mode 100644 index 00000000..41f22113 --- /dev/null +++ b/test/spmm/vectors/y1.mtx @@ -0,0 +1,1142 @@ +%%MatrixMarket matrix array real general +% Positive vector +% + 1138 1 + 75 + 41 + 78 + 4 + 28 + 37 + 50 + 12 + 5 + 73 + 96 + 39 + 41 + 20 + 4 + 62 + 33 + 55 + 71 + 37 + 61 + 29 + 4 + 25 + 11 + 5 + 2 + 46 + 39 + 78 + 75 + 37 + 73 + 34 + 84 + 0 + 95 + 71 + 78 + 68 + 52 + 75 + 10 + 5 + 65 + 79 + 49 + 37 + 58 + 20 + 39 + 14 + 17 + 20 + 63 + 6 + 4 + 92 + 60 + 29 + 33 + 44 + 19 + 0 + 77 + 49 + 97 + 97 + 29 + 6 + 2 + 92 + 64 + 33 + 44 + 72 + 23 + 96 + 14 + 83 + 3 + 55 + 73 + 73 + 97 + 16 + 20 + 10 + 55 + 70 + 65 + 40 + 47 + 7 + 3 + 23 + 18 + 46 + 14 + 45 + 29 + 90 + 73 + 7 + 68 + 65 + 3 + 39 + 17 + 22 + 58 + 87 + 75 + 97 + 21 + 10 + 70 + 94 + 30 + 15 + 74 + 19 + 96 + 49 + 89 + 50 + 80 + 28 + 94 + 20 + 84 + 2 + 96 + 85 + 55 + 12 + 25 + 5 + 62 + 95 + 56 + 93 + 50 + 70 + 16 + 0 + 75 + 39 + 55 + 63 + 64 + 10 + 79 + 63 + 25 + 25 + 26 + 73 + 47 + 64 + 40 + 14 + 42 + 55 + 82 + 51 + 83 + 4 + 17 + 90 + 5 + 3 + 50 + 33 + 34 + 63 + 39 + 44 + 95 + 77 + 8 + 82 + 99 + 7 + 81 + 42 + 22 + 53 + 39 + 1 + 58 + 15 + 19 + 63 + 10 + 32 + 19 + 49 + 8 + 62 + 68 + 57 + 73 + 73 + 1 + 68 + 55 + 44 + 10 + 39 + 68 + 49 + 33 + 33 + 22 + 28 + 70 + 76 + 69 + 71 + 24 + 55 + 14 + 38 + 91 + 30 + 2 + 69 + 92 + 58 + 59 + 24 + 17 + 84 + 18 + 85 + 42 + 40 + 8 + 24 + 31 + 32 + 29 + 61 + 32 + 34 + 47 + 2 + 12 + 11 + 36 + 6 + 4 + 88 + 12 + 95 + 50 + 74 + 71 + 35 + 28 + 92 + 57 + 99 + 3 + 46 + 13 + 5 + 44 + 99 + 29 + 24 + 48 + 31 + 48 + 51 + 83 + 98 + 68 + 34 + 37 + 8 + 65 + 63 + 75 + 7 + 47 + 60 + 18 + 54 + 31 + 84 + 71 + 29 + 29 + 78 + 87 + 66 + 80 + 19 + 85 + 90 + 89 + 83 + 64 + 52 + 93 + 14 + 1 + 71 + 58 + 43 + 97 + 48 + 62 + 26 + 95 + 19 + 15 + 28 + 30 + 12 + 20 + 94 + 53 + 40 + 39 + 94 + 89 + 16 + 71 + 47 + 10 + 13 + 43 + 83 + 85 + 66 + 75 + 2 + 37 + 59 + 81 + 32 + 65 + 55 + 13 + 11 + 31 + 88 + 98 + 41 + 27 + 95 + 83 + 0 + 0 + 86 + 22 + 36 + 82 + 93 + 94 + 78 + 47 + 82 + 5 + 61 + 98 + 4 + 13 + 30 + 9 + 9 + 80 + 30 + 52 + 0 + 11 + 29 + 65 + 54 + 97 + 67 + 15 + 83 + 72 + 41 + 5 + 53 + 73 + 95 + 4 + 12 + 10 + 98 + 21 + 97 + 40 + 47 + 32 + 57 + 85 + 39 + 86 + 84 + 32 + 55 + 30 + 9 + 62 + 34 + 13 + 89 + 87 + 21 + 90 + 84 + 12 + 44 + 21 + 2 + 64 + 22 + 10 + 26 + 67 + 63 + 20 + 89 + 77 + 74 + 8 + 47 + 73 + 34 + 58 + 52 + 0 + 91 + 51 + 54 + 18 + 45 + 50 + 43 + 35 + 36 + 25 + 88 + 39 + 12 + 93 + 45 + 4 + 45 + 38 + 69 + 92 + 12 + 89 + 48 + 96 + 2 + 35 + 99 + 5 + 33 + 31 + 82 + 86 + 89 + 75 + 11 + 57 + 10 + 37 + 56 + 47 + 31 + 47 + 93 + 29 + 31 + 70 + 16 + 3 + 35 + 77 + 77 + 23 + 28 + 45 + 36 + 98 + 4 + 26 + 35 + 64 + 2 + 73 + 81 + 52 + 60 + 49 + 95 + 60 + 78 + 52 + 8 + 72 + 37 + 40 + 30 + 29 + 28 + 48 + 99 + 54 + 30 + 26 + 67 + 51 + 5 + 46 + 22 + 3 + 97 + 56 + 13 + 55 + 59 + 92 + 84 + 4 + 32 + 11 + 7 + 91 + 30 + 35 + 43 + 80 + 15 + 42 + 18 + 49 + 38 + 82 + 24 + 81 + 7 + 76 + 83 + 52 + 3 + 80 + 74 + 19 + 23 + 75 + 71 + 9 + 69 + 70 + 33 + 1 + 33 + 4 + 18 + 37 + 27 + 18 + 9 + 35 + 6 + 97 + 15 + 7 + 2 + 67 + 80 + 49 + 81 + 7 + 54 + 39 + 37 + 75 + 44 + 78 + 97 + 83 + 2 + 20 + 86 + 29 + 67 + 90 + 84 + 3 + 49 + 56 + 48 + 35 + 86 + 29 + 14 + 8 + 80 + 9 + 69 + 19 + 78 + 56 + 66 + 63 + 20 + 44 + 7 + 61 + 99 + 48 + 1 + 97 + 61 + 43 + 3 + 17 + 61 + 38 + 53 + 89 + 56 + 90 + 25 + 39 + 2 + 76 + 39 + 16 + 18 + 2 + 16 + 31 + 53 + 75 + 22 + 81 + 50 + 22 + 32 + 45 + 72 + 56 + 16 + 43 + 6 + 73 + 93 + 17 + 63 + 63 + 71 + 93 + 83 + 3 + 61 + 93 + 12 + 22 + 26 + 1 + 40 + 78 + 47 + 81 + 26 + 50 + 1 + 92 + 91 + 37 + 42 + 85 + 65 + 81 + 21 + 56 + 1 + 87 + 50 + 18 + 42 + 98 + 20 + 3 + 59 + 40 + 73 + 38 + 49 + 35 + 35 + 44 + 39 + 99 + 67 + 64 + 80 + 65 + 30 + 4 + 81 + 80 + 10 + 95 + 26 + 78 + 80 + 3 + 92 + 99 + 17 + 28 + 41 + 55 + 14 + 51 + 99 + 66 + 48 + 37 + 6 + 99 + 63 + 91 + 93 + 69 + 83 + 54 + 71 + 18 + 81 + 36 + 86 + 55 + 28 + 41 + 53 + 8 + 14 + 11 + 88 + 51 + 70 + 98 + 94 + 81 + 86 + 45 + 83 + 74 + 88 + 91 + 11 + 74 + 13 + 81 + 81 + 68 + 97 + 22 + 59 + 98 + 7 + 39 + 95 + 5 + 77 + 57 + 29 + 69 + 32 + 85 + 41 + 73 + 72 + 85 + 3 + 87 + 30 + 94 + 45 + 21 + 64 + 66 + 14 + 68 + 70 + 30 + 48 + 91 + 56 + 61 + 86 + 16 + 23 + 52 + 51 + 49 + 23 + 8 + 43 + 39 + 33 + 22 + 77 + 50 + 28 + 77 + 54 + 43 + 76 + 65 + 31 + 2 + 5 + 24 + 80 + 84 + 82 + 65 + 6 + 5 + 69 + 62 + 59 + 87 + 60 + 61 + 9 + 25 + 45 + 12 + 93 + 31 + 4 + 27 + 65 + 94 + 18 + 84 + 73 + 46 + 5 + 99 + 15 + 32 + 40 + 12 + 55 + 71 + 55 + 83 + 62 + 75 + 18 + 27 + 93 + 12 + 32 + 72 + 26 + 33 + 65 + 19 + 40 + 6 + 79 + 98 + 85 + 54 + 94 + 97 + 21 + 45 + 51 + 15 + 71 + 39 + 8 + 72 + 41 + 47 + 95 + 42 + 87 + 95 + 53 + 95 + 42 + 36 + 52 + 21 + 4 + 74 + 75 + 86 + 48 + 62 + 61 + 76 + 24 + 4 + 84 + 15 + 87 + 11 + 96 + 66 + 55 + 35 + 17 + 37 + 86 + 4 + 63 + 6 + 77 + 48 + 4 + 69 + 91 + 85 + 83 + 51 + 30 + 84 + 90 + 13 + 25 + 50 + 8 + 4 + 81 + 85 + 54 + 85 + 27 + 91 + 3 + 69 + 59 + 37 + 72 + 8 + 26 + 54 + 41 + 3 + 45 + 21 + 46 + 63 + 97 + 8 + 94 + 79 + 14 + 0 + 18 + 46 + 62 + 91 + 23 + 88 + 74 + 13 + 48 + 44 + 82 + 99 + 23 + 12 + 24 + 37 + 48 + 28 + 90 + 75 + 54 + 88 + 26 + 32 + 96 + 92 + 74 + 69 + 23 + 69 + 90 + 18 + 5 + 18 + 81 + 55 + 83 + 90 + 88 + 44 + 85 + 48 + 97 + 46 + 21 + 69 + 85 + 0 + 0 + 7 + 8 + 57 + 45 + 81 + 55 + 73 + 65 + 68 + 76 + 25 + 98 + 30 + 43 + 69 + 48 + 8 + 57 + 23 + 32 + 86 + 16 + 2 + 85 + 33 + 57 + 94 + 20 + 67 + 73 + 37 + 22 + 96 + 64 + 74 + 80 + 25 + 67 + 6 + 12 + 86 + 41 + 77 + 79 + 95 + 19 + 79 + 53 + 49 + 9 + 33 + 71 + 41 + 34 + 52 + 35 + 91 + 6 + 83 + 97 + 22 + 26 + 30 + 84 + 96 + 48 + 98 + 54 + 9 + 21 + 45 + 86 + 15 + 86 + 29 + 63 + 9 + 38 + 73 + 55 + 27 + 26 + 87 + 22 + 95 + 59 + 77 + 89 + 35 + 50 + 93 + 26 + 49 + 71 + 25 + 99 + 18 + 89 + 62 + 61 + 67 + 31 + 25 + 79 + 76 + 63 + 1 + 99 + 10 + 57 + 3 + 7 + 39 + 74 + 45 + 72 + 97 + 7 diff --git a/test/spmm/vectors/y2.mtx b/test/spmm/vectors/y2.mtx new file mode 100644 index 00000000..db489c99 --- /dev/null +++ b/test/spmm/vectors/y2.mtx @@ -0,0 +1,1142 @@ +%%MatrixMarket matrix array real general +% Negative vector +% + 1138 1 + -75 + -41 + -78 + -4 + -28 + -37 + -50 + -12 + -5 + -73 + -96 + -39 + -41 + -20 + -4 + -62 + -33 + -55 + -71 + -37 + -61 + -29 + -4 + -25 + -11 + -5 + -2 + -46 + -39 + -78 + -75 + -37 + -73 + -34 + -84 + 0 + -95 + -71 + -78 + -68 + -52 + -75 + -10 + -5 + -65 + -79 + -49 + -37 + -58 + -20 + -39 + -14 + -17 + -20 + -63 + -6 + -4 + -92 + -60 + -29 + -33 + -44 + -19 + 0 + -77 + -49 + -97 + -97 + -29 + -6 + -2 + -92 + -64 + -33 + -44 + -72 + -23 + -96 + -14 + -83 + -3 + -55 + -73 + -73 + -97 + -16 + -20 + -10 + -55 + -70 + -65 + -40 + -47 + -7 + -3 + -23 + -18 + -46 + -14 + -45 + -29 + -90 + -73 + -7 + -68 + -65 + -3 + -39 + -17 + -22 + -58 + -87 + -75 + -97 + -21 + -10 + -70 + -94 + -30 + -15 + -74 + -19 + -96 + -49 + -89 + -50 + -80 + -28 + -94 + -20 + -84 + -2 + -96 + -85 + -55 + -12 + -25 + -5 + -62 + -95 + -56 + -93 + -50 + -70 + -16 + 0 + -75 + -39 + -55 + -63 + -64 + -10 + -79 + -63 + -25 + -25 + -26 + -73 + -47 + -64 + -40 + -14 + -42 + -55 + -82 + -51 + -83 + -4 + -17 + -90 + -5 + -3 + -50 + -33 + -34 + -63 + -39 + -44 + -95 + -77 + -8 + -82 + -99 + -7 + -81 + -42 + -22 + -53 + -39 + -1 + -58 + -15 + -19 + -63 + -10 + -32 + -19 + -49 + -8 + -62 + -68 + -57 + -73 + -73 + -1 + -68 + -55 + -44 + -10 + -39 + -68 + -49 + -33 + -33 + -22 + -28 + -70 + -76 + -69 + -71 + -24 + -55 + -14 + -38 + -91 + -30 + -2 + -69 + -92 + -58 + -59 + -24 + -17 + -84 + -18 + -85 + -42 + -40 + -8 + -24 + -31 + -32 + -29 + -61 + -32 + -34 + -47 + -2 + -12 + -11 + -36 + -6 + -4 + -88 + -12 + -95 + -50 + -74 + -71 + -35 + -28 + -92 + -57 + -99 + -3 + -46 + -13 + -5 + -44 + -99 + -29 + -24 + -48 + -31 + -48 + -51 + -83 + -98 + -68 + -34 + -37 + -8 + -65 + -63 + -75 + -7 + -47 + -60 + -18 + -54 + -31 + -84 + -71 + -29 + -29 + -78 + -87 + -66 + -80 + -19 + -85 + -90 + -89 + -83 + -64 + -52 + -93 + -14 + -1 + -71 + -58 + -43 + -97 + -48 + -62 + -26 + -95 + -19 + -15 + -28 + -30 + -12 + -20 + -94 + -53 + -40 + -39 + -94 + -89 + -16 + -71 + -47 + -10 + -13 + -43 + -83 + -85 + -66 + -75 + -2 + -37 + -59 + -81 + -32 + -65 + -55 + -13 + -11 + -31 + -88 + -98 + -41 + -27 + -95 + -83 + 0 + 0 + -86 + -22 + -36 + -82 + -93 + -94 + -78 + -47 + -82 + -5 + -61 + -98 + -4 + -13 + -30 + -9 + -9 + -80 + -30 + -52 + 0 + -11 + -29 + -65 + -54 + -97 + -67 + -15 + -83 + -72 + -41 + -5 + -53 + -73 + -95 + -4 + -12 + -10 + -98 + -21 + -97 + -40 + -47 + -32 + -57 + -85 + -39 + -86 + -84 + -32 + -55 + -30 + -9 + -62 + -34 + -13 + -89 + -87 + -21 + -90 + -84 + -12 + -44 + -21 + -2 + -64 + -22 + -10 + -26 + -67 + -63 + -20 + -89 + -77 + -74 + -8 + -47 + -73 + -34 + -58 + -52 + 0 + -91 + -51 + -54 + -18 + -45 + -50 + -43 + -35 + -36 + -25 + -88 + -39 + -12 + -93 + -45 + -4 + -45 + -38 + -69 + -92 + -12 + -89 + -48 + -96 + -2 + -35 + -99 + -5 + -33 + -31 + -82 + -86 + -89 + -75 + -11 + -57 + -10 + -37 + -56 + -47 + -31 + -47 + -93 + -29 + -31 + -70 + -16 + -3 + -35 + -77 + -77 + -23 + -28 + -45 + -36 + -98 + -4 + -26 + -35 + -64 + -2 + -73 + -81 + -52 + -60 + -49 + -95 + -60 + -78 + -52 + -8 + -72 + -37 + -40 + -30 + -29 + -28 + -48 + -99 + -54 + -30 + -26 + -67 + -51 + -5 + -46 + -22 + -3 + -97 + -56 + -13 + -55 + -59 + -92 + -84 + -4 + -32 + -11 + -7 + -91 + -30 + -35 + -43 + -80 + -15 + -42 + -18 + -49 + -38 + -82 + -24 + -81 + -7 + -76 + -83 + -52 + -3 + -80 + -74 + -19 + -23 + -75 + -71 + -9 + -69 + -70 + -33 + -1 + -33 + -4 + -18 + -37 + -27 + -18 + -9 + -35 + -6 + -97 + -15 + -7 + -2 + -67 + -80 + -49 + -81 + -7 + -54 + -39 + -37 + -75 + -44 + -78 + -97 + -83 + -2 + -20 + -86 + -29 + -67 + -90 + -84 + -3 + -49 + -56 + -48 + -35 + -86 + -29 + -14 + -8 + -80 + -9 + -69 + -19 + -78 + -56 + -66 + -63 + -20 + -44 + -7 + -61 + -99 + -48 + -1 + -97 + -61 + -43 + -3 + -17 + -61 + -38 + -53 + -89 + -56 + -90 + -25 + -39 + -2 + -76 + -39 + -16 + -18 + -2 + -16 + -31 + -53 + -75 + -22 + -81 + -50 + -22 + -32 + -45 + -72 + -56 + -16 + -43 + -6 + -73 + -93 + -17 + -63 + -63 + -71 + -93 + -83 + -3 + -61 + -93 + -12 + -22 + -26 + -1 + -40 + -78 + -47 + -81 + -26 + -50 + -1 + -92 + -91 + -37 + -42 + -85 + -65 + -81 + -21 + -56 + -1 + -87 + -50 + -18 + -42 + -98 + -20 + -3 + -59 + -40 + -73 + -38 + -49 + -35 + -35 + -44 + -39 + -99 + -67 + -64 + -80 + -65 + -30 + -4 + -81 + -80 + -10 + -95 + -26 + -78 + -80 + -3 + -92 + -99 + -17 + -28 + -41 + -55 + -14 + -51 + -99 + -66 + -48 + -37 + -6 + -99 + -63 + -91 + -93 + -69 + -83 + -54 + -71 + -18 + -81 + -36 + -86 + -55 + -28 + -41 + -53 + -8 + -14 + -11 + -88 + -51 + -70 + -98 + -94 + -81 + -86 + -45 + -83 + -74 + -88 + -91 + -11 + -74 + -13 + -81 + -81 + -68 + -97 + -22 + -59 + -98 + -7 + -39 + -95 + -5 + -77 + -57 + -29 + -69 + -32 + -85 + -41 + -73 + -72 + -85 + -3 + -87 + -30 + -94 + -45 + -21 + -64 + -66 + -14 + -68 + -70 + -30 + -48 + -91 + -56 + -61 + -86 + -16 + -23 + -52 + -51 + -49 + -23 + -8 + -43 + -39 + -33 + -22 + -77 + -50 + -28 + -77 + -54 + -43 + -76 + -65 + -31 + -2 + -5 + -24 + -80 + -84 + -82 + -65 + -6 + -5 + -69 + -62 + -59 + -87 + -60 + -61 + -9 + -25 + -45 + -12 + -93 + -31 + -4 + -27 + -65 + -94 + -18 + -84 + -73 + -46 + -5 + -99 + -15 + -32 + -40 + -12 + -55 + -71 + -55 + -83 + -62 + -75 + -18 + -27 + -93 + -12 + -32 + -72 + -26 + -33 + -65 + -19 + -40 + -6 + -79 + -98 + -85 + -54 + -94 + -97 + -21 + -45 + -51 + -15 + -71 + -39 + -8 + -72 + -41 + -47 + -95 + -42 + -87 + -95 + -53 + -95 + -42 + -36 + -52 + -21 + -4 + -74 + -75 + -86 + -48 + -62 + -61 + -76 + -24 + -4 + -84 + -15 + -87 + -11 + -96 + -66 + -55 + -35 + -17 + -37 + -86 + -4 + -63 + -6 + -77 + -48 + -4 + -69 + -91 + -85 + -83 + -51 + -30 + -84 + -90 + -13 + -25 + -50 + -8 + -4 + -81 + -85 + -54 + -85 + -27 + -91 + -3 + -69 + -59 + -37 + -72 + -8 + -26 + -54 + -41 + -3 + -45 + -21 + -46 + -63 + -97 + -8 + -94 + -79 + -14 + 0 + -18 + -46 + -62 + -91 + -23 + -88 + -74 + -13 + -48 + -44 + -82 + -99 + -23 + -12 + -24 + -37 + -48 + -28 + -90 + -75 + -54 + -88 + -26 + -32 + -96 + -92 + -74 + -69 + -23 + -69 + -90 + -18 + -5 + -18 + -81 + -55 + -83 + -90 + -88 + -44 + -85 + -48 + -97 + -46 + -21 + -69 + -85 + 0 + 0 + -7 + -8 + -57 + -45 + -81 + -55 + -73 + -65 + -68 + -76 + -25 + -98 + -30 + -43 + -69 + -48 + -8 + -57 + -23 + -32 + -86 + -16 + -2 + -85 + -33 + -57 + -94 + -20 + -67 + -73 + -37 + -22 + -96 + -64 + -74 + -80 + -25 + -67 + -6 + -12 + -86 + -41 + -77 + -79 + -95 + -19 + -79 + -53 + -49 + -9 + -33 + -71 + -41 + -34 + -52 + -35 + -91 + -6 + -83 + -97 + -22 + -26 + -30 + -84 + -96 + -48 + -98 + -54 + -9 + -21 + -45 + -86 + -15 + -86 + -29 + -63 + -9 + -38 + -73 + -55 + -27 + -26 + -87 + -22 + -95 + -59 + -77 + -89 + -35 + -50 + -93 + -26 + -49 + -71 + -25 + -99 + -18 + -89 + -62 + -61 + -67 + -31 + -25 + -79 + -76 + -63 + -1 + -99 + -10 + -57 + -3 + -7 + -39 + -74 + -45 + -72 + -97 + -7 diff --git a/test/spmm/vectors/y3.mtx b/test/spmm/vectors/y3.mtx new file mode 100644 index 00000000..6255714d --- /dev/null +++ b/test/spmm/vectors/y3.mtx @@ -0,0 +1,1142 @@ +%%MatrixMarket matrix array real general +% Random vector +% + 1138 1 + 25 + -9 + 28 + -46 + -22 + -13 + 0 + -38 + -45 + 23 + 46 + -11 + -9 + -30 + -46 + 12 + -17 + 5 + 21 + -13 + 11 + -21 + -46 + -25 + -39 + -45 + -48 + -4 + -11 + 28 + 25 + -13 + 23 + -16 + 34 + -50 + 45 + 21 + 28 + 18 + 2 + 25 + -40 + -45 + 15 + 29 + -1 + -13 + 8 + -30 + -11 + -36 + -33 + -30 + 13 + -44 + -46 + 42 + 10 + -21 + -17 + -6 + -31 + -50 + 27 + -1 + 47 + 47 + -21 + -44 + -48 + 42 + 14 + -17 + -6 + 22 + -27 + 46 + -36 + 33 + -47 + 5 + 23 + 23 + 47 + -34 + -30 + -40 + 5 + 20 + 15 + -10 + -3 + -43 + -47 + -27 + -32 + -4 + -36 + -5 + -21 + 40 + 23 + -43 + 18 + 15 + -47 + -11 + -33 + -28 + 8 + 37 + 25 + 47 + -29 + -40 + 20 + 44 + -20 + -35 + 24 + -31 + 46 + -1 + 39 + 0 + 30 + -22 + 44 + -30 + 34 + -48 + 46 + 35 + 5 + -38 + -25 + -45 + 12 + 45 + 6 + 43 + 0 + 20 + -34 + -50 + 25 + -11 + 5 + 13 + 14 + -40 + 29 + 13 + -25 + -25 + -24 + 23 + -3 + 14 + -10 + -36 + -8 + 5 + 32 + 1 + 33 + -46 + -33 + 40 + -45 + -47 + 0 + -17 + -16 + 13 + -11 + -6 + 45 + 27 + -42 + 32 + 49 + -43 + 31 + -8 + -28 + 3 + -11 + -49 + 8 + -35 + -31 + 13 + -40 + -18 + -31 + -1 + -42 + 12 + 18 + 7 + 23 + 23 + -49 + 18 + 5 + -6 + -40 + -11 + 18 + -1 + -17 + -17 + -28 + -22 + 20 + 26 + 19 + 21 + -26 + 5 + -36 + -12 + 41 + -20 + -48 + 19 + 42 + 8 + 9 + -26 + -33 + 34 + -32 + 35 + -8 + -10 + -42 + -26 + -19 + -18 + -21 + 11 + -18 + -16 + -3 + -48 + -38 + -39 + -14 + -44 + -46 + 38 + -38 + 45 + 0 + 24 + 21 + -15 + -22 + 42 + 7 + 49 + -47 + -4 + -37 + -45 + -6 + 49 + -21 + -26 + -2 + -19 + -2 + 1 + 33 + 48 + 18 + -16 + -13 + -42 + 15 + 13 + 25 + -43 + -3 + 10 + -32 + 4 + -19 + 34 + 21 + -21 + -21 + 28 + 37 + 16 + 30 + -31 + 35 + 40 + 39 + 33 + 14 + 2 + 43 + -36 + -49 + 21 + 8 + -7 + 47 + -2 + 12 + -24 + 45 + -31 + -35 + -22 + -20 + -38 + -30 + 44 + 3 + -10 + -11 + 44 + 39 + -34 + 21 + -3 + -40 + -37 + -7 + 33 + 35 + 16 + 25 + -48 + -13 + 9 + 31 + -18 + 15 + 5 + -37 + -39 + -19 + 38 + 48 + -9 + -23 + 45 + 33 + -50 + -50 + 36 + -28 + -14 + 32 + 43 + 44 + 28 + -3 + 32 + -45 + 11 + 48 + -46 + -37 + -20 + -41 + -41 + 30 + -20 + 2 + -50 + -39 + -21 + 15 + 4 + 47 + 17 + -35 + 33 + 22 + -9 + -45 + 3 + 23 + 45 + -46 + -38 + -40 + 48 + -29 + 47 + -10 + -3 + -18 + 7 + 35 + -11 + 36 + 34 + -18 + 5 + -20 + -41 + 12 + -16 + -37 + 39 + 37 + -29 + 40 + 34 + -38 + -6 + -29 + -48 + 14 + -28 + -40 + -24 + 17 + 13 + -30 + 39 + 27 + 24 + -42 + -3 + 23 + -16 + 8 + 2 + -50 + 41 + 1 + 4 + -32 + -5 + 0 + -7 + -15 + -14 + -25 + 38 + -11 + -38 + 43 + -5 + -46 + -5 + -12 + 19 + 42 + -38 + 39 + -2 + 46 + -48 + -15 + 49 + -45 + -17 + -19 + 32 + 36 + 39 + 25 + -39 + 7 + -40 + -13 + 6 + -3 + -19 + -3 + 43 + -21 + -19 + 20 + -34 + -47 + -15 + 27 + 27 + -27 + -22 + -5 + -14 + 48 + -46 + -24 + -15 + 14 + -48 + 23 + 31 + 2 + 10 + -1 + 45 + 10 + 28 + 2 + -42 + 22 + -13 + -10 + -20 + -21 + -22 + -2 + 49 + 4 + -20 + -24 + 17 + 1 + -45 + -4 + -28 + -47 + 47 + 6 + -37 + 5 + 9 + 42 + 34 + -46 + -18 + -39 + -43 + 41 + -20 + -15 + -7 + 30 + -35 + -8 + -32 + -1 + -12 + 32 + -26 + 31 + -43 + 26 + 33 + 2 + -47 + 30 + 24 + -31 + -27 + 25 + 21 + -41 + 19 + 20 + -17 + -49 + -17 + -46 + -32 + -13 + -23 + -32 + -41 + -15 + -44 + 47 + -35 + -43 + -48 + 17 + 30 + -1 + 31 + -43 + 4 + -11 + -13 + 25 + -6 + 28 + 47 + 33 + -48 + -30 + 36 + -21 + 17 + 40 + 34 + -47 + -1 + 6 + -2 + -15 + 36 + -21 + -36 + -42 + 30 + -41 + 19 + -31 + 28 + 6 + 16 + 13 + -30 + -6 + -43 + 11 + 49 + -2 + -49 + 47 + 11 + -7 + -47 + -33 + 11 + -12 + 3 + 39 + 6 + 40 + -25 + -11 + -48 + 26 + -11 + -34 + -32 + -48 + -34 + -19 + 3 + 25 + -28 + 31 + 0 + -28 + -18 + -5 + 22 + 6 + -34 + -7 + -44 + 23 + 43 + -33 + 13 + 13 + 21 + 43 + 33 + -47 + 11 + 43 + -38 + -28 + -24 + -49 + -10 + 28 + -3 + 31 + -24 + 0 + -49 + 42 + 41 + -13 + -8 + 35 + 15 + 31 + -29 + 6 + -49 + 37 + 0 + -32 + -8 + 48 + -30 + -47 + 9 + -10 + 23 + -12 + -1 + -15 + -15 + -6 + -11 + 49 + 17 + 14 + 30 + 15 + -20 + -46 + 31 + 30 + -40 + 45 + -24 + 28 + 30 + -47 + 42 + 49 + -33 + -22 + -9 + 5 + -36 + 1 + 49 + 16 + -2 + -13 + -44 + 49 + 13 + 41 + 43 + 19 + 33 + 4 + 21 + -32 + 31 + -14 + 36 + 5 + -22 + -9 + 3 + -42 + -36 + -39 + 38 + 1 + 20 + 48 + 44 + 31 + 36 + -5 + 33 + 24 + 38 + 41 + -39 + 24 + -37 + 31 + 31 + 18 + 47 + -28 + 9 + 48 + -43 + -11 + 45 + -45 + 27 + 7 + -21 + 19 + -18 + 35 + -9 + 23 + 22 + 35 + -47 + 37 + -20 + 44 + -5 + -29 + 14 + 16 + -36 + 18 + 20 + -20 + -2 + 41 + 6 + 11 + 36 + -34 + -27 + 2 + 1 + -1 + -27 + -42 + -7 + -11 + -17 + -28 + 27 + 0 + -22 + 27 + 4 + -7 + 26 + 15 + -19 + -48 + -45 + -26 + 30 + 34 + 32 + 15 + -44 + -45 + 19 + 12 + 9 + 37 + 10 + 11 + -41 + -25 + -5 + -38 + 43 + -19 + -46 + -23 + 15 + 44 + -32 + 34 + 23 + -4 + -45 + 49 + -35 + -18 + -10 + -38 + 5 + 21 + 5 + 33 + 12 + 25 + -32 + -23 + 43 + -38 + -18 + 22 + -24 + -17 + 15 + -31 + -10 + -44 + 29 + 48 + 35 + 4 + 44 + 47 + -29 + -5 + 1 + -35 + 21 + -11 + -42 + 22 + -9 + -3 + 45 + -8 + 37 + 45 + 3 + 45 + -8 + -14 + 2 + -29 + -46 + 24 + 25 + 36 + -2 + 12 + 11 + 26 + -26 + -46 + 34 + -35 + 37 + -39 + 46 + 16 + 5 + -15 + -33 + -13 + 36 + -46 + 13 + -44 + 27 + -2 + -46 + 19 + 41 + 35 + 33 + 1 + -20 + 34 + 40 + -37 + -25 + 0 + -42 + -46 + 31 + 35 + 4 + 35 + -23 + 41 + -47 + 19 + 9 + -13 + 22 + -42 + -24 + 4 + -9 + -47 + -5 + -29 + -4 + 13 + 47 + -42 + 44 + 29 + -36 + -50 + -32 + -4 + 12 + 41 + -27 + 38 + 24 + -37 + -2 + -6 + 32 + 49 + -27 + -38 + -26 + -13 + -2 + -22 + 40 + 25 + 4 + 38 + -24 + -18 + 46 + 42 + 24 + 19 + -27 + 19 + 40 + -32 + -45 + -32 + 31 + 5 + 33 + 40 + 38 + -6 + 35 + -2 + 47 + -4 + -29 + 19 + 35 + -50 + -50 + -43 + -42 + 7 + -5 + 31 + 5 + 23 + 15 + 18 + 26 + -25 + 48 + -20 + -7 + 19 + -2 + -42 + 7 + -27 + -18 + 36 + -34 + -48 + 35 + -17 + 7 + 44 + -30 + 17 + 23 + -13 + -28 + 46 + 14 + 24 + 30 + -25 + 17 + -44 + -38 + 36 + -9 + 27 + 29 + 45 + -31 + 29 + 3 + -1 + -41 + -17 + 21 + -9 + -16 + 2 + -15 + 41 + -44 + 33 + 47 + -28 + -24 + -20 + 34 + 46 + -2 + 48 + 4 + -41 + -29 + -5 + 36 + -35 + 36 + -21 + 13 + -41 + -12 + 23 + 5 + -23 + -24 + 37 + -28 + 45 + 9 + 27 + 39 + -15 + 0 + 43 + -24 + -1 + 21 + -25 + 49 + -32 + 39 + 12 + 11 + 17 + -19 + -25 + 29 + 26 + 13 + -49 + 49 + -40 + 7 + -47 + -43 + -11 + 24 + -5 + 22 + 47 + -43 diff --git a/test/spmm/vectors/y4.mtx b/test/spmm/vectors/y4.mtx new file mode 100644 index 00000000..838ab8f9 --- /dev/null +++ b/test/spmm/vectors/y4.mtx @@ -0,0 +1,1142 @@ +%%MatrixMarket matrix array real general +% Null vector +% + 1138 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0