├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── Rules.mk ├── Rules.top ├── config.dox ├── config.h ├── config.mk ├── config.py ├── doc ├── EECS-2015-229.pdf ├── Makefile ├── Rules.mk ├── reference_manual.pdf └── reference_website.zip ├── examples ├── MPI_sum_sine.c ├── Makefile └── sum_sine.c ├── final.mk ├── include ├── MPI_reproBLAS.h ├── Makefile ├── Rules.mk ├── binned.h ├── binnedBLAS.h ├── binnedMPI.h └── reproBLAS.h ├── mk ├── Makefile ├── Readme.txt ├── build-debug.mk ├── build-profile.mk ├── build-release.mk ├── config-Cygwin-i686_Cygwin-i686.mk ├── config-Cygwin-i686_Linux-ppc.mk ├── config-Darwin-x86_64_Darwin-x86_64.mk ├── config-MinGW-i686_MinGW-i686.mk ├── config-SunOS-sun4u_SunOS-sun4u.mk ├── config-default.mk ├── config.mk ├── def_rules.mk ├── footer.mk ├── header.mk └── skel.mk ├── scripts ├── Makefile ├── Rules.mk ├── __init__.py ├── cogapp │ ├── PKG-INFO │ ├── README.txt │ ├── __init__.py │ ├── __main__.py │ ├── backward.py │ ├── cogapp.py │ ├── makefiles.py │ ├── test_cogapp.py │ ├── test_makefiles.py │ ├── test_whiteutils.py │ └── whiteutils.py ├── cpuinfo │ ├── LICENSE │ ├── __init__.py │ └── cpuinfo.py ├── getter.ccog ├── pseudocog.sh ├── terminal.py └── texttable │ ├── LICENSE │ ├── __init__.py │ └── texttable.py ├── src ├── Makefile ├── Rules.mk ├── __init__.py ├── binned │ ├── Makefile │ ├── Rules.mk │ ├── __init__.py │ ├── cballoc.c │ ├── cbcadd.c │ ├── cbcbadd.c │ ├── cbcbaddv.c │ ├── cbcbset.c │ ├── cbcconv.c │ ├── cbcdeposit.c │ ├── cbcupdate.c │ ├── cbnegate.c │ ├── cbnum.c │ ├── cbprint.c │ ├── cbrenorm.c │ ├── cbsbset.c │ ├── cbsetzero.c │ ├── cbsize.c │ ├── cbsupdate.c │ ├── ccbconv_sub.c │ ├── ccmconv_sub.c │ ├── cmcadd.c │ ├── cmcconv.c │ ├── cmcdeposit.c │ ├── cmcmadd.c │ ├── cmcmset.c │ ├── cmcupdate.c │ ├── cmdenorm.c │ ├── cmnegate.c │ ├── cmprint.c │ ├── cmrenorm.c │ ├── cmsetzero.c │ ├── cmsmset.c │ ├── cmsrescale.c │ ├── cmsupdate.c │ ├── dballoc.c │ ├── dbbound.c │ ├── dbdadd.c │ ├── dbdbadd.c │ ├── dbdbaddsq.c │ ├── dbdbaddv.c │ ├── dbdbset.c │ ├── dbdconv.c │ ├── dbddeposit.c │ ├── dbdupdate.c │ ├── dbnegate.c │ ├── dbnum.c │ ├── dbprint.c │ ├── dbrenorm.c │ ├── dbsetzero.c │ ├── dbsize.c │ ├── ddbconv.c │ ├── ddmconv.c │ ├── deposit.py │ ├── dindex.c │ ├── dmbins.c │ ├── dmdadd.c │ ├── dmdconv.c │ ├── dmddeposit.c │ ├── dmdenorm.c │ ├── dmdmadd.c │ ├── dmdmaddsq.c │ ├── dmdmset.c │ ├── dmdrescale.c │ ├── dmdupdate.c │ ├── dmindex.c │ ├── dmindex0.c │ ├── dmnegate.c │ ├── dmprint.c │ ├── dmrenorm.c │ ├── dmsetzero.c │ ├── dscale.c │ ├── sballoc.c │ ├── sbbound.c │ ├── sbnegate.c │ ├── sbnum.c │ ├── sbprint.c │ ├── sbrenorm.c │ ├── sbsadd.c │ ├── sbsbadd.c │ ├── sbsbaddsq.c │ ├── sbsbaddv.c │ ├── sbsbset.c │ ├── sbsbze.c │ ├── sbsconv.c │ ├── sbsdeposit.c │ ├── sbsetzero.c │ ├── sbsupdate.c │ ├── sindex.c │ ├── smbins.c │ ├── smdenorm.c │ ├── smindex.c │ ├── smindex0.c │ ├── smnegate.c │ ├── smprint.c │ ├── smrenorm.c │ ├── smsadd.c │ ├── smsconv.c │ ├── smsdeposit.c │ ├── smsetzero.c │ ├── smsmadd.c │ ├── smsmaddsq.c │ ├── smsmset.c │ ├── smsrescale.c │ ├── smsupdate.c │ ├── ssbconv.c │ ├── sscale.c │ ├── ssmconv.c │ ├── ufp.c │ ├── ufpf.c │ ├── zballoc.c │ ├── zbdbset.c │ ├── zbdupdate.c │ ├── zbnegate.c │ ├── zbnum.c │ ├── zbprint.c │ ├── zbrenorm.c │ ├── zbsetzero.c │ ├── zbsize.c │ ├── zbzadd.c │ ├── zbzbadd.c │ ├── zbzbaddv.c │ ├── zbzbset.c │ ├── zbzconv.c │ ├── zbzdeposit.c │ ├── zbzupdate.c │ ├── zmdenorm.c │ ├── zmdmset.c │ ├── zmdrescale.c │ ├── zmdupdate.c │ ├── zmnegate.c │ ├── zmprint.c │ ├── zmrenorm.c │ ├── zmsetzero.c │ ├── zmzadd.c │ ├── zmzconv.c │ ├── zmzdeposit.c │ ├── zmzmadd.c │ ├── zmzmset.c │ ├── zmzupdate.c │ ├── zzbconv_sub.c │ └── zzmconv_sub.c ├── binnedBLAS │ ├── Makefile │ ├── Rules.mk │ ├── amax.py │ ├── amaxm.py │ ├── camax_sub.ccog │ ├── camaxm_sub.ccog │ ├── cbcdotc.c │ ├── cbcdotu.c │ ├── cbcgemm.ccog │ ├── cbcgemv.ccog │ ├── cbcsum.c │ ├── cmcdotc.ccog │ ├── cmcdotu.ccog │ ├── cmcsum.ccog │ ├── damax.ccog │ ├── damaxm.ccog │ ├── dbdasum.c │ ├── dbddot.c │ ├── dbdgemm.ccog │ ├── dbdgemv.ccog │ ├── dbdssq.c │ ├── dbdsum.c │ ├── dbzasum.c │ ├── dbzssq.c │ ├── depositASum.py │ ├── depositDot.py │ ├── depositDotC.py │ ├── depositDotU.py │ ├── depositM.py │ ├── depositSSq.py │ ├── depositSum.py │ ├── dmdasum.ccog │ ├── dmddot.ccog │ ├── dmdssq.ccog │ ├── dmdsum.ccog │ ├── dmzasum.ccog │ ├── dmzssq.ccog │ ├── samax.ccog │ ├── samaxm.ccog │ ├── sbcasum.c │ ├── sbcssq.c │ ├── sbsasum.c │ ├── sbsdot.c │ ├── sbsgemm.ccog │ ├── sbsgemv.ccog │ ├── sbsssq.c │ ├── sbssum.c │ ├── smcasum.ccog │ ├── smcssq.ccog │ ├── smsasum.ccog │ ├── smsdot.ccog │ ├── smsssq.ccog │ ├── smssum.ccog │ ├── zamax_sub.ccog │ ├── zamaxm_sub.ccog │ ├── zbzdotc.c │ ├── zbzdotu.c │ ├── zbzgemm.ccog │ ├── zbzgemv.ccog │ ├── zbzsum.c │ ├── zmzdotc.ccog │ ├── zmzdotu.ccog │ └── zmzsum.ccog ├── binnedMPI │ ├── CBCBADD.ccog │ ├── DBDBADD.ccog │ ├── DBDBADDSQ.ccog │ ├── DOUBLE_BINNED.c │ ├── DOUBLE_BINNED_SCALED.c │ ├── DOUBLE_COMPLEX_BINNED.c │ ├── FLOAT_BINNED.c │ ├── FLOAT_BINNED_SCALED.c │ ├── FLOAT_COMPLEX_BINNED.c │ ├── Makefile │ ├── Rules.mk │ ├── SBSBADD.ccog │ ├── SBSBADDSQ.ccog │ └── ZBZBADD.ccog ├── common │ ├── Makefile │ ├── Rules.mk │ ├── __init__.py │ ├── blockSize.py │ └── common.h ├── default_args.json ├── gen │ ├── __init__.py │ ├── dataTypes.py │ ├── default_args.py │ ├── generate.py │ ├── utils.py │ └── vectorizations.py ├── params.json ├── reproBLAS │ ├── Makefile │ ├── Rules.mk │ ├── cdotc_sub.c │ ├── cdotu_sub.c │ ├── cgemm.c │ ├── cgemv.c │ ├── csum_sub.c │ ├── dasum.c │ ├── ddot.c │ ├── dgemm.c │ ├── dgemv.c │ ├── dnrm2.c │ ├── dsum.c │ ├── dzasum.c │ ├── dznrm2.c │ ├── rcdotc_sub.c │ ├── rcdotu_sub.c │ ├── rcgemm.c │ ├── rcgemv.c │ ├── rcsum_sub.c │ ├── rdasum.c │ ├── rddot.c │ ├── rdgemm.c │ ├── rdgemv.c │ ├── rdnrm2.c │ ├── rdsum.c │ ├── rdzasum.c │ ├── rdznrm2.c │ ├── rsasum.c │ ├── rscasum.c │ ├── rscnrm2.c │ ├── rsdot.c │ ├── rsgemm.c │ ├── rsgemv.c │ ├── rsnrm2.c │ ├── rssum.c │ ├── rzdotc_sub.c │ ├── rzdotu_sub.c │ ├── rzgemm.c │ ├── rzgemv.c │ ├── rzsum_sub.c │ ├── sasum.c │ ├── scasum.c │ ├── scnrm2.c │ ├── sdot.c │ ├── sgemm.c │ ├── sgemv.c │ ├── snrm2.c │ ├── ssum.c │ ├── zdotc_sub.c │ ├── zdotu_sub.c │ ├── zgemm.c │ ├── zgemv.c │ └── zsum_sub.c ├── tuned_args.json └── tuned_args_peters_mac.json ├── tests ├── Makefile ├── Rules.mk ├── __init__.py ├── accs │ ├── Makefile │ ├── Rules.mk │ ├── __init__.py │ ├── acc.py │ ├── acc_csum.c │ ├── acc_dsum.c │ ├── acc_rcsum.c │ ├── acc_rdsum.c │ ├── acc_rssum.c │ ├── acc_rzsum.c │ ├── acc_ssum.c │ ├── acc_vecvec_fill_header.h │ ├── acc_zsum.c │ └── accs.py ├── benchs │ ├── Makefile │ ├── Rules.mk │ ├── __init__.py │ ├── bench.py │ ├── bench_camax.c │ ├── bench_camaxm.c │ ├── bench_cbcbadd.c │ ├── bench_cciconv.c │ ├── bench_cdotc.c │ ├── bench_cdotu.c │ ├── bench_cgemm.c │ ├── bench_cgemv.c │ ├── bench_csum.c │ ├── bench_damax.c │ ├── bench_damaxm.c │ ├── bench_dasum.c │ ├── bench_dbdbadd.c │ ├── bench_ddbconv.c │ ├── bench_ddot.c │ ├── bench_dgemm.c │ ├── bench_dgemv.c │ ├── bench_dnrm2.c │ ├── bench_dsum.c │ ├── bench_dzasum.c │ ├── bench_dznrm2.c │ ├── bench_icamax.c │ ├── bench_idamax.c │ ├── bench_ireduce.c │ ├── bench_isamax.c │ ├── bench_izamax.c │ ├── bench_matmat_fill_header.h │ ├── bench_matvec_fill_header.h │ ├── bench_rcdotc.c │ ├── bench_rcdotu.c │ ├── bench_rcgemm.c │ ├── bench_rcgemv.c │ ├── bench_rcsum.c │ ├── bench_rdasum.c │ ├── bench_rddot.c │ ├── bench_rdgemm.c │ ├── bench_rdgemv.c │ ├── bench_rdnrm2.c │ ├── bench_rdsum.c │ ├── bench_rdzasum.c │ ├── bench_rdznrm2.c │ ├── bench_reduce.c │ ├── bench_rsasum.c │ ├── bench_rscasum.c │ ├── bench_rscnrm2.c │ ├── bench_rsdot.c │ ├── bench_rsgemm.c │ ├── bench_rsgemv.c │ ├── bench_rsnrm2.c │ ├── bench_rssum.c │ ├── bench_rzdotc.c │ ├── bench_rzdotu.c │ ├── bench_rzgemm.c │ ├── bench_rzgemv.c │ ├── bench_rzsum.c │ ├── bench_samax.c │ ├── bench_samaxm.c │ ├── bench_sasum.c │ ├── bench_sbsbadd.c │ ├── bench_scasum.c │ ├── bench_scnrm2.c │ ├── bench_sdot.c │ ├── bench_sgemm.c │ ├── bench_sgemv.c │ ├── bench_snrm2.c │ ├── bench_ssbconv.c │ ├── bench_ssum.c │ ├── bench_utils.c │ ├── bench_vecvec_fill_header.h │ ├── bench_zamax.c │ ├── bench_zamaxm.c │ ├── bench_zbzbadd.c │ ├── bench_zdotc.c │ ├── bench_zdotu.c │ ├── bench_zgemm.c │ ├── bench_zgemv.c │ ├── bench_zsum.c │ ├── bench_zziconv.c │ └── benchs.py ├── checks │ ├── Makefile │ ├── README.txt │ ├── Rules.mk │ ├── __init__.py │ ├── check.py │ ├── checks.py │ ├── corroborate_rcgemm.c │ ├── corroborate_rcgemv.c │ ├── corroborate_rdgemm.c │ ├── corroborate_rdgemv.c │ ├── corroborate_rsgemm.c │ ├── corroborate_rsgemv.c │ ├── corroborate_rzgemm.c │ ├── corroborate_rzgemv.c │ ├── data │ │ ├── c_2_rand-1_N4095.dat │ │ ├── c_2_rand-1_N4095__Brcdotc.dat │ │ ├── c_2_rand-1_N4095__Brcdotu.dat │ │ ├── c_2_rand-1_N4095__Brcsum.dat │ │ ├── c_2_rand-1_N4095__Brscasum.dat │ │ ├── c_2_rand-1_N4095__Brscnrm2.dat │ │ ├── c_2_rand-1_N4095__rcdotc.dat │ │ ├── c_2_rand-1_N4095__rcdotu.dat │ │ ├── c_2_rand-1_N4095__rcsum.dat │ │ ├── c_2_rand-1_N4095__rscasum.dat │ │ ├── c_2_rand-1_N4095__rscnrm2.dat │ │ ├── c_normal_N4095.dat │ │ ├── c_normal_N4095__Brcdotc.dat │ │ ├── c_normal_N4095__Brcdotu.dat │ │ ├── c_normal_N4095__Brcsum.dat │ │ ├── c_normal_N4095__Brscasum.dat │ │ ├── c_normal_N4095__Brscnrm2.dat │ │ ├── c_normal_N4095__rcdotc.dat │ │ ├── c_normal_N4095__rcdotu.dat │ │ ├── c_normal_N4095__rcsum.dat │ │ ├── c_normal_N4095__rscasum.dat │ │ ├── c_normal_N4095__rscnrm2.dat │ │ ├── c_rand+(rand-1)_N4095.dat │ │ ├── c_rand+(rand-1)_N4095__Brcdotc.dat │ │ ├── c_rand+(rand-1)_N4095__Brcdotu.dat │ │ ├── c_rand+(rand-1)_N4095__Brcsum.dat │ │ ├── c_rand+(rand-1)_N4095__Brscasum.dat │ │ ├── c_rand+(rand-1)_N4095__Brscnrm2.dat │ │ ├── c_rand+(rand-1)_N4095__rcdotc.dat │ │ ├── c_rand+(rand-1)_N4095__rcdotu.dat │ │ ├── c_rand+(rand-1)_N4095__rcsum.dat │ │ ├── c_rand+(rand-1)_N4095__rscasum.dat │ │ ├── c_rand+(rand-1)_N4095__rscnrm2.dat │ │ ├── c_rand_N4095.dat │ │ ├── c_rand_N4095__Brcdotc.dat │ │ ├── c_rand_N4095__Brcdotu.dat │ │ ├── c_rand_N4095__Brcsum.dat │ │ ├── c_rand_N4095__Brscasum.dat │ │ ├── c_rand_N4095__Brscnrm2.dat │ │ ├── c_rand_N4095__rcdotc.dat │ │ ├── c_rand_N4095__rcdotu.dat │ │ ├── c_rand_N4095__rcsum.dat │ │ ├── c_rand_N4095__rscasum.dat │ │ ├── c_rand_N4095__rscnrm2.dat │ │ ├── c_rand_cond_N4095.dat │ │ ├── c_rand_cond_N4095__Brcdotc.dat │ │ ├── c_rand_cond_N4095__Brcdotu.dat │ │ ├── c_rand_cond_N4095__Brcsum.dat │ │ ├── c_rand_cond_N4095__Brscasum.dat │ │ ├── c_rand_cond_N4095__Brscnrm2.dat │ │ ├── c_rand_cond_N4095__rcdotc.dat │ │ ├── c_rand_cond_N4095__rcdotu.dat │ │ ├── c_rand_cond_N4095__rcsum.dat │ │ ├── c_rand_cond_N4095__rscasum.dat │ │ ├── c_rand_cond_N4095__rscnrm2.dat │ │ ├── c_sine_N4095.dat │ │ ├── c_sine_N4095__Brcdotc.dat │ │ ├── c_sine_N4095__Brcdotu.dat │ │ ├── c_sine_N4095__Brcsum.dat │ │ ├── c_sine_N4095__Brscasum.dat │ │ ├── c_sine_N4095__Brscnrm2.dat │ │ ├── c_sine_N4095__rcdotc.dat │ │ ├── c_sine_N4095__rcdotu.dat │ │ ├── c_sine_N4095__rcsum.dat │ │ ├── c_sine_N4095__rscasum.dat │ │ ├── c_sine_N4095__rscnrm2.dat │ │ ├── c_small+grow_big_N4095.dat │ │ ├── c_small+grow_big_N4095__Brcdotc.dat │ │ ├── c_small+grow_big_N4095__Brcdotu.dat │ │ ├── c_small+grow_big_N4095__Brcsum.dat │ │ ├── c_small+grow_big_N4095__Brscasum.dat │ │ ├── c_small+grow_big_N4095__Brscnrm2.dat │ │ ├── c_small+grow_big_N4095__rcdotc.dat │ │ ├── c_small+grow_big_N4095__rcdotu.dat │ │ ├── c_small+grow_big_N4095__rcsum.dat │ │ ├── c_small+grow_big_N4095__rscasum.dat │ │ ├── c_small+grow_big_N4095__rscnrm2.dat │ │ ├── c_small+rand_big_N4095.dat │ │ ├── c_small+rand_big_N4095__Brcdotc.dat │ │ ├── c_small+rand_big_N4095__Brcdotu.dat │ │ ├── c_small+rand_big_N4095__Brcsum.dat │ │ ├── c_small+rand_big_N4095__Brscasum.dat │ │ ├── c_small+rand_big_N4095__Brscnrm2.dat │ │ ├── c_small+rand_big_N4095__rcdotc.dat │ │ ├── c_small+rand_big_N4095__rcdotu.dat │ │ ├── c_small+rand_big_N4095__rcsum.dat │ │ ├── c_small+rand_big_N4095__rscasum.dat │ │ ├── c_small+rand_big_N4095__rscnrm2.dat │ │ ├── d_2_rand-1_N4095.dat │ │ ├── d_2_rand-1_N4095__Brdasum.dat │ │ ├── d_2_rand-1_N4095__Brddot.dat │ │ ├── d_2_rand-1_N4095__Brdnrm2.dat │ │ ├── d_2_rand-1_N4095__Brdsum.dat │ │ ├── d_2_rand-1_N4095__rdasum.dat │ │ ├── d_2_rand-1_N4095__rddot.dat │ │ ├── d_2_rand-1_N4095__rdnrm2.dat │ │ ├── d_2_rand-1_N4095__rdsum.dat │ │ ├── d_normal_N4095.dat │ │ ├── d_normal_N4095__Brdasum.dat │ │ ├── d_normal_N4095__Brddot.dat │ │ ├── d_normal_N4095__Brdnrm2.dat │ │ ├── d_normal_N4095__Brdsum.dat │ │ ├── d_normal_N4095__rdasum.dat │ │ ├── d_normal_N4095__rddot.dat │ │ ├── d_normal_N4095__rdnrm2.dat │ │ ├── d_normal_N4095__rdsum.dat │ │ ├── d_rand+(rand-1)_N4095.dat │ │ ├── d_rand+(rand-1)_N4095__Brdasum.dat │ │ ├── d_rand+(rand-1)_N4095__Brddot.dat │ │ ├── d_rand+(rand-1)_N4095__Brdnrm2.dat │ │ ├── d_rand+(rand-1)_N4095__Brdsum.dat │ │ ├── d_rand+(rand-1)_N4095__rdasum.dat │ │ ├── d_rand+(rand-1)_N4095__rddot.dat │ │ ├── d_rand+(rand-1)_N4095__rdnrm2.dat │ │ ├── d_rand+(rand-1)_N4095__rdsum.dat │ │ ├── d_rand_N4095.dat │ │ ├── d_rand_N4095__Brdasum.dat │ │ ├── d_rand_N4095__Brddot.dat │ │ ├── d_rand_N4095__Brdnrm2.dat │ │ ├── d_rand_N4095__Brdsum.dat │ │ ├── d_rand_N4095__rdasum.dat │ │ ├── d_rand_N4095__rddot.dat │ │ ├── d_rand_N4095__rdnrm2.dat │ │ ├── d_rand_N4095__rdsum.dat │ │ ├── d_rand_cond_N4095.dat │ │ ├── d_rand_cond_N4095__Brdasum.dat │ │ ├── d_rand_cond_N4095__Brddot.dat │ │ ├── d_rand_cond_N4095__Brdnrm2.dat │ │ ├── d_rand_cond_N4095__Brdsum.dat │ │ ├── d_rand_cond_N4095__rdasum.dat │ │ ├── d_rand_cond_N4095__rddot.dat │ │ ├── d_rand_cond_N4095__rdnrm2.dat │ │ ├── d_rand_cond_N4095__rdsum.dat │ │ ├── d_sine_N4095.dat │ │ ├── d_sine_N4095__Brdasum.dat │ │ ├── d_sine_N4095__Brddot.dat │ │ ├── d_sine_N4095__Brdnrm2.dat │ │ ├── d_sine_N4095__Brdsum.dat │ │ ├── d_sine_N4095__rdasum.dat │ │ ├── d_sine_N4095__rddot.dat │ │ ├── d_sine_N4095__rdnrm2.dat │ │ ├── d_sine_N4095__rdsum.dat │ │ ├── d_small+grow_big_N4095.dat │ │ ├── d_small+grow_big_N4095__Brdasum.dat │ │ ├── d_small+grow_big_N4095__Brddot.dat │ │ ├── d_small+grow_big_N4095__Brdnrm2.dat │ │ ├── d_small+grow_big_N4095__Brdsum.dat │ │ ├── d_small+grow_big_N4095__rdasum.dat │ │ ├── d_small+grow_big_N4095__rddot.dat │ │ ├── d_small+grow_big_N4095__rdnrm2.dat │ │ ├── d_small+grow_big_N4095__rdsum.dat │ │ ├── d_small+rand_big_N4095.dat │ │ ├── d_small+rand_big_N4095__Brdasum.dat │ │ ├── d_small+rand_big_N4095__Brddot.dat │ │ ├── d_small+rand_big_N4095__Brdnrm2.dat │ │ ├── d_small+rand_big_N4095__Brdsum.dat │ │ ├── d_small+rand_big_N4095__rdasum.dat │ │ ├── d_small+rand_big_N4095__rddot.dat │ │ ├── d_small+rand_big_N4095__rdnrm2.dat │ │ ├── d_small+rand_big_N4095__rdsum.dat │ │ ├── s_2_rand-1_N4095.dat │ │ ├── s_2_rand-1_N4095__Brsasum.dat │ │ ├── s_2_rand-1_N4095__Brsdot.dat │ │ ├── s_2_rand-1_N4095__Brsnrm2.dat │ │ ├── s_2_rand-1_N4095__Brssum.dat │ │ ├── s_2_rand-1_N4095__rsasum.dat │ │ ├── s_2_rand-1_N4095__rsdot.dat │ │ ├── s_2_rand-1_N4095__rsnrm2.dat │ │ ├── s_2_rand-1_N4095__rssum.dat │ │ ├── s_normal_N4095.dat │ │ ├── s_normal_N4095__Brsasum.dat │ │ ├── s_normal_N4095__Brsdot.dat │ │ ├── s_normal_N4095__Brsnrm2.dat │ │ ├── s_normal_N4095__Brssum.dat │ │ ├── s_normal_N4095__rsasum.dat │ │ ├── s_normal_N4095__rsdot.dat │ │ ├── s_normal_N4095__rsnrm2.dat │ │ ├── s_normal_N4095__rssum.dat │ │ ├── s_rand+(rand-1)_N4095.dat │ │ ├── s_rand+(rand-1)_N4095__Brsasum.dat │ │ ├── s_rand+(rand-1)_N4095__Brsdot.dat │ │ ├── s_rand+(rand-1)_N4095__Brsnrm2.dat │ │ ├── s_rand+(rand-1)_N4095__Brssum.dat │ │ ├── s_rand+(rand-1)_N4095__rsasum.dat │ │ ├── s_rand+(rand-1)_N4095__rsdot.dat │ │ ├── s_rand+(rand-1)_N4095__rsnrm2.dat │ │ ├── s_rand+(rand-1)_N4095__rssum.dat │ │ ├── s_rand_N4095.dat │ │ ├── s_rand_N4095__Brsasum.dat │ │ ├── s_rand_N4095__Brsdot.dat │ │ ├── s_rand_N4095__Brsnrm2.dat │ │ ├── s_rand_N4095__Brssum.dat │ │ ├── s_rand_N4095__rsasum.dat │ │ ├── s_rand_N4095__rsdot.dat │ │ ├── s_rand_N4095__rsnrm2.dat │ │ ├── s_rand_N4095__rssum.dat │ │ ├── s_rand_cond_N4095.dat │ │ ├── s_rand_cond_N4095__Brsasum.dat │ │ ├── s_rand_cond_N4095__Brsdot.dat │ │ ├── s_rand_cond_N4095__Brsnrm2.dat │ │ ├── s_rand_cond_N4095__Brssum.dat │ │ ├── s_rand_cond_N4095__rsasum.dat │ │ ├── s_rand_cond_N4095__rsdot.dat │ │ ├── s_rand_cond_N4095__rsnrm2.dat │ │ ├── s_rand_cond_N4095__rssum.dat │ │ ├── s_sine_N4095.dat │ │ ├── s_sine_N4095__Brsasum.dat │ │ ├── s_sine_N4095__Brsdot.dat │ │ ├── s_sine_N4095__Brsnrm2.dat │ │ ├── s_sine_N4095__Brssum.dat │ │ ├── s_sine_N4095__rsasum.dat │ │ ├── s_sine_N4095__rsdot.dat │ │ ├── s_sine_N4095__rsnrm2.dat │ │ ├── s_sine_N4095__rssum.dat │ │ ├── s_small+grow_big_N4095.dat │ │ ├── s_small+grow_big_N4095__Brsasum.dat │ │ ├── s_small+grow_big_N4095__Brsdot.dat │ │ ├── s_small+grow_big_N4095__Brsnrm2.dat │ │ ├── s_small+grow_big_N4095__Brssum.dat │ │ ├── s_small+grow_big_N4095__rsasum.dat │ │ ├── s_small+grow_big_N4095__rsdot.dat │ │ ├── s_small+grow_big_N4095__rsnrm2.dat │ │ ├── s_small+grow_big_N4095__rssum.dat │ │ ├── s_small+rand_big_N4095.dat │ │ ├── s_small+rand_big_N4095__Brsasum.dat │ │ ├── s_small+rand_big_N4095__Brsdot.dat │ │ ├── s_small+rand_big_N4095__Brsnrm2.dat │ │ ├── s_small+rand_big_N4095__Brssum.dat │ │ ├── s_small+rand_big_N4095__rsasum.dat │ │ ├── s_small+rand_big_N4095__rsdot.dat │ │ ├── s_small+rand_big_N4095__rsnrm2.dat │ │ ├── s_small+rand_big_N4095__rssum.dat │ │ ├── z_2_rand-1_N4095.dat │ │ ├── z_2_rand-1_N4095__Brdzasum.dat │ │ ├── z_2_rand-1_N4095__Brdznrm2.dat │ │ ├── z_2_rand-1_N4095__Brzdotc.dat │ │ ├── z_2_rand-1_N4095__Brzdotu.dat │ │ ├── z_2_rand-1_N4095__Brzsum.dat │ │ ├── z_2_rand-1_N4095__rdzasum.dat │ │ ├── z_2_rand-1_N4095__rdznrm2.dat │ │ ├── z_2_rand-1_N4095__rzdotc.dat │ │ ├── z_2_rand-1_N4095__rzdotu.dat │ │ ├── z_2_rand-1_N4095__rzsum.dat │ │ ├── z_normal_N4095.dat │ │ ├── z_normal_N4095__Brdzasum.dat │ │ ├── z_normal_N4095__Brdznrm2.dat │ │ ├── z_normal_N4095__Brzdotc.dat │ │ ├── z_normal_N4095__Brzdotu.dat │ │ ├── z_normal_N4095__Brzsum.dat │ │ ├── z_normal_N4095__rdzasum.dat │ │ ├── z_normal_N4095__rdznrm2.dat │ │ ├── z_normal_N4095__rzdotc.dat │ │ ├── z_normal_N4095__rzdotu.dat │ │ ├── z_normal_N4095__rzsum.dat │ │ ├── z_rand+(rand-1)_N4095.dat │ │ ├── z_rand+(rand-1)_N4095__Brdzasum.dat │ │ ├── z_rand+(rand-1)_N4095__Brdznrm2.dat │ │ ├── z_rand+(rand-1)_N4095__Brzdotc.dat │ │ ├── z_rand+(rand-1)_N4095__Brzdotu.dat │ │ ├── z_rand+(rand-1)_N4095__Brzsum.dat │ │ ├── z_rand+(rand-1)_N4095__rdzasum.dat │ │ ├── z_rand+(rand-1)_N4095__rdznrm2.dat │ │ ├── z_rand+(rand-1)_N4095__rzdotc.dat │ │ ├── z_rand+(rand-1)_N4095__rzdotu.dat │ │ ├── z_rand+(rand-1)_N4095__rzsum.dat │ │ ├── z_rand_N4095.dat │ │ ├── z_rand_N4095__Brdzasum.dat │ │ ├── z_rand_N4095__Brdznrm2.dat │ │ ├── z_rand_N4095__Brzdotc.dat │ │ ├── z_rand_N4095__Brzdotu.dat │ │ ├── z_rand_N4095__Brzsum.dat │ │ ├── z_rand_N4095__rdzasum.dat │ │ ├── z_rand_N4095__rdznrm2.dat │ │ ├── z_rand_N4095__rzdotc.dat │ │ ├── z_rand_N4095__rzdotu.dat │ │ ├── z_rand_N4095__rzsum.dat │ │ ├── z_rand_cond_N4095.dat │ │ ├── z_rand_cond_N4095__Brdzasum.dat │ │ ├── z_rand_cond_N4095__Brdznrm2.dat │ │ ├── z_rand_cond_N4095__Brzdotc.dat │ │ ├── z_rand_cond_N4095__Brzdotu.dat │ │ ├── z_rand_cond_N4095__Brzsum.dat │ │ ├── z_rand_cond_N4095__rdzasum.dat │ │ ├── z_rand_cond_N4095__rdznrm2.dat │ │ ├── z_rand_cond_N4095__rzdotc.dat │ │ ├── z_rand_cond_N4095__rzdotu.dat │ │ ├── z_rand_cond_N4095__rzsum.dat │ │ ├── z_sine_N4095.dat │ │ ├── z_sine_N4095__Brdzasum.dat │ │ ├── z_sine_N4095__Brdznrm2.dat │ │ ├── z_sine_N4095__Brzdotc.dat │ │ ├── z_sine_N4095__Brzdotu.dat │ │ ├── z_sine_N4095__Brzsum.dat │ │ ├── z_sine_N4095__rdzasum.dat │ │ ├── z_sine_N4095__rdznrm2.dat │ │ ├── z_sine_N4095__rzdotc.dat │ │ ├── z_sine_N4095__rzdotu.dat │ │ ├── z_sine_N4095__rzsum.dat │ │ ├── z_small+grow_big_N4095.dat │ │ ├── z_small+grow_big_N4095__Brdzasum.dat │ │ ├── z_small+grow_big_N4095__Brdznrm2.dat │ │ ├── z_small+grow_big_N4095__Brzdotc.dat │ │ ├── z_small+grow_big_N4095__Brzdotu.dat │ │ ├── z_small+grow_big_N4095__Brzsum.dat │ │ ├── z_small+grow_big_N4095__rdzasum.dat │ │ ├── z_small+grow_big_N4095__rdznrm2.dat │ │ ├── z_small+grow_big_N4095__rzdotc.dat │ │ ├── z_small+grow_big_N4095__rzdotu.dat │ │ ├── z_small+grow_big_N4095__rzsum.dat │ │ ├── z_small+rand_big_N4095.dat │ │ ├── z_small+rand_big_N4095__Brdzasum.dat │ │ ├── z_small+rand_big_N4095__Brdznrm2.dat │ │ ├── z_small+rand_big_N4095__Brzdotc.dat │ │ ├── z_small+rand_big_N4095__Brzdotu.dat │ │ ├── z_small+rand_big_N4095__Brzsum.dat │ │ ├── z_small+rand_big_N4095__rdzasum.dat │ │ ├── z_small+rand_big_N4095__rdznrm2.dat │ │ ├── z_small+rand_big_N4095__rzdotc.dat │ │ ├── z_small+rand_big_N4095__rzdotu.dat │ │ └── z_small+rand_big_N4095__rzsum.dat │ ├── rcblas1_wrapper.h │ ├── rdblas1_wrapper.h │ ├── reference.py │ ├── reference.suite │ ├── rsblas1_wrapper.h │ ├── rzblas1_wrapper.h │ ├── validate_external_rcblas1.c │ ├── validate_external_rdblas1.c │ ├── validate_external_rsblas1.c │ ├── validate_external_rzblas1.c │ ├── validate_internal_camax.c │ ├── validate_internal_caugsum.c │ ├── validate_internal_damax.c │ ├── validate_internal_daugsum.c │ ├── validate_internal_digranularity.c │ ├── validate_internal_dindex.c │ ├── validate_internal_dmindex.c │ ├── validate_internal_dscale.c │ ├── validate_internal_samax.c │ ├── validate_internal_saugsum.c │ ├── validate_internal_sindex.c │ ├── validate_internal_smindex.c │ ├── validate_internal_sscale.c │ ├── validate_internal_ufp.c │ ├── validate_internal_ufpf.c │ ├── validate_internal_zamax.c │ ├── validate_internal_zaugsum.c │ ├── validate_xblas_cdot.c │ ├── validate_xblas_ddot.c │ ├── validate_xblas_sdot.c │ ├── validate_xblas_zdot.c │ ├── verify_caugsum.c │ ├── verify_daugsum.c │ ├── verify_dbdssq.c │ ├── verify_dbzssq.c │ ├── verify_rcblas1.c │ ├── verify_rdblas1.c │ ├── verify_rsblas1.c │ ├── verify_rzblas1.c │ ├── verify_saugsum.c │ ├── verify_sbcssq.c │ ├── verify_sbsssq.c │ ├── verify_zaugsum.c │ ├── wrap_caugsum.h │ ├── wrap_daugsum.h │ ├── wrap_rcgemm.h │ ├── wrap_rcgemv.h │ ├── wrap_rdgemm.h │ ├── wrap_rdgemv.h │ ├── wrap_rsgemm.h │ ├── wrap_rsgemv.h │ ├── wrap_rzgemm.h │ ├── wrap_rzgemv.h │ ├── wrap_saugsum.h │ └── wrap_zaugsum.h ├── common │ ├── Makefile │ ├── Rules.mk │ ├── test_BLAS.h │ ├── test_data.c │ ├── test_file.c │ ├── test_file.h │ ├── test_file_header.h │ ├── test_header.h │ ├── test_limits.h │ ├── test_mat.c │ ├── test_matmat_fill_header.h │ ├── test_matmat_header.h │ ├── test_matvec_fill_header.h │ ├── test_matvec_header.h │ ├── test_metric.c │ ├── test_metric.h │ ├── test_opt.c │ ├── test_opt.h │ ├── test_time.c │ ├── test_time.h │ ├── test_util.c │ ├── test_util.h │ ├── test_util_xblas_cdot_fill.c │ ├── test_util_xblas_ddot_fill.c │ ├── test_util_xblas_sdot_fill.c │ ├── test_util_xblas_zdot_fill.c │ ├── test_vecvec_fill_header.h │ └── test_vecvec_header.h └── harness │ ├── __init__.py │ └── harness.py └── tune ├── Makefile ├── ReproBLASOpenTuner.py └── Rules.mk /.gitignore: -------------------------------------------------------------------------------- 1 | build/* 2 | tests/common/test_data 3 | doc/* 4 | *.DS_Store 5 | *.pyc 6 | *.log 7 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | mk/Makefile -------------------------------------------------------------------------------- /Rules.mk: -------------------------------------------------------------------------------- 1 | TARGETS := 2 | SUBDIRS := src tests scripts include doc 3 | 4 | COGFLAGS += -D args=$(ARGS) -D params=$(TOP)/src/params.json -D mode=generate 5 | 6 | INCLUDES += $(TOP)/include $(TOP)/scripts 7 | 8 | INSTALL_BIN := $(TARGETS) 9 | INSTALL_DOC := README.md 10 | -------------------------------------------------------------------------------- /Rules.top: -------------------------------------------------------------------------------- 1 | Rules.mk -------------------------------------------------------------------------------- /config.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file config.h 3 | * @brief config.h is the configuration file for c code in ReproBLAS. 4 | * 5 | * Feel free to modify anything here, but be sure to read the comments describing functionality 6 | */ 7 | 8 | /** 9 | * @brief The fold of double precision binned types when fold is not specified. 10 | * 11 | * @author Willow Ahrens 12 | * @date 26 May 2015 13 | */ 14 | #define DIDEFAULTFOLD 3 15 | 16 | /** 17 | * @brief The fold of single precision binned types when fold is not specified. 18 | * 19 | * @author Willow Ahrens 20 | * @date 26 May 2015 21 | */ 22 | #define SIDEFAULTFOLD 3 23 | -------------------------------------------------------------------------------- /doc/EECS-2015-229.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/doc/EECS-2015-229.pdf -------------------------------------------------------------------------------- /doc/Makefile: -------------------------------------------------------------------------------- 1 | ../mk/Makefile -------------------------------------------------------------------------------- /doc/Rules.mk: -------------------------------------------------------------------------------- 1 | TARGETS := 2 | SUBDIRS := 3 | 4 | INSTALL_DOC += reference_website.zip reference_manual.pdf EECS-2015-229.pdf 5 | -------------------------------------------------------------------------------- /doc/reference_manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/doc/reference_manual.pdf -------------------------------------------------------------------------------- /doc/reference_website.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/doc/reference_website.zip -------------------------------------------------------------------------------- /include/Rules.mk: -------------------------------------------------------------------------------- 1 | TARGETS := 2 | SUBDIRS := 3 | 4 | INSTALL_INC += binned.h binnedBLAS.h binnedMPI.h reproBLAS.h 5 | -------------------------------------------------------------------------------- /mk/build-debug.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += -ggdb -W -Wall 2 | CXXFLAGS += -ggdb -W -Wall 3 | CPPFLAGS += -DDEBUG 4 | LDFLAGS += -ggdb 5 | -------------------------------------------------------------------------------- /mk/build-profile.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += -ggdb -pg $(OPTFLAGS) 2 | CXXFLAGS += -ggdb -pg $(OPTFLAGS) 3 | CPPFLAGS += -DPROFILE 4 | LDFLAGS += -ggdb -pg 5 | -------------------------------------------------------------------------------- /mk/build-release.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += $(OPTFLAGS) 2 | CXXFLAGS += $(OPTFLAGS) 3 | CPPFLAGS += -DRELEASE 4 | #LDFLAGS += 5 | -------------------------------------------------------------------------------- /mk/config-Cygwin-i686_Cygwin-i686.mk: -------------------------------------------------------------------------------- 1 | include $(MK)/config-default.mk 2 | 3 | CPPFLAGS += -DCYGWIN 4 | # There's no rt lib on Cygwin 5 | LDLIBS := $(subst -lrt,,$(LDLIBS)) 6 | 7 | # On cygwin shared libraries have dll extension 8 | SOEXT := dll 9 | # and by default executables have .exe appended 10 | EXE := .exe 11 | -------------------------------------------------------------------------------- /mk/config-Cygwin-i686_Linux-ppc.mk: -------------------------------------------------------------------------------- 1 | # How the "cross tools" should be invoked 2 | CC := powerpc-750-linux-gnu-gcc 3 | CXX := powerpc-750-linux-gnu-g++ 4 | AR := powerpc-750-linux-gnu-ar 5 | RANLIB := powerpc-750-linux-gnu-ranlib 6 | 7 | # Since we are compiling for a "remote target" we have to set this manually 8 | ENDIAN := big 9 | 10 | # Any other target specific settings 11 | CPPFLAGS += -DLINUX_PPC 12 | -------------------------------------------------------------------------------- /mk/config-Darwin-x86_64_Darwin-x86_64.mk: -------------------------------------------------------------------------------- 1 | # AR is a make default but won't hurt spelling it out :) 2 | AR := ar 3 | RANLIB := ranlib 4 | 5 | OPEN_GL_LIBS := -lGL -lGLU 6 | -------------------------------------------------------------------------------- /mk/config-MinGW-i686_MinGW-i686.mk: -------------------------------------------------------------------------------- 1 | include $(MK)/config-default.mk 2 | 3 | CPPFLAGS += -DMINGW 4 | 5 | # On mingw shared libraries have dll extension 6 | SOEXT := dll 7 | 8 | OPEN_GL_LIBS := -lopengl32 -lglu32 9 | -------------------------------------------------------------------------------- /mk/config-SunOS-sun4u_SunOS-sun4u.mk: -------------------------------------------------------------------------------- 1 | include $(MK)/config-default.mk 2 | 3 | # These two settings are the reason for a separate config 4 | CPPFLAGS += -DSPARC 5 | # On Sun the sockets are in a separate library 6 | #LDLIBS += -lsocket 7 | -------------------------------------------------------------------------------- /mk/config-default.mk: -------------------------------------------------------------------------------- 1 | # AR is a make default but won't hurt spelling it out :) 2 | AR := ar 3 | RANLIB := ranlib 4 | 5 | OPEN_GL_LIBS := -lGL -lGLU 6 | -------------------------------------------------------------------------------- /mk/header.mk: -------------------------------------------------------------------------------- 1 | # Clear vars used by this make system 2 | define HEADER 3 | SRCS := 4 | SRCS_EXCLUDES := 5 | OBJS := 6 | CLEAN := 7 | TARGETS := 8 | SUBDIRS := 9 | 10 | # Clear user vars 11 | $(foreach v,$(VERB_VARS) $(OBJ_VARS) $(DIR_VARS),$(eval $(v) := )) 12 | endef 13 | -------------------------------------------------------------------------------- /scripts/Makefile: -------------------------------------------------------------------------------- 1 | ../mk/Makefile -------------------------------------------------------------------------------- /scripts/Rules.mk: -------------------------------------------------------------------------------- 1 | TARGETS := getter$(EXE) 2 | SUBDIRS := 3 | 4 | GETTER := $(OBJPATH)/getter$(EXE) 5 | 6 | COGGED = getter.ccog 7 | 8 | getter$(EXE)_DEPS = getter.o 9 | -------------------------------------------------------------------------------- /scripts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/scripts/__init__.py -------------------------------------------------------------------------------- /scripts/cogapp/README.txt: -------------------------------------------------------------------------------- 1 | Cog code generation tool. 2 | 3 | See http://nedbatchelder.com/code/cog for details. 4 | 5 | To run the tests:: 6 | 7 | $ pip install tox 8 | $ tox 9 | 10 | (Sometimes tox fails on new installations. Run tox again, it will be fine.) 11 | -------------------------------------------------------------------------------- /scripts/cogapp/__init__.py: -------------------------------------------------------------------------------- 1 | """ Cog code generation tool. 2 | http://nedbatchelder.com/code/cog 3 | 4 | Copyright 2004-2015, Ned Batchelder. 5 | """ 6 | 7 | from __future__ import absolute_import 8 | 9 | from .cogapp import * 10 | -------------------------------------------------------------------------------- /scripts/cogapp/__main__.py: -------------------------------------------------------------------------------- 1 | """Make Cog runnable directly from the module.""" 2 | import sys 3 | from scripts.cogapp import Cog 4 | 5 | sys.exit(Cog().main(sys.argv)) 6 | -------------------------------------------------------------------------------- /scripts/cogapp/backward.py: -------------------------------------------------------------------------------- 1 | """Compatibility between Py2 and Py3.""" 2 | 3 | import sys 4 | 5 | PY3 = sys.version_info[0] == 3 6 | 7 | if PY3: 8 | string_types = (str,bytes) 9 | bytes_types = (bytes,) 10 | def b(s): 11 | return s.encode("latin-1") 12 | def to_bytes(s): 13 | return s.encode('utf8') 14 | else: 15 | string_types = (basestring,) 16 | bytes_types = (str,) 17 | def b(s): 18 | return s 19 | def to_bytes(s): 20 | return s 21 | 22 | # Pythons 2 and 3 differ on where to get StringIO 23 | try: 24 | from cStringIO import StringIO 25 | except ImportError: 26 | from io import StringIO 27 | -------------------------------------------------------------------------------- /scripts/cpuinfo/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/scripts/cpuinfo/__init__.py -------------------------------------------------------------------------------- /scripts/pseudocog.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cp $3 $2 3 | -------------------------------------------------------------------------------- /scripts/texttable/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/scripts/texttable/__init__.py -------------------------------------------------------------------------------- /src/Makefile: -------------------------------------------------------------------------------- 1 | ../mk/Makefile -------------------------------------------------------------------------------- /src/Rules.mk: -------------------------------------------------------------------------------- 1 | TARGETS := 2 | SUBDIRS := binned binnedBLAS reproBLAS binnedMPI 3 | 4 | INCLUDES += $(d)/gen 5 | -------------------------------------------------------------------------------- /src/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/src/__init__.py -------------------------------------------------------------------------------- /src/binned/Makefile: -------------------------------------------------------------------------------- 1 | ../../mk/Makefile -------------------------------------------------------------------------------- /src/binned/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/src/binned/__init__.py -------------------------------------------------------------------------------- /src/binned/cballoc.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief binned complex single precision allocation 5 | * 6 | * @param fold the fold of the binned type 7 | * @return a freshly allocated binned type. (free with @c free()) 8 | * 9 | * @author Willow Ahrens 10 | * @date 27 Apr 2015 11 | */ 12 | float_complex_binned *binned_cballoc(const int fold){ 13 | return (float_complex_binned*)malloc(binned_cbsize(fold)); 14 | } 15 | -------------------------------------------------------------------------------- /src/binned/cbcadd.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add complex single precision to binned complex single precision (Y += X) 5 | * 6 | * Performs the operation Y += X on an binned type Y 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_cbcadd(const int fold, const void *X, float_complex_binned *Y){ 17 | binned_cmcadd(fold, X, Y, 1, Y + 2 * fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/cbcbadd.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add binned complex single precision (Y += X) 5 | * 6 | * Performs the operation Y += X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_cbcbadd(const int fold, const float_complex_binned *X, float_complex_binned *Y){ 17 | binned_cmcmadd(fold, X, 1, X + 2 * fold, 1, Y, 1, Y + 2 * fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/cbcbaddv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add binned complex single precision vectors (Y += X) 5 | * 6 | * Performs the operation Y += X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X binned vector X 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y binned vector Y 13 | * @param incY Y vector stride (use every incY'th element) 14 | * 15 | * @author Willow Ahrens 16 | * @date 25 Jun 2015 17 | */ 18 | void binned_cbcbaddv(const int fold, const int N, const float_complex_binned *X, const int incX, float_complex_binned *Y, const int incY){ 19 | int i; 20 | for(i = 0; i < N; i++, X += incX * binned_cbnum(fold), Y += incY * binned_cbnum(fold)){ 21 | binned_cmcmadd(fold, X, 1, X + 2 * fold, 1, Y, 1, Y + 2 * fold, 1); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/binned/cbcbset.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | /** 6 | * @brief Set binned complex single precision (Y = X) 7 | * 8 | * Performs the operation Y = X 9 | * 10 | * @param fold the fold of the binned types 11 | * @param X binned scalar X 12 | * @param Y binned scalar Y 13 | * 14 | * @author Hong Diep Nguyen 15 | * @author Willow Ahrens 16 | * @date 27 Apr 2015 17 | */ 18 | void binned_cbcbset(const int fold, const float_complex_binned *X, float_complex_binned *Y){ 19 | memcpy(Y, X, binned_cbsize(fold)); 20 | } 21 | -------------------------------------------------------------------------------- /src/binned/cbcconv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Convert complex single precision to binned complex single precision (X -> Y) 5 | * 6 | * @param fold the fold of the binned types 7 | * @param X scalar X 8 | * @param Y binned scalar Y 9 | * 10 | * @author Hong Diep Nguyen 11 | * @author Willow Ahrens 12 | * @date 27 Apr 2015 13 | */ 14 | void binned_cbcconv(const int fold, const void *X, float_complex_binned *Y) { 15 | binned_cmcconv(fold, X, Y, 1, Y + 2 * fold, 1); 16 | } 17 | -------------------------------------------------------------------------------- /src/binned/cbcupdate.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Update binned complex single precision with complex single precision (X -> Y) 5 | * 6 | * This method updates Y to an index suitable for adding numbers with absolute value of real and imaginary components less than absolute value of real and imaginary components of X respectively. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_cbcupdate(const int fold, const void *X, float_complex_binned *Y) { 17 | binned_cmcupdate(fold, X, Y, 1, Y + 2 * fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/cbnegate.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Negate binned complex single precision (X = -X) 5 | * 6 | * Performs the operation X = -X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * 11 | * @author Hong Diep Nguyen 12 | * @author Willow Ahrens 13 | * @date 27 Apr 2015 14 | */ 15 | void binned_cbnegate(const int fold, float_complex_binned* X){ 16 | binned_cmnegate(fold, X, 1, X + 2 * fold, 1); 17 | } 18 | -------------------------------------------------------------------------------- /src/binned/cbnum.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief binned complex single precision size 5 | * 6 | * @param fold the fold of the binned type 7 | * @return the size (in @c float) of the binned type 8 | * 9 | * @author Willow Ahrens 10 | * @date 27 Apr 2015 11 | */ 12 | int binned_cbnum(const int fold){ 13 | return 4*fold; 14 | } 15 | -------------------------------------------------------------------------------- /src/binned/cbprint.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Print binned complex single precision 5 | * 6 | * @param fold the fold of the binned types 7 | * @param X binned scalar X 8 | * 9 | * @author Hong Diep Nguyen 10 | * @author Willow Ahrens 11 | * @date 27 Apr 2015 12 | */ 13 | void binned_cbprint(const int fold, const float_complex_binned *X) { 14 | binned_cmprint(fold, X, 2, X + fold * 2, 2); 15 | } 16 | -------------------------------------------------------------------------------- /src/binned/cbrenorm.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Renormalize binned complex single precision 5 | * 6 | * Renormalization keeps the primary vector within the necessary bins by shifting over to the carry vector 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * 11 | * @author Hong Diep Nguyen 12 | * @author Willow Ahrens 13 | * @date 27 Apr 2015 14 | */ 15 | void binned_cbrenorm(const int fold, float_complex_binned *X) { 16 | binned_cmrenorm(fold, X, 1, X + 2 * fold, 1); 17 | } 18 | -------------------------------------------------------------------------------- /src/binned/cbsbset.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Set binned complex single precision to binned single precision (Y = X) 5 | * 6 | * Performs the operation Y = X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_cbsbset(const int fold, const float_binned *X, float_complex_binned *Y){ 17 | binned_cmsmset(fold, X, 1, X + fold, 1, Y, 1, Y + 2 * fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/cbsetzero.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | /** 6 | * @brief Set binned single precision to 0 (X = 0) 7 | * 8 | * Performs the operation X = 0 9 | * 10 | * @param fold the fold of the binned types 11 | * @param X binned scalar X 12 | * 13 | * @author Hong Diep Nguyen 14 | * @author Willow Ahrens 15 | * @date 27 Apr 2015 16 | */ 17 | void binned_cbsetzero(const int fold, float_complex_binned *X){ 18 | memset(X, 0, binned_cbsize(fold)); 19 | } 20 | -------------------------------------------------------------------------------- /src/binned/cbsize.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief binned complex single precision size 5 | * 6 | * @param fold the fold of the binned type 7 | * @return the size (in bytes) of the binned type 8 | * 9 | * @author Hong Diep Nguyen 10 | * @author Willow Ahrens 11 | * @date 27 Apr 2015 12 | */ 13 | size_t binned_cbsize(const int fold){ 14 | return 4*fold*sizeof(float); 15 | } 16 | -------------------------------------------------------------------------------- /src/binned/cbsupdate.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Update binned complex single precision with single precision (X -> Y) 5 | * 6 | * This method updates Y to an index suitable for adding numbers with absolute value less than X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_cbsupdate(const int fold, const float X, float_complex_binned *Y) { 17 | binned_cmsupdate(fold, X, Y, 1, Y + 2 * fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/ccbconv_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Convert binned complex single precision to complex single precision (X -> Y) 5 | * 6 | * @param fold the fold of the binned types 7 | * @param X binned scalar X 8 | * @param conv scalar return 9 | * 10 | * @author Hong Diep Nguyen 11 | * @author Willow Ahrens 12 | * @date 27 Apr 2015 13 | */ 14 | void binned_ccbconv_sub(const int fold, const float_complex_binned *X, void *conv) { 15 | binned_ccmconv_sub(fold, X, 1, X + 2 * fold, 1, conv); 16 | } 17 | -------------------------------------------------------------------------------- /src/binned/ccmconv_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Convert manually specified binned complex single precision to complex single precision (X -> Y) 6 | * 7 | * @param fold the fold of the binned types 8 | * @param priX X's primary vector 9 | * @param incpriX stride within X's primary vector (use every incpriX'th element) 10 | * @param carX X's carry vector 11 | * @param inccarX stride within X's carry vector (use every inccarX'th element) 12 | * @param conv scalar return 13 | * 14 | * @author Hong Diep Nguyen 15 | * @author Willow Ahrens 16 | * @date 27 Apr 2015 17 | */ 18 | void binned_ccmconv_sub(const int fold, const float *priX, const int incpriX, const float *carX, const int inccarX, void *conv) { 19 | ((float*)conv)[0] = binned_ssmconv(fold, priX, incpriX * 2, carX, inccarX + 1); 20 | ((float*)conv)[1] = binned_ssmconv(fold, priX + 1, incpriX * 2, carX + 1, inccarX + 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binned/cmcconv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Convert complex single precision to manually specified binned complex single precision (X -> Y) 6 | * 7 | * @param fold the fold of the binned types 8 | * @param X scalar X 9 | * @param priY Y's primary vector 10 | * @param incpriY stride within Y's primary vector (use every incpriY'th element) 11 | * @param carY Y's carry vector 12 | * @param inccarY stride within Y's carry vector (use every inccarY'th element) 13 | * 14 | * @author Hong Diep Nguyen 15 | * @author Willow Ahrens 16 | * @date 27 Apr 2015 17 | */ 18 | void binned_cmcconv(const int fold, const void *X, float *priY, const int incpriY, float *carY, const int inccarY) { 19 | binned_smsconv(fold, ((float*)X)[0], priY, incpriY * 2, carY, inccarY * 2); 20 | binned_smsconv(fold, ((float*)X)[1], priY + 1, incpriY * 2, carY + 1, inccarY * 2); 21 | } 22 | -------------------------------------------------------------------------------- /src/binned/cmdenorm.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | #include "../common/common.h" 6 | 7 | /** 8 | * @internal 9 | * @brief Check if binned type has denormal bits 10 | * 11 | * A quick check to determine if calculations involving X cannot be performed with "denormals are zero" 12 | * 13 | * @param fold the fold of the binned type 14 | * @param priX X's primary vector 15 | * @return >0 if x has denormal bits, 0 otherwise. 16 | * 17 | * @author Willow Ahrens 18 | * @date 23 Jun 2015 19 | */ 20 | int binned_cmdenorm(const int fold, const float *priX){ 21 | return binned_smdenorm(fold, priX) || binned_smdenorm(fold, priX + 1); 22 | } 23 | -------------------------------------------------------------------------------- /src/binned/cmnegate.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Negate manually specified binned complex single precision (X = -X) 6 | * 7 | * Performs the operation X = -X 8 | * 9 | * @param fold the fold of the binned types 10 | * @param priX X's primary vector 11 | * @param incpriX stride within X's primary vector (use every incpriX'th element) 12 | * @param carX X's carry vector 13 | * @param inccarX stride within X's carry vector (use every inccarX'th element) 14 | * 15 | * @author Hong Diep Nguyen 16 | * @author Willow Ahrens 17 | * @date 27 Apr 2015 18 | */ 19 | void binned_cmnegate(const int fold, float* priX, const int incpriX, float* carX, const int inccarX) { 20 | binned_smnegate(fold, priX, 2 * incpriX, carX, 2 * inccarX); 21 | binned_smnegate(fold, priX + 1, 2 * incpriX, carX + 1, 2 * inccarX); 22 | } 23 | -------------------------------------------------------------------------------- /src/binned/cmrenorm.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Renormalize manually specified binned complex single precision 6 | * 7 | * Renormalization keeps the primary vector within the necessary bins by shifting over to the carry vector 8 | * 9 | * @param fold the fold of the binned types 10 | * @param priX X's primary vector 11 | * @param incpriX stride within X's primary vector (use every incpriX'th element) 12 | * @param carX X's carry vector 13 | * @param inccarX stride within X's carry vector (use every inccarX'th element) 14 | * 15 | * @author Hong Diep Nguyen 16 | * @author Willow Ahrens 17 | * @date 27 Apr 2015 18 | */ 19 | void binned_cmrenorm(const int fold, float* priX, const int incpriX, float* carX, const int inccarX) { 20 | binned_smrenorm(fold, priX, 2 * incpriX, carX, 2 * inccarX); 21 | binned_smrenorm(fold, priX + 1, 2 * incpriX, carX + 1, 2 * inccarX); 22 | } 23 | -------------------------------------------------------------------------------- /src/binned/cmsetzero.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Set manually specified binned complex single precision to 0 (X = 0) 6 | * 7 | * Performs the operation X = 0 8 | * 9 | * @param fold the fold of the binned types 10 | * @param priX X's primary vector 11 | * @param incpriX stride within X's primary vector (use every incpriX'th element) 12 | * @param carX X's carry vector 13 | * @param inccarX stride within X's carry vector (use every inccarX'th element) 14 | * 15 | * @author Hong Diep Nguyen 16 | * @author Willow Ahrens 17 | * @date 27 Apr 2015 18 | */ 19 | void binned_cmsetzero(const int fold, float *priX, const int incpriX, float *carX, const int inccarX){ 20 | binned_smsetzero(fold, priX, 2 * incpriX, carX, 2 * inccarX); 21 | binned_smsetzero(fold, priX + 1, 2 * incpriX, carX + 1, 2 * inccarX); 22 | } 23 | -------------------------------------------------------------------------------- /src/binned/dballoc.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief binned double precision allocation 5 | * 6 | * @param fold the fold of the binned type 7 | * @return a freshly allocated binned type. (free with @c free()) 8 | * 9 | * @author Willow Ahrens 10 | * @date 27 Apr 2015 11 | */ 12 | double_binned *binned_dballoc(const int fold){ 13 | return (double_binned*)malloc(binned_dbsize(fold)); 14 | } 15 | -------------------------------------------------------------------------------- /src/binned/dbbound.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | #include "../common/common.h" 6 | 7 | /** 8 | * @brief Get binned double precision summation error bound 9 | * 10 | * This is a bound on the absolute error of a summation using binned types 11 | * 12 | * @param fold the fold of the binned types 13 | * @param N the number of double precision floating point summands 14 | * @param X the summand of maximum absolute value 15 | * @param S the value of the sum computed using binned types 16 | * @return error bound 17 | * 18 | * @author Willow Ahrens 19 | * @date 31 Jul 2015 20 | */ 21 | double binned_dbbound(const int fold, const int N, const double X, const double S) { 22 | return MAX(fabs(X), ldexp(0.5, DBL_MIN_EXP - 1)) * ldexp(0.5, (1 - fold) * DBWIDTH + 1) * N + ((7.0 * DBL_EPSILON) / (1.0 - 6.0 * sqrt(DBL_EPSILON) - 7.0 * DBL_EPSILON)) * fabs(S); 23 | } 24 | -------------------------------------------------------------------------------- /src/binned/dbdadd.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add double precision to binned double precision (Y += X) 5 | * 6 | * Performs the operation Y += X on an binned type Y 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_dbdadd(const int fold, const double X, double_binned *Y){ 17 | binned_dmdadd(fold, X, Y, 1, Y + fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/dbdbadd.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add binned double precision (Y += X) 5 | * 6 | * Performs the operation Y += X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_dbdbadd(const int fold, const double_binned *X, double_binned *Y){ 17 | binned_dmdmadd(fold, X, 1, X + fold, 1, Y, 1, Y + fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/dbdbaddsq.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add binned double precision scaled sums of squares (Y += X) 5 | * 6 | * Performs the operation Y += X, where X and Y represent scaled sums of squares. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param scaleX scale of X (scaleX == #binned_dscale (Z) for some @c double Z) 10 | * @param X binned scalar X 11 | * @param scaleY scale of Y (scaleY == #binned_dscale (Z) for some @c double Z) 12 | * @param Y binned scalar Y 13 | * 14 | * @return updated scale of Y 15 | * 16 | * @author Willow Ahrens 17 | * @date 2 Dec 2015 18 | */ 19 | double binned_dbdbaddsq(const int fold, const double scaleX, const double_binned *X, const double scaleY, double_binned *Y) { 20 | return binned_dmdmaddsq(fold, scaleX, X, 1, X + fold, 1, scaleY, Y, 1, Y + fold, 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binned/dbdbaddv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add binned double precision vectors (Y += X) 5 | * 6 | * Performs the operation Y += X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X binned vector X 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y binned vector Y 13 | * @param incY Y vector stride (use every incY'th element) 14 | * 15 | * @author Willow Ahrens 16 | * @date 25 Jun 2015 17 | */ 18 | void binned_dbdbaddv(const int fold, const int N, const double_binned *X, const int incX, double_binned *Y, const int incY){ 19 | int i; 20 | for(i = 0; i < N; i++, X += incX * binned_dbnum(fold), Y += incY * binned_dbnum(fold)){ 21 | binned_dmdmadd(fold, X, 1, X + fold, 1, Y, 1, Y + fold, 1); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/binned/dbdbset.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | /** 6 | * @brief Set binned double precision (Y = X) 7 | * 8 | * Performs the operation Y = X 9 | * 10 | * @param fold the fold of the binned types 11 | * @param X binned scalar X 12 | * @param Y binned scalar Y 13 | * 14 | * @author Hong Diep Nguyen 15 | * @author Willow Ahrens 16 | * @date 27 Apr 2015 17 | */ 18 | void binned_dbdbset(const int fold, const double_binned *X, double_binned *Y){ 19 | memcpy(Y, X, binned_dbsize(fold)); 20 | } 21 | -------------------------------------------------------------------------------- /src/binned/dbdconv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Convert double precision to binned double precision (X -> Y) 5 | * 6 | * @param fold the fold of the binned types 7 | * @param X scalar X 8 | * @param Y binned scalar Y 9 | * 10 | * @author Hong Diep Nguyen 11 | * @author Willow Ahrens 12 | * @date 27 Apr 2015 13 | */ 14 | void binned_dbdconv(const int fold, const double X, double_binned *Y) { 15 | binned_dmdconv(fold, X, Y, 1, Y + fold, 1); 16 | } 17 | -------------------------------------------------------------------------------- /src/binned/dbdupdate.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Update binned double precision with double precision (X -> Y) 5 | * 6 | * This method updates Y to an index suitable for adding numbers with absolute value less than X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_dbdupdate(const int fold, const double X, double_binned *Y) { 17 | binned_dmdupdate(fold, X, Y, 1, Y + fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/dbnegate.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Negate binned double precision (X = -X) 5 | * 6 | * Performs the operation X = -X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * 11 | * @author Hong Diep Nguyen 12 | * @author Willow Ahrens 13 | * @date 27 Apr 2015 14 | */ 15 | void binned_dbnegate(const int fold, double_binned* X){ 16 | binned_dmnegate(fold, X, 1, X + fold, 1); 17 | } 18 | -------------------------------------------------------------------------------- /src/binned/dbnum.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief binned double precision size 5 | * 6 | * @param fold the fold of the binned type 7 | * @return the size (in @c double) of the binned type 8 | * 9 | * @author Willow Ahrens 10 | * @date 27 Apr 2015 11 | */ 12 | int binned_dbnum(const int fold){ 13 | return 2*fold; 14 | } 15 | -------------------------------------------------------------------------------- /src/binned/dbprint.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Print binned double precision 5 | * 6 | * @param fold the fold of the binned types 7 | * @param X binned scalar X 8 | * 9 | * @author Hong Diep Nguyen 10 | * @author Willow Ahrens 11 | * @date 27 Apr 2015 12 | */ 13 | void binned_dbprint(const int fold, const double_binned *X) { 14 | binned_dmprint(fold, X, 1, X + fold, 1); 15 | } 16 | -------------------------------------------------------------------------------- /src/binned/dbrenorm.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Renormalize binned double precision 5 | * 6 | * Renormalization keeps the primary vector within the necessary bins by shifting over to the carry vector 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * 11 | * @author Hong Diep Nguyen 12 | * @author Willow Ahrens 13 | * @date 27 Apr 2015 14 | */ 15 | void binned_dbrenorm(const int fold, double_binned *X) { 16 | binned_dmrenorm(fold, X, 1, X + fold, 1); 17 | } 18 | -------------------------------------------------------------------------------- /src/binned/dbsetzero.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | /** 6 | * @brief Set binned double precision to 0 (X = 0) 7 | * 8 | * Performs the operation X = 0 9 | * 10 | * @param fold the fold of the binned types 11 | * @param X binned scalar X 12 | * 13 | * @author Hong Diep Nguyen 14 | * @author Willow Ahrens 15 | * @date 27 Apr 2015 16 | */ 17 | void binned_dbsetzero(const int fold, double_binned *X){ 18 | memset(X, 0, binned_dbsize(fold)); 19 | } 20 | -------------------------------------------------------------------------------- /src/binned/dbsize.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief binned double precision size 5 | * 6 | * @param fold the fold of the binned type 7 | * @return the size (in bytes) of the binned type 8 | * 9 | * @author Hong Diep Nguyen 10 | * @author Willow Ahrens 11 | * @date 27 Apr 2015 12 | */ 13 | size_t binned_dbsize(const int fold){ 14 | return 2*fold*sizeof(double); 15 | } 16 | -------------------------------------------------------------------------------- /src/binned/ddbconv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Convert binned double precision to double precision (X -> Y) 5 | * 6 | * @param fold the fold of the binned types 7 | * @param X binned scalar X 8 | * @return scalar Y 9 | * 10 | * @author Hong Diep Nguyen 11 | * @author Willow Ahrens 12 | * @date 27 Apr 2015 13 | */ 14 | double binned_ddbconv(const int fold, const double_binned *X) { 15 | return binned_ddmconv(fold, X, 1, X + fold, 1); 16 | } 17 | -------------------------------------------------------------------------------- /src/binned/dmdadd.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Add double precision to manually specified binned double precision (Y += X) 6 | * 7 | * Performs the operation Y += X on an binned type Y 8 | * 9 | * @param fold the fold of the binned types 10 | * @param X scalar X 11 | * @param priY Y's primary vector 12 | * @param incpriY stride within Y's primary vector (use every incpriY'th element) 13 | * @param carY Y's carry vector 14 | * @param inccarY stride within Y's carry vector (use every inccarY'th element) 15 | * 16 | * @author Hong Diep Nguyen 17 | * @author Willow Ahrens 18 | * @date 27 Apr 2015 19 | */ 20 | void binned_dmdadd(const int fold, const double X, double *priY, const int incpriY, double *carY, const int inccarY){ 21 | binned_dmdupdate(fold, X, priY, incpriY, carY, inccarY); 22 | binned_dmddeposit(fold, X, priY, incpriY); 23 | binned_dmrenorm(fold, priY, incpriY, carY, inccarY); 24 | } 25 | -------------------------------------------------------------------------------- /src/binned/dmdconv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Convert double precision to manually specified binned double precision (X -> Y) 6 | * 7 | * @param fold the fold of the binned types 8 | * @param X scalar X 9 | * @param priY Y's primary vector 10 | * @param incpriY stride within Y's primary vector (use every incpriY'th element) 11 | * @param carY Y's carry vector 12 | * @param inccarY stride within Y's carry vector (use every inccarY'th element) 13 | * 14 | * @author Hong Diep Nguyen 15 | * @author Willow Ahrens 16 | * @date 30 Apr 2015 17 | */ 18 | void binned_dmdconv(const int fold, const double X, double* priY, const int incpriY, double* carY, const int inccarY) { 19 | binned_dmsetzero(fold, priY, incpriY, carY, inccarY); 20 | binned_dmdadd(fold, X, priY, incpriY, carY, inccarY); 21 | } 22 | -------------------------------------------------------------------------------- /src/binned/dmdenorm.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | #include "../common/common.h" 6 | 7 | /** 8 | * @internal 9 | * @brief Check if binned type has denormal bits 10 | * 11 | * A quick check to determine if calculations involving X cannot be performed with "denormals are zero" 12 | * 13 | * @param fold the fold of the binned type 14 | * @param priX X's primary vector 15 | * @return >0 if x has denormal bits, 0 otherwise. 16 | * 17 | * @author Willow Ahrens 18 | * @date 23 Jun 2015 19 | */ 20 | int binned_dmdenorm(const int fold, const double *priX){ 21 | return EXP(priX[0]) - DBWIDTH * fold < DBL_MIN_EXP + DBL_MANT_DIG + EXP_BIAS + DBWIDTH; 22 | } 23 | -------------------------------------------------------------------------------- /src/binned/dmindex0.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | #include "../common/common.h" 6 | 7 | /** 8 | * @internal 9 | * @brief Check if index of manually specified binned double precision is 0 10 | * 11 | * A quick check to determine if the index is 0 12 | * 13 | * @param priX X's primary vector 14 | * @return >0 if x has index 0, 0 otherwise. 15 | * 16 | * @author Willow Ahrens 17 | * @date 19 May 2015 18 | */ 19 | int binned_dmindex0(const double *priX){ 20 | /* 21 | //reference version 22 | int exp; 23 | 24 | frexp(priX[0], &exp); 25 | if(exp == DBL_MAX_EXP){ 26 | return 1; 27 | } 28 | return 0; 29 | */ 30 | return EXP(priX[0]) == DBL_MAX_EXP + EXP_BIAS; 31 | } 32 | -------------------------------------------------------------------------------- /src/binned/dmsetzero.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Set manually specified binned double precision to 0 (X = 0) 6 | * 7 | * Performs the operation X = 0 8 | * 9 | * @param fold the fold of the binned types 10 | * @param priX X's primary vector 11 | * @param incpriX stride within X's primary vector (use every incpriX'th element) 12 | * @param carX X's carry vector 13 | * @param inccarX stride within X's carry vector (use every inccarX'th element) 14 | * 15 | * @author Hong Diep Nguyen 16 | * @author Willow Ahrens 17 | * @date 27 Apr 2015 18 | */ 19 | void binned_dmsetzero(const int fold, double *priX, const int incpriX, double *carX, const int inccarX){ 20 | int i; 21 | for(i = 0; i < fold; i++){ 22 | priX[i * incpriX] = 0.0; 23 | carX[i * inccarX] = 0.0; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/binned/dscale.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | #include "../common/common.h" 6 | 7 | /** 8 | * @internal 9 | * @brief Get a reproducible double precision scale 10 | * 11 | * For any given X, return a reproducible scaling factor Y of the form 12 | * 13 | * 2^(#DBWIDTH * z) where z is an integer 14 | * 15 | * such that 16 | * 17 | * Y * 2^(-@c DBL_MANT_DIG - #DBWIDTH - 1) < X < Y * 2\^(#DBWIDTH + 2) 18 | * 19 | * @param X double precision number to be scaled 20 | * @return reproducible scaling factor 21 | * 22 | * @author Willow Ahrens 23 | * @date 19 Jun 2015 24 | */ 25 | double binned_dscale(const double X){ 26 | int e = EXP(X); 27 | e = e < DBWIDTH ? DBWIDTH : e; 28 | e -= (e - EXP_BIAS - 1) % DBWIDTH; 29 | e -= EXP_BIAS; 30 | return ldexp(0.5, e); 31 | } 32 | -------------------------------------------------------------------------------- /src/binned/sballoc.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief binned single precision allocation 5 | * 6 | * @param fold the fold of the binned type 7 | * @return a freshly allocated binned type. (free with @c free()) 8 | * 9 | * @author Willow Ahrens 10 | * @date 27 Apr 2015 11 | */ 12 | float_binned *binned_sballoc(const int fold){ 13 | return (float_binned*)malloc(binned_sbsbze(fold)); 14 | } 15 | -------------------------------------------------------------------------------- /src/binned/sbnegate.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Negate binned single precision (X = -X) 5 | * 6 | * Performs the operation X = -X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * 11 | * @author Hong Diep Nguyen 12 | * @author Willow Ahrens 13 | * @date 27 Apr 2015 14 | */ 15 | void binned_sbnegate(const int fold, float_binned* X){ 16 | binned_smnegate(fold, X, 1, X + fold, 1); 17 | } 18 | -------------------------------------------------------------------------------- /src/binned/sbnum.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief binned single precision size 5 | * 6 | * @param fold the fold of the binned type 7 | * @return the size (in @c float) of the binned type 8 | * 9 | * @author Willow Ahrens 10 | * @date 27 Apr 2015 11 | */ 12 | int binned_sbnum(const int fold){ 13 | return 2*fold; 14 | } 15 | -------------------------------------------------------------------------------- /src/binned/sbprint.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Print binned single precision 5 | * 6 | * @param fold the fold of the binned types 7 | * @param X binned scalar X 8 | * 9 | * @author Hong Diep Nguyen 10 | * @author Willow Ahrens 11 | * @date 27 Apr 2015 12 | */ 13 | void binned_sbprint(const int fold, const float_binned *X) { 14 | binned_smprint(fold, X, 1, X + fold, 1); 15 | } 16 | -------------------------------------------------------------------------------- /src/binned/sbrenorm.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Renormalize binned single precision 5 | * 6 | * Renormalization keeps the primary vector within the necessary bins by shifting over to the carry vector 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * 11 | * @author Hong Diep Nguyen 12 | * @author Willow Ahrens 13 | * @date 27 Apr 2015 14 | */ 15 | void binned_sbrenorm(const int fold, float_binned *X) { 16 | binned_smrenorm(fold, X, 1, X + fold, 1); 17 | } 18 | -------------------------------------------------------------------------------- /src/binned/sbsadd.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add single precision to binned single precision (Y += X) 5 | * 6 | * Performs the operation Y += X on an binned type Y 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_sbsadd(const int fold, const float X, float_binned *Y){ 17 | binned_smsadd(fold, X, Y, 1, Y + fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/sbsbadd.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add binned single precision (Y += X) 5 | * 6 | * Performs the operation Y += X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_sbsbadd(const int fold, const float_binned *X, float_binned *Y){ 17 | binned_smsmadd(fold, X, 1, X + fold, 1, Y, 1, Y + fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/sbsbaddsq.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add binned single precision scaled sums of squares (Y += X) 5 | * 6 | * Performs the operation Y += X, where X and Y represent scaled sums of squares. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param scaleX scale of X (scaleX == #binned_sscale (Z) for some @c float Z) 10 | * @param X binned scalar X 11 | * @param scaleY scale of Y (scaleY == #binned_sscale (Z) for some @c float Z) 12 | * @param Y binned scalar Y 13 | * 14 | * @return updated scale of Y 15 | * 16 | * @author Willow Ahrens 17 | * @date 2 Dec 2015 18 | */ 19 | float binned_sbsbaddsq(const int fold, const float scaleX, const float_binned *X, const float scaleY, float_binned *Y) { 20 | return binned_smsmaddsq(fold, scaleX, X, 1, X + fold, 1, scaleY, Y, 1, Y + fold, 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binned/sbsbaddv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add binned single precision vectors (Y += X) 5 | * 6 | * Performs the operation Y += X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X binned vector X 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y binned vector Y 13 | * @param incY Y vector stride (use every incY'th element) 14 | * 15 | * @author Willow Ahrens 16 | * @date 25 Jun 2015 17 | */ 18 | void binned_sbsbaddv(const int fold, const int N, const float_binned *X, const int incX, float_binned *Y, const int incY){ 19 | int i; 20 | for(i = 0; i < N; i++, X += incX * binned_sbnum(fold), Y += incY * binned_sbnum(fold)){ 21 | binned_smsmadd(fold, X, 1, X + fold, 1, Y, 1, Y + fold, 1); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/binned/sbsbset.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | /** 6 | * @brief Set binned single precision (Y = X) 7 | * 8 | * Performs the operation Y = X 9 | * 10 | * @param fold the fold of the binned types 11 | * @param X binned scalar X 12 | * @param Y binned scalar Y 13 | * 14 | * @author Hong Diep Nguyen 15 | * @author Willow Ahrens 16 | * @date 27 Apr 2015 17 | */ 18 | void binned_sbsbset(const int fold, const float_binned *X, float_binned *Y){ 19 | memcpy(Y, X, binned_sbsbze(fold)); 20 | } 21 | -------------------------------------------------------------------------------- /src/binned/sbsbze.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief binned single precision size 5 | * 6 | * @param fold the fold of the binned type 7 | * @return the size (in bytes) of the binned type 8 | * 9 | * @author Hong Diep Nguyen 10 | * @author Willow Ahrens 11 | * @date 27 Apr 2015 12 | */ 13 | size_t binned_sbsbze(const int fold){ 14 | return 2*fold*sizeof(float); 15 | } 16 | -------------------------------------------------------------------------------- /src/binned/sbsconv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Convert single precision to binned single precision (X -> Y) 5 | * 6 | * @param fold the fold of the binned types 7 | * @param X scalar X 8 | * @param Y binned scalar Y 9 | * 10 | * @author Hong Diep Nguyen 11 | * @author Willow Ahrens 12 | * @date 27 Apr 2015 13 | */ 14 | void binned_sbsconv(const int fold, const float X, float_binned *Y) { 15 | binned_smsconv(fold, X, Y, 1, Y + fold, 1); 16 | } 17 | -------------------------------------------------------------------------------- /src/binned/sbsetzero.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | /** 6 | * @brief Set binned single precision to 0 (X = 0) 7 | * 8 | * Performs the operation X = 0 9 | * 10 | * @param fold the fold of the binned types 11 | * @param X binned scalar X 12 | * 13 | * @author Hong Diep Nguyen 14 | * @author Willow Ahrens 15 | * @date 27 Apr 2015 16 | */ 17 | void binned_sbsetzero(const int fold, float_binned *X){ 18 | memset(X, 0, binned_sbsbze(fold)); 19 | } 20 | -------------------------------------------------------------------------------- /src/binned/sbsupdate.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Update binned single precision with single precision (X -> Y) 5 | * 6 | * This method updates Y to an index suitable for adding numbers with absolute value less than X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_sbsupdate(const int fold, const float X, float_binned *Y) { 17 | binned_smsupdate(fold, X, Y, 1, Y + fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/smdenorm.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | #include "../common/common.h" 6 | 7 | /** 8 | * @internal 9 | * @brief Check if binned type has denormal bits 10 | * 11 | * A quick check to determine if calculations involving X cannot be performed with "denormals are zero" 12 | * 13 | * @param fold the fold of the binned type 14 | * @param priX X's primary vector 15 | * @return >0 if x has denormal bits, 0 otherwise. 16 | * 17 | * @author Willow Ahrens 18 | * @date 23 Jun 2015 19 | */ 20 | int binned_smdenorm(const int fold, const float *priX){ 21 | return EXPF(priX[0]) - fold * SBWIDTH < FLT_MIN_EXP + FLT_MANT_DIG + EXPF_BIAS + SBWIDTH; 22 | } 23 | -------------------------------------------------------------------------------- /src/binned/smindex0.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | #include "../common/common.h" 6 | 7 | /** 8 | * @internal 9 | * @brief Check if index of manually specified binned single precision is 0 10 | * 11 | * A quick check to determine if the index is 0 12 | * 13 | * @param priX X's primary vector 14 | * @return >0 if x has index 0, 0 otherwise. 15 | * 16 | * @author Willow Ahrens 17 | * @date 19 May 2015 18 | */ 19 | int binned_smindex0(const float *priX){ 20 | /* 21 | //reference version 22 | int exp; 23 | 24 | frexpf(priX[0], &exp); 25 | if(exp == FLT_MAX_EXP){ 26 | return 1; 27 | } 28 | return 0; 29 | */ 30 | return EXPF(priX[0]) == FLT_MAX_EXP + EXPF_BIAS; 31 | } 32 | -------------------------------------------------------------------------------- /src/binned/smsadd.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Add single precision to manually specified binned single precision (Y += X) 6 | * 7 | * Performs the operation Y += X on an binned type Y 8 | * 9 | * @param fold the fold of the binned types 10 | * @param X scalar X 11 | * @param priY Y's primary vector 12 | * @param incpriY stride within Y's primary vector (use every incpriY'th element) 13 | * @param carY Y's carry vector 14 | * @param inccarY stride within Y's carry vector (use every inccarY'th element) 15 | * 16 | * @author Hong Diep Nguyen 17 | * @author Willow Ahrens 18 | * @date 27 Apr 2015 19 | */ 20 | void binned_smsadd(const int fold, const float X, float *priY, const int incpriY, float *carY, const int inccarY){ 21 | binned_smsupdate(fold, X, priY, incpriY, carY, inccarY); 22 | binned_smsdeposit(fold, X, priY, incpriY); 23 | binned_smrenorm(fold, priY, incpriY, carY, inccarY); 24 | } 25 | -------------------------------------------------------------------------------- /src/binned/smsconv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Convert single precision to manually specified binned single precision (X -> Y) 6 | * 7 | * @param fold the fold of the binned types 8 | * @param X scalar X 9 | * @param priY Y's primary vector 10 | * @param incpriY stride within Y's primary vector (use every incpriY'th element) 11 | * @param carY Y's carry vector 12 | * @param inccarY stride within Y's carry vector (use every inccarY'th element) 13 | * 14 | * @author Hong Diep Nguyen 15 | * @author Willow Ahrens 16 | * @date 30 Apr 2015 17 | */ 18 | void binned_smsconv(const int fold, const float X, float* priY, const int incpriY, float* carY, const int inccarY) { 19 | binned_smsetzero(fold, priY, incpriY, carY, inccarY); 20 | binned_smsadd(fold, X, priY, incpriY, carY, inccarY); 21 | } 22 | -------------------------------------------------------------------------------- /src/binned/smsetzero.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Set manually specified binned single precision to 0 (X = 0) 6 | * 7 | * Performs the operation X = 0 8 | * 9 | * @param fold the fold of the binned types 10 | * @param priX X's primary vector 11 | * @param incpriX stride within X's primary vector (use every incpriX'th element) 12 | * @param carX X's carry vector 13 | * @param inccarX stride within X's carry vector (use every inccarX'th element) 14 | * 15 | * @author Hong Diep Nguyen 16 | * @author Willow Ahrens 17 | * @date 27 Apr 2015 18 | */ 19 | void binned_smsetzero(const int fold, float *priX, const int incpriX, float *carX, const int inccarX){ 20 | int i; 21 | for(i = 0; i < fold; i++){ 22 | priX[i * incpriX] = 0.0; 23 | carX[i * inccarX] = 0.0; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/binned/ssbconv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Convert binned single precision to single precision (X -> Y) 5 | * 6 | * @param fold the fold of the binned types 7 | * @param X binned scalar X 8 | * @return scalar Y 9 | * 10 | * @author Hong Diep Nguyen 11 | * @author Willow Ahrens 12 | * @date 27 Apr 2015 13 | */ 14 | float binned_ssbconv(const int fold, const float_binned *X) { 15 | return binned_ssmconv(fold, X, 1, X + fold, 1); 16 | } 17 | -------------------------------------------------------------------------------- /src/binned/sscale.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | #include "../common/common.h" 6 | 7 | /** 8 | * @internal 9 | * @brief Get a reproducible single precision scale 10 | * 11 | * For any given X, return a reproducible scaling factor Y of the form 12 | * 13 | * 2^(#SBWIDTH * z) where z is an integer 14 | * 15 | * such that 16 | * 17 | * Y * 2^(-@c FLT_MANT_DIG - #SBWIDTH - 1) < X < Y * 2\^(#SBWIDTH + 2) 18 | * 19 | * @param X single precision number to be scaled 20 | * @return reproducible scaling factor 21 | * 22 | * @author Willow Ahrens 23 | * @date 19 Jun 2015 24 | */ 25 | float binned_sscale(const float X){ 26 | int e = EXPF(X); 27 | e = e < SBWIDTH ? SBWIDTH : e; 28 | e -= (e - EXPF_BIAS - 1) % SBWIDTH; 29 | e -= EXPF_BIAS; 30 | return ldexpf(0.5, e); 31 | } 32 | -------------------------------------------------------------------------------- /src/binned/ufp.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "binned.h" 4 | 5 | #include "../common/common.h" 6 | 7 | /** 8 | * @internal 9 | * @brief unit in the first place 10 | * 11 | * This method returns just the implicit 1 in the mantissa of a @c double 12 | * 13 | * @param X scalar X 14 | * @return unit in the first place 15 | * 16 | * @author Hong Diep Nguyen 17 | * @author Willow Ahrens 18 | * @date 27 Apr 2015 19 | */ 20 | double binned_ufp(double X) { 21 | /* 22 | int exp; 23 | if (X == 0.0) { 24 | return 0.0; 25 | } 26 | frexp(X, &exp); 27 | return ldexp(0.5, exp); 28 | */ 29 | return UFP(X); 30 | } 31 | -------------------------------------------------------------------------------- /src/binned/ufpf.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "binned.h" 4 | 5 | #include "../common/common.h" 6 | 7 | /** 8 | * @internal 9 | * @brief unit in the first place 10 | * 11 | * This method returns just the implicit 1 in the mantissa of a @c float 12 | * 13 | * @param X scalar X 14 | * @return unit in the first place 15 | * 16 | * @author Hong Diep Nguyen 17 | * @author Willow Ahrens 18 | * @date 27 Apr 2015 19 | */ 20 | float binned_ufpf(float X) { 21 | /* 22 | int exp; 23 | if (X == 0.0){ 24 | return 0.0; 25 | } 26 | frexpf(X, &exp); 27 | return ldexpf(0.5, exp); 28 | */ 29 | return UFPF(X); 30 | } 31 | -------------------------------------------------------------------------------- /src/binned/zballoc.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief binned complex double precision allocation 5 | * 6 | * @param fold the fold of the binned type 7 | * @return a freshly allocated binned type. (free with @c free()) 8 | * 9 | * @author Willow Ahrens 10 | * @date 27 Apr 2015 11 | */ 12 | double_complex_binned *binned_zballoc(const int fold){ 13 | return (double_complex_binned*)malloc(binned_zbsize(fold)); 14 | } 15 | -------------------------------------------------------------------------------- /src/binned/zbdbset.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Set binned complex double precision to binned double precision (Y = X) 5 | * 6 | * Performs the operation Y = X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_zbdbset(const int fold, const double_binned *X, double_complex_binned *Y){ 17 | binned_zmdmset(fold, X, 1, X + fold, 1, Y, 1, Y + 2 * fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/zbdupdate.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Update binned complex double precision with double precision (X -> Y) 5 | * 6 | * This method updates Y to an index suitable for adding numbers with absolute value less than X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_zbdupdate(const int fold, const double X, double_complex_binned *Y) { 17 | binned_zmdupdate(fold, X, Y, 1, Y + 2 * fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/zbnegate.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Negate binned complex double precision (X = -X) 5 | * 6 | * Performs the operation X = -X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * 11 | * @author Hong Diep Nguyen 12 | * @author Willow Ahrens 13 | * @date 27 Apr 2015 14 | */ 15 | void binned_zbnegate(const int fold, double_complex_binned* X){ 16 | binned_zmnegate(fold, X, 1, X + 2 * fold, 1); 17 | } 18 | -------------------------------------------------------------------------------- /src/binned/zbnum.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief binned complex double precision size 5 | * 6 | * @param fold the fold of the binned type 7 | * @return the size (in @c double) of the binned type 8 | * 9 | * @author Willow Ahrens 10 | * @date 27 Apr 2015 11 | */ 12 | int binned_zbnum(const int fold){ 13 | return 4*fold; 14 | } 15 | -------------------------------------------------------------------------------- /src/binned/zbprint.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Print binned complex double precision 5 | * 6 | * @param fold the fold of the binned types 7 | * @param X binned scalar X 8 | * 9 | * @author Hong Diep Nguyen 10 | * @author Willow Ahrens 11 | * @date 27 Apr 2015 12 | */ 13 | void binned_zbprint(const int fold, const double_complex_binned *X){ 14 | binned_zmprint(fold, X, 2, X + 2 * fold, 2); 15 | } 16 | -------------------------------------------------------------------------------- /src/binned/zbrenorm.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Renormalize binned complex double precision 5 | * 6 | * Renormalization keeps the primary vector within the necessary bins by shifting over to the carry vector 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * 11 | * @author Hong Diep Nguyen 12 | * @author Willow Ahrens 13 | * @date 27 Apr 2015 14 | */ 15 | void binned_zbrenorm(const int fold, double_complex_binned *X) { 16 | binned_zmrenorm(fold, X, 1, X + 2 * fold, 1); 17 | } 18 | -------------------------------------------------------------------------------- /src/binned/zbsetzero.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | /** 6 | * @brief Set binned double precision to 0 (X = 0) 7 | * 8 | * Performs the operation X = 0 9 | * 10 | * @param fold the fold of the binned types 11 | * @param X binned scalar X 12 | * 13 | * @author Hong Diep Nguyen 14 | * @author Willow Ahrens 15 | * @date 27 Apr 2015 16 | */ 17 | void binned_zbsetzero(const int fold, double_complex_binned *X){ 18 | memset(X, 0, binned_zbsize(fold)); 19 | } 20 | -------------------------------------------------------------------------------- /src/binned/zbsize.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief binned complex double precision size 5 | * 6 | * @param fold the fold of the binned type 7 | * @return the size (in bytes) of the binned type 8 | * 9 | * @author Hong Diep Nguyen 10 | * @author Willow Ahrens 11 | * @date 27 Apr 2015 12 | */ 13 | size_t binned_zbsize(const int fold){ 14 | return 4*fold*sizeof(double); 15 | } 16 | -------------------------------------------------------------------------------- /src/binned/zbzadd.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add complex double precision to binned complex double precision (Y += X) 5 | * 6 | * Performs the operation Y += X on an binned type Y 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_zbzadd(const int fold, const void *X, double_complex_binned *Y){ 17 | binned_zmzadd(fold, X, Y, 1, Y + 2 * fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/zbzbadd.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add binned complex double precision (Y += X) 5 | * 6 | * Performs the operation Y += X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X binned scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_zbzbadd(const int fold, const double_complex_binned *X, double_complex_binned *Y){ 17 | binned_zmzmadd(fold, X, 1, X + 2 * fold, 1, Y, 1, Y + 2 * fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/zbzbaddv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Add binned complex double precision vectors (Y += X) 5 | * 6 | * Performs the operation Y += X 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X binned vector X 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y binned vector Y 13 | * @param incY Y vector stride (use every incY'th element) 14 | * 15 | * @author Willow Ahrens 16 | * @date 25 Jun 2015 17 | */ 18 | void binned_zbzbaddv(const int fold, const int N, const double_complex_binned *X, const int incX, double_complex_binned *Y, const int incY){ 19 | int i; 20 | for(i = 0; i < N; i++, X += incX * binned_zbnum(fold), Y += incY * binned_zbnum(fold)){ 21 | binned_zmzmadd(fold, X, 1, X + 2 * fold, 1, Y, 1, Y + 2 * fold, 1); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/binned/zbzbset.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | /** 6 | * @brief Set binned complex double precision (Y = X) 7 | * 8 | * Performs the operation Y = X 9 | * 10 | * @param fold the fold of the binned types 11 | * @param X binned scalar X 12 | * @param Y binned scalar Y 13 | * 14 | * @author Hong Diep Nguyen 15 | * @author Willow Ahrens 16 | * @date 27 Apr 2015 17 | */ 18 | void binned_zbzbset(const int fold, const double_complex_binned *X, double_complex_binned *Y){ 19 | memcpy(Y, X, binned_zbsize(fold)); 20 | } 21 | -------------------------------------------------------------------------------- /src/binned/zbzconv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Convert complex double precision to binned complex double precision (X -> Y) 5 | * 6 | * @param fold the fold of the binned types 7 | * @param X scalar X 8 | * @param Y binned scalar Y 9 | * 10 | * @author Hong Diep Nguyen 11 | * @author Willow Ahrens 12 | * @date 27 Apr 2015 13 | */ 14 | void binned_zbzconv(const int fold, const void *X, double_complex_binned *Y) { 15 | binned_zmzconv(fold, X, Y, 1, Y + 2 * fold, 1); 16 | } 17 | -------------------------------------------------------------------------------- /src/binned/zbzupdate.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Update binned complex double precision with complex double precision (X -> Y) 5 | * 6 | * This method updates Y to an index suitable for adding numbers with absolute value of real and imaginary components less than absolute value of real and imaginary components of X respectively. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param X scalar X 10 | * @param Y binned scalar Y 11 | * 12 | * @author Hong Diep Nguyen 13 | * @author Willow Ahrens 14 | * @date 27 Apr 2015 15 | */ 16 | void binned_zbzupdate(const int fold, const void *X, double_complex_binned *Y) { 17 | binned_zmzupdate(fold, X, Y, 1, Y + 2 * fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binned/zmdenorm.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | #include "../common/common.h" 6 | 7 | /** 8 | * @internal 9 | * @brief Check if binned type has denormal bits 10 | * 11 | * A quick check to determine if calculations involving X cannot be performed with "denormals are zero" 12 | * 13 | * @param fold the fold of the binned type 14 | * @param priX X's primary vector 15 | * @return >0 if x has denormal bits, 0 otherwise. 16 | * 17 | * @author Willow Ahrens 18 | * @date 23 Jun 2015 19 | */ 20 | int binned_zmdenorm(const int fold, const double *priX){ 21 | return binned_dmdenorm(fold, priX) || binned_dmdenorm(fold, priX + 1); 22 | } 23 | -------------------------------------------------------------------------------- /src/binned/zmnegate.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Negate manually specified binned complex double precision (X = -X) 6 | * 7 | * Performs the operation X = -X 8 | * 9 | * @param fold the fold of the binned types 10 | * @param priX X's primary vector 11 | * @param incpriX stride within X's primary vector (use every incpriX'th element) 12 | * @param carX X's carry vector 13 | * @param inccarX stride within X's carry vector (use every inccarX'th element) 14 | * 15 | * @author Hong Diep Nguyen 16 | * @author Willow Ahrens 17 | * @date 27 Apr 2015 18 | */ 19 | void binned_zmnegate(const int fold, double* priX, const int incpriX, double* carX, const int inccarX) { 20 | binned_dmnegate(fold, priX, 2 * incpriX, carX, 2 * inccarX); 21 | binned_dmnegate(fold, priX + 1, 2 * incpriX, carX + 1, 2 * inccarX); 22 | } 23 | -------------------------------------------------------------------------------- /src/binned/zmrenorm.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Renormalize manually specified binned complex double precision 6 | * 7 | * Renormalization keeps the primary vector within the necessary bins by shifting over to the carry vector 8 | * 9 | * @param fold the fold of the binned types 10 | * @param priX X's primary vector 11 | * @param incpriX stride within X's primary vector (use every incpriX'th element) 12 | * @param carX X's carry vector 13 | * @param inccarX stride within X's carry vector (use every inccarX'th element) 14 | * 15 | * @author Hong Diep Nguyen 16 | * @author Willow Ahrens 17 | * @date 27 Apr 2015 18 | */ 19 | void binned_zmrenorm(const int fold, double* priX, const int incpriX, double* carX, const int inccarX) { 20 | binned_dmrenorm(fold, priX, 2 * incpriX, carX, 2 * inccarX); 21 | binned_dmrenorm(fold, priX + 1, 2 * incpriX, carX + 1, 2 * inccarX); 22 | } 23 | -------------------------------------------------------------------------------- /src/binned/zmsetzero.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Set manually specified binned complex double precision to 0 (X = 0) 6 | * 7 | * Performs the operation X = 0 8 | * 9 | * @param fold the fold of the binned types 10 | * @param priX X's primary vector 11 | * @param incpriX stride within X's primary vector (use every incpriX'th element) 12 | * @param carX X's carry vector 13 | * @param inccarX stride within X's carry vector (use every inccarX'th element) 14 | * 15 | * @author Hong Diep Nguyen 16 | * @author Willow Ahrens 17 | * @date 27 Apr 2015 18 | */ 19 | void binned_zmsetzero(const int fold, double *priX, const int incpriX, double *carX, const int inccarX){ 20 | binned_dmsetzero(fold, priX, 2 * incpriX, carX, 2 * inccarX); 21 | binned_dmsetzero(fold, priX + 1, 2 * incpriX, carX + 1, 2 * inccarX); 22 | } 23 | -------------------------------------------------------------------------------- /src/binned/zmzconv.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Convert complex double precision to manually specified binned complex double precision (X -> Y) 6 | * 7 | * @param fold the fold of the binned types 8 | * @param X scalar X 9 | * @param priY Y's primary vector 10 | * @param incpriY stride within Y's primary vector (use every incpriY'th element) 11 | * @param carY Y's carry vector 12 | * @param inccarY stride within Y's carry vector (use every inccarY'th element) 13 | * 14 | * @author Hong Diep Nguyen 15 | * @author Willow Ahrens 16 | * @date 27 Apr 2015 17 | */ 18 | void binned_zmzconv(const int fold, const void *X, double *priY, const int incpriY, double *carY, const int inccarY) { 19 | binned_dmdconv(fold, ((double*)X)[0], priY, incpriY * 2, carY, inccarY * 2); 20 | binned_dmdconv(fold, ((double*)X)[1], priY + 1, incpriY * 2, carY + 1, inccarY * 2); 21 | } 22 | -------------------------------------------------------------------------------- /src/binned/zzbconv_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @brief Convert binned complex double precision to complex double precision (X -> Y) 5 | * 6 | * @param fold the fold of the binned types 7 | * @param X binned scalar X 8 | * @param conv scalar return 9 | * 10 | * @author Hong Diep Nguyen 11 | * @author Willow Ahrens 12 | * @date 27 Apr 2015 13 | */ 14 | void binned_zzbconv_sub(const int fold, const double_complex_binned *X, void *conv) { 15 | binned_zzmconv_sub(fold, X, 1, X + 2 * fold, 1, conv); 16 | } 17 | -------------------------------------------------------------------------------- /src/binned/zzmconv_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /** 4 | * @internal 5 | * @brief Convert manually specified binned complex double precision to complex double precision (X -> Y) 6 | * 7 | * @param fold the fold of the binned types 8 | * @param priX X's primary vector 9 | * @param incpriX stride within X's primary vector (use every incpriX'th element) 10 | * @param carX X's carry vector 11 | * @param inccarX stride within X's carry vector (use every inccarX'th element) 12 | * @param conv scalar return 13 | * 14 | * @author Hong Diep Nguyen 15 | * @author Willow Ahrens 16 | * @date 27 Apr 2015 17 | */ 18 | void binned_zzmconv_sub(const int fold, const double *priX, const int incpriX, const double *carX, const int inccarX, void *conv) { 19 | ((double*)conv)[0] = binned_ddmconv(fold, priX, incpriX * 2, carX, inccarX + 1); 20 | ((double*)conv)[1] = binned_ddmconv(fold, priX + 1, incpriX * 2, carX + 1, inccarX + 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binnedBLAS/Makefile: -------------------------------------------------------------------------------- 1 | ../../mk/Makefile -------------------------------------------------------------------------------- /src/binnedBLAS/cbcdotc.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned complex single precision Z the conjugated dot product of complex single precision vectors X and Y 5 | * 6 | * Add to Z the binned sum of the pairwise products of X and conjugated Y. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X complex single precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y complex single precision vector 13 | * @param incY Y vector stride (use every incY'th element) 14 | * @param Z binned scalar Z 15 | * 16 | * @author Willow Ahrens 17 | * @date 15 Jan 2016 18 | */ 19 | void binnedBLAS_cbcdotc(const int fold, const int N, const void *X, const int incX, const void *Y, const int incY, float_complex_binned *Z){ 20 | binnedBLAS_cmcdotc(fold, N, X, incX, Y, incY, Z, 1, Z + 2 * fold, 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binnedBLAS/cbcdotu.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned complex single precision Z the unconjugated dot product of complex single precision vectors X and Y 5 | * 6 | * Add to Z the binned sum of the pairwise products of X and Y. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X complex single precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y complex single precision vector 13 | * @param incY Y vector stride (use every incY'th element) 14 | * @param Z binned scalar Z 15 | * 16 | * @author Willow Ahrens 17 | * @date 15 Jan 2016 18 | */ 19 | void binnedBLAS_cbcdotu(const int fold, const int N, const void *X, const int incX, const void *Y, const int incY, float_complex_binned *Z){ 20 | binnedBLAS_cmcdotu(fold, N, X, incX, Y, incY, Z, 1, Z + 2 * fold, 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binnedBLAS/cbcsum.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned complex single precision Y the sum of complex single precision vector X 5 | * 6 | * Add to Y the binned sum of X. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X complex single precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y binned scalar Y 13 | * 14 | * @author Willow Ahrens 15 | * @date 15 Jan 2016 16 | */ 17 | void binnedBLAS_cbcsum(const int fold, const int N, const void *X, const int incX, float_complex_binned *Y){ 18 | binnedBLAS_cmcsum(fold, N, X, incX, Y, 1, Y + 2 * fold, 1); 19 | } 20 | -------------------------------------------------------------------------------- /src/binnedBLAS/dbdasum.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned double precision Y the absolute sum of double precision vector X 5 | * 6 | * Add to Y the binned sum of absolute values of elements in X. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X double precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y binned scalar Y 13 | * @author Willow Ahrens 14 | * @date 15 Jan 2016 15 | */ 16 | void binnedBLAS_dbdasum(const int fold, const int N, const double *X, const int incX, double_binned *Y){ 17 | binnedBLAS_dmdasum(fold, N, X, incX, Y, 1, Y + fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binnedBLAS/dbddot.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned double precision Z the dot product of double precision vectors X and Y 5 | * 6 | * Add to Z the binned sum of the pairwise products of X and Y. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X double precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y double precision vector 13 | * @param incY Y vector stride (use every incY'th element) 14 | * @param Z binned scalar Z 15 | * 16 | * @author Willow Ahrens 17 | * @date 15 Jan 2016 18 | */ 19 | void binnedBLAS_dbddot(const int fold, const int N, const double *X, const int incX, const double *Y, const int incY, double_binned *Z){ 20 | binnedBLAS_dmddot(fold, N, X, incX, Y, incY, Z, 1, Z + fold, 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binnedBLAS/dbdssq.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to scaled binned double precision Y the scaled sum of squares of elements of double precision vector X 5 | * 6 | * Add to Y the scaled binned sum of the squares of each element of X. The scaling of each square is performed using #binned_dscale() 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X double precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param scaleY the scaling factor of Y 13 | * @param Y binned scalar Y 14 | * @return the new scaling factor of Y 15 | * 16 | * @author Willow Ahrens 17 | * @date 18 Jan 2016 18 | */ 19 | double binnedBLAS_dbdssq(const int fold, const int N, const double *X, const int incX, const double scaleY, double_binned *Y){ 20 | return binnedBLAS_dmdssq(fold, N, X, incX, scaleY, Y, 1, Y + fold, 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binnedBLAS/dbdsum.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned double precision Y the sum of double precision vector X 5 | * 6 | * Add to Y the binned sum of X. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X double precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y binned scalar Y 13 | * 14 | * @author Willow Ahrens 15 | * @date 15 Jan 2016 16 | */ 17 | void binnedBLAS_dbdsum(const int fold, const int N, const double *X, const int incX, double_binned *Y){ 18 | binnedBLAS_dmdsum(fold, N, X, incX, Y, 1, Y + fold, 1); 19 | } 20 | -------------------------------------------------------------------------------- /src/binnedBLAS/dbzasum.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned double precision Y the absolute sum of complex double precision vector X 5 | * 6 | * Add to Y the binned sum of magnitudes of elements of X. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X complex double precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y binned scalar Y 13 | * 14 | * @author Willow Ahrens 15 | * @date 15 Jan 2016 16 | */ 17 | void binnedBLAS_dbzasum(const int fold, const int N, const void *X, const int incX, double_binned *Y){ 18 | binnedBLAS_dmzasum(fold, N, X, incX, Y, 1, Y + fold, 1); 19 | } 20 | -------------------------------------------------------------------------------- /src/binnedBLAS/dbzssq.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to scaled binned double precision Y the scaled sum of squares of elements of complex double precision vector X 5 | * 6 | * Add to Y the scaled binned sum of the squares of each element of X. The scaling of each square is performed using #binned_dscale() 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X complex double precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param scaleY the scaling factor of Y 13 | * @param Y binned scalar Y 14 | * @return the new scaling factor of Y 15 | * 16 | * @author Willow Ahrens 17 | * @date 18 Jan 2016 18 | */ 19 | double binnedBLAS_dbzssq(const int fold, const int N, const void *X, const int incX, const double scaleY, double_binned *Y){ 20 | return binnedBLAS_dmzssq(fold, N, X, incX, scaleY, Y, 1, Y + fold, 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binnedBLAS/depositSum.py: -------------------------------------------------------------------------------- 1 | import sys, os 2 | sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), "gen")) 3 | import generate 4 | import dataTypes 5 | from src.binned import deposit 6 | 7 | class DepositSum(deposit.Deposit): 8 | def __init__(self, data_type_class, fold_name, N_name, X_name, incX_name, manY_name, incmanY_name): 9 | super(DepositSum, self).__init__(data_type_class, fold_name, N_name, X_name, incX_name, manY_name, incmanY_name) 10 | self.name = "{0}depositSum".format(self.data_type_class.name_char) 11 | self.metric_name = "r{0}sum".format(self.data_type_class.name_char) 12 | 13 | -------------------------------------------------------------------------------- /src/binnedBLAS/sbcasum.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned single precision Y the absolute sum of complex single precision vector X 5 | * 6 | * Add to Y the binned sum of magnitudes of elements of X. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X complex single precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y binned scalar Y 13 | * 14 | * @author Willow Ahrens 15 | * @date 15 Jan 2016 16 | */ 17 | void binnedBLAS_sbcasum(const int fold, const int N, const void *X, const int incX, float_binned *Y){ 18 | binnedBLAS_smcasum(fold, N, X, incX, Y, 1, Y + fold, 1); 19 | } 20 | -------------------------------------------------------------------------------- /src/binnedBLAS/sbcssq.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to scaled binned single precision Y the scaled sum of squares of elements of complex single precision vector X 5 | * 6 | * Add to Y the scaled binned sum of the squares of each element of X. The scaling of each square is performed using #binned_sscale() 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X complex single precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param scaleY the scaling factor of Y 13 | * @param Y binned scalar Y 14 | * @return the new scaling factor of Y 15 | * 16 | * @author Willow Ahrens 17 | * @date 18 Jan 2016 18 | */ 19 | float binnedBLAS_sbcssq(const int fold, const int N, const void *X, const int incX, const float scaleY, float_binned *Y){ 20 | return binnedBLAS_smcssq(fold, N, X, incX, scaleY, Y, 1, Y + fold, 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binnedBLAS/sbsasum.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned single precision Y the absolute sum of single precision vector X 5 | * 6 | * Add to Y the binned sum of absolute values of elements in X. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X single precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y binned scalar Y 13 | * @author Willow Ahrens 14 | * @date 15 Jan 2016 15 | */ 16 | void binnedBLAS_sbsasum(const int fold, const int N, const float *X, const int incX, float_binned *Y){ 17 | binnedBLAS_smsasum(fold, N, X, incX, Y, 1, Y + fold, 1); 18 | } 19 | -------------------------------------------------------------------------------- /src/binnedBLAS/sbsdot.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned single precision Z the dot product of single precision vectors X and Y 5 | * 6 | * Add to Z the binned sum of the pairwise products of X and Y. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X single precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y single precision vector 13 | * @param incY Y vector stride (use every incY'th element) 14 | * @param Z binned scalar Z 15 | * 16 | * @author Willow Ahrens 17 | * @date 15 Jan 2016 18 | */ 19 | void binnedBLAS_sbsdot(const int fold, const int N, const float *X, const int incX, const float *Y, const int incY, float_binned *Z){ 20 | binnedBLAS_smsdot(fold, N, X, incX, Y, incY, Z, 1, Z + fold, 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binnedBLAS/sbsssq.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to scaled binned single precision Y the scaled sum of squares of elements of single precision vector X 5 | * 6 | * Add to Y the scaled binned sum of the squares of each element of X. The scaling of each square is performed using #binned_sscale() 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X single precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param scaleY the scaling factor of Y 13 | * @param Y binned scalar Y 14 | * @return the new scaling factor of Y 15 | * 16 | * @author Willow Ahrens 17 | * @date 18 Jan 2016 18 | */ 19 | float binnedBLAS_sbsssq(const int fold, const int N, const float *X, const int incX, const float scaleY, float_binned *Y){ 20 | return binnedBLAS_smsssq(fold, N, X, incX, scaleY, Y, 1, Y + fold, 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binnedBLAS/sbssum.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned single precision Y the sum of single precision vector X 5 | * 6 | * Add to Y the binned sum of X. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X single precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y binned scalar Y 13 | * 14 | * @author Willow Ahrens 15 | * @date 15 Jan 2016 16 | */ 17 | void binnedBLAS_sbssum(const int fold, const int N, const float *X, const int incX, float_binned *Y){ 18 | binnedBLAS_smssum(fold, N, X, incX, Y, 1, Y + fold, 1); 19 | } 20 | -------------------------------------------------------------------------------- /src/binnedBLAS/zbzdotc.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned complex double precision Z the conjugated dot product of complex double precision vectors X and Y 5 | * 6 | * Add to Z the binned sum of the pairwise products of X and conjugated Y. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X complex double precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y complex double precision vector 13 | * @param incY Y vector stride (use every incY'th element) 14 | * @param Z scalar return Z 15 | * 16 | * @author Willow Ahrens 17 | * @date 15 Jan 2016 18 | */ 19 | void binnedBLAS_zbzdotc(const int fold, const int N, const void *X, const int incX, const void *Y, const int incY, double_complex_binned *Z){ 20 | binnedBLAS_zmzdotc(fold, N, X, incX, Y, incY, Z, 1, Z + 2 * fold, 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binnedBLAS/zbzdotu.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned complex double precision Z the unconjugated dot product of complex double precision vectors X and Y 5 | * 6 | * Add to Z the binned sum of the pairwise products of X and Y. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X complex double precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y complex double precision vector 13 | * @param incY Y vector stride (use every incY'th element) 14 | * @param Z binned scalar Z 15 | * 16 | * @author Willow Ahrens 17 | * @date 15 Jan 2016 18 | */ 19 | void binnedBLAS_zbzdotu(const int fold, const int N, const void *X, const int incX, const void *Y, const int incY, double_complex_binned *Z){ 20 | binnedBLAS_zmzdotu(fold, N, X, incX, Y, incY, Z, 1, Z + 2 * fold, 1); 21 | } 22 | -------------------------------------------------------------------------------- /src/binnedBLAS/zbzsum.c: -------------------------------------------------------------------------------- 1 | #include "binnedBLAS.h" 2 | 3 | /** 4 | * @brief Add to binned complex double precision Y the sum of complex double precision vector X 5 | * 6 | * Add to Y the binned sum of X. 7 | * 8 | * @param fold the fold of the binned types 9 | * @param N vector length 10 | * @param X complex double precision vector 11 | * @param incX X vector stride (use every incX'th element) 12 | * @param Y binned scalar Y 13 | * 14 | * @author Willow Ahrens 15 | * @date 15 Jan 2016 16 | */ 17 | void binnedBLAS_zbzsum(const int fold, const int N, const void *X, const int incX, double_complex_binned *Y){ 18 | binnedBLAS_zmzsum(fold, N, X, incX, Y, 1, Y + 2 * fold, 1); 19 | } 20 | -------------------------------------------------------------------------------- /src/binnedMPI/Makefile: -------------------------------------------------------------------------------- 1 | ../../mk/Makefile -------------------------------------------------------------------------------- /src/common/Makefile: -------------------------------------------------------------------------------- 1 | ../../mk/Makefile -------------------------------------------------------------------------------- /src/common/Rules.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/src/common/Rules.mk -------------------------------------------------------------------------------- /src/common/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/src/common/__init__.py -------------------------------------------------------------------------------- /src/gen/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/src/gen/__init__.py -------------------------------------------------------------------------------- /src/gen/default_args.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | from generate import * 3 | 4 | parser = argparse.ArgumentParser(description="Create a default args file from params file") 5 | parser.add_argument("-p", "--params", type=str, required=True, help="params file") 6 | parser.add_argument("-a", "--args", type=str, required=True, help="args file") 7 | args = parser.parse_args() 8 | 9 | parameter_space = deserialize_parameter_space(args.params) 10 | 11 | serialize_arguments(parameter_space.get_default_arguments(), args.args) 12 | -------------------------------------------------------------------------------- /src/reproBLAS/Makefile: -------------------------------------------------------------------------------- 1 | ../../mk/Makefile -------------------------------------------------------------------------------- /src/reproBLAS/cdotu_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible unconjugated dot product of complex single precision vectors X and Y 7 | * 8 | * Return the sum of the pairwise products of X and Y. 9 | * 10 | * The reproducible dot product is computed with binned types of default fold using #binnedBLAS_cbcdotu() 11 | * 12 | * @param N vector length 13 | * @param X complex single precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @param Y complex single precision vector 16 | * @param incY Y vector stride (use every incY'th element) 17 | * @param dotu scalar return 18 | * 19 | * @author Willow Ahrens 20 | * @date 15 Jan 2016 21 | */ 22 | void reproBLAS_cdotu_sub(const int N, const void* X, const int incX, const void *Y, const int incY, void *dotu) { 23 | reproBLAS_rcdotu_sub(SIDEFAULTFOLD, N, X, incX, Y, incY, dotu); 24 | } 25 | -------------------------------------------------------------------------------- /src/reproBLAS/csum_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible sum of complex single precision vector X 7 | * 8 | * Return the sum of X. 9 | * 10 | * The reproducible sum is computed with binned types of default fold using #binnedBLAS_cbcsum() 11 | * 12 | * @param N vector length 13 | * @param X single precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @param sum scalar return 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | void reproBLAS_csum_sub(const int N, const void* X, const int incX, void *sum) { 21 | reproBLAS_rcsum_sub(SIDEFAULTFOLD, N, X, incX, sum); 22 | } 23 | -------------------------------------------------------------------------------- /src/reproBLAS/dasum.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible absolute sum of double precision vector X 7 | * 8 | * Return the sum of absolute values of elements in X. 9 | * 10 | * The reproducible absolute sum is computed with binned types of default fold using #binnedBLAS_dbdasum() 11 | * 12 | * @param N vector length 13 | * @param X double precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @return absolute sum of X 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | double reproBLAS_dasum(const int N, const double* X, const int incX) { 21 | return reproBLAS_rdasum(DIDEFAULTFOLD, N, X, incX); 22 | } 23 | -------------------------------------------------------------------------------- /src/reproBLAS/ddot.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible dot product of double precision vectors X and Y 7 | * 8 | * Return the sum of the pairwise products of X and Y. 9 | * 10 | * The reproducible dot product is computed with binned types of default fold using #binnedBLAS_dbddot() 11 | * 12 | * @param N vector length 13 | * @param X double precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @param Y double precision vector 16 | * @param incY Y vector stride (use every incY'th element) 17 | * @return the dot product of X and Y 18 | * 19 | * @author Willow Ahrens 20 | * @date 15 Jan 2016 21 | */ 22 | double reproBLAS_ddot(const int N, const double* X, const int incX, const double *Y, const int incY) { 23 | return reproBLAS_rddot(DIDEFAULTFOLD, N, X, incX, Y, incY); 24 | } 25 | -------------------------------------------------------------------------------- /src/reproBLAS/dnrm2.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible Euclidian norm of double precision vector X 7 | * 8 | * Return the square root of the sum of the squared elements of X. 9 | * 10 | * The reproducible Euclidian norm is computed with scaled binned types of default fold using #binnedBLAS_dbdssq() 11 | * 12 | * @param N vector length 13 | * @param X double precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @return Euclidian norm of X 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | double reproBLAS_dnrm2(const int N, const double* X, const int incX) { 21 | return reproBLAS_rdnrm2(DIDEFAULTFOLD, N, X, incX); 22 | } 23 | -------------------------------------------------------------------------------- /src/reproBLAS/dsum.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible sum of double precision vector X 7 | * 8 | * Return the sum of X. 9 | * 10 | * The reproducible sum is computed with binned types of default fold using #binnedBLAS_dbdsum() 11 | * 12 | * @param N vector length 13 | * @param X double precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @return sum of X 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | double reproBLAS_dsum(const int N, const double* X, const int incX) { 21 | return reproBLAS_rdsum(DIDEFAULTFOLD, N, X, incX); 22 | } 23 | -------------------------------------------------------------------------------- /src/reproBLAS/dzasum.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible absolute sum of complex double precision vector X 7 | * 8 | * Return the sum of magnitudes of elements of X. 9 | * 10 | * The reproducible absolute sum is computed with binned types of default fold using #binnedBLAS_dbzasum() 11 | * 12 | * @param N vector length 13 | * @param X complex double precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @return absolute sum of X 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | double reproBLAS_dzasum(const int N, const void* X, const int incX) { 21 | return reproBLAS_rdzasum(DIDEFAULTFOLD, N, X, incX); 22 | } 23 | -------------------------------------------------------------------------------- /src/reproBLAS/dznrm2.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible Euclidian norm of complex double precision vector X 7 | * 8 | * Return the square root of the sum of the squared elements of X. 9 | * 10 | * The reproducible Euclidian norm is computed with scaled binned types of default fold using #binnedBLAS_dbzssq() 11 | * 12 | * @param N vector length 13 | * @param X complex double precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @return Euclidian norm of X 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | double reproBLAS_dznrm2(const int N, const void* X, const int incX) { 21 | return reproBLAS_rdznrm2(DIDEFAULTFOLD, N, X, incX); 22 | } 23 | -------------------------------------------------------------------------------- /src/reproBLAS/rcsum_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | /** 5 | * @brief Compute the reproducible sum of complex single precision vector X 6 | * 7 | * Return the sum of X. 8 | * 9 | * The reproducible sum is computed with binned types using #binnedBLAS_cbcsum() 10 | * 11 | * @param fold the fold of the binned types 12 | * @param N vector length 13 | * @param X single precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @param sum scalar return 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | void reproBLAS_rcsum_sub(const int fold, const int N, const void* X, const int incX, void *sum) { 21 | float_complex_binned *sumi = binned_cballoc(fold); 22 | 23 | binned_cbsetzero(fold, sumi); 24 | 25 | binnedBLAS_cbcsum(fold, N, X, incX, sumi); 26 | 27 | binned_ccbconv_sub(fold, sumi, sum); 28 | free(sumi); 29 | return; 30 | } 31 | -------------------------------------------------------------------------------- /src/reproBLAS/rdsum.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | /** 5 | * @brief Compute the reproducible sum of double precision vector X 6 | * 7 | * Return the sum of X. 8 | * 9 | * The reproducible sum is computed with binned types using #binnedBLAS_dbdsum() 10 | * 11 | * @param fold the fold of the binned types 12 | * @param N vector length 13 | * @param X double precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @return sum of X 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | double reproBLAS_rdsum(const int fold, const int N, const double* X, const int incX) { 21 | double_binned *sumi = binned_dballoc(fold); 22 | double sum; 23 | 24 | binned_dbsetzero(fold, sumi); 25 | 26 | binnedBLAS_dbdsum(fold, N, X, incX, sumi); 27 | 28 | sum = binned_ddbconv(fold, sumi); 29 | free(sumi); 30 | return sum; 31 | } 32 | -------------------------------------------------------------------------------- /src/reproBLAS/rssum.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | /** 5 | * @brief Compute the reproducible sum of single precision vector X 6 | * 7 | * Return the sum of X. 8 | * 9 | * The reproducible sum is computed with binned types using #binnedBLAS_sbssum() 10 | * 11 | * @param fold the fold of the binned types 12 | * @param N vector length 13 | * @param X single precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @return sum of X 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | float reproBLAS_rssum(const int fold, const int N, const float* X, const int incX) { 21 | float_binned *sumi = binned_sballoc(fold); 22 | float sum; 23 | 24 | binned_sbsetzero(fold, sumi); 25 | 26 | binnedBLAS_sbssum(fold, N, X, incX, sumi); 27 | 28 | sum = binned_ssbconv(fold, sumi); 29 | free(sumi); 30 | return sum; 31 | } 32 | -------------------------------------------------------------------------------- /src/reproBLAS/rzsum_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | /** 5 | * @brief Compute the reproducible sum of complex double precision vector X 6 | * 7 | * Return the sum of X. 8 | * 9 | * The reproducible sum is computed with binned types using #binnedBLAS_zbzsum() 10 | * 11 | * @param fold the fold of the binned types 12 | * @param N vector length 13 | * @param X complex double precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @param sum scalar return 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | void reproBLAS_rzsum_sub(const int fold, const int N, const void* X, const int incX, void *sum) { 21 | double_complex_binned *sumi = binned_zballoc(fold); 22 | 23 | binned_zbsetzero(fold, sumi); 24 | 25 | binnedBLAS_zbzsum(fold, N, X, incX, sumi); 26 | 27 | binned_zzbconv_sub(fold, sumi, sum); 28 | free(sumi); 29 | return; 30 | } 31 | -------------------------------------------------------------------------------- /src/reproBLAS/sasum.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible absolute sum of single precision vector X 7 | * 8 | * Return the sum of absolute values of elements in X. 9 | * 10 | * The reproducible absolute sum is computed with binned types of default fold using #binnedBLAS_sbsasum() 11 | * 12 | * @param N vector length 13 | * @param X single precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @return absolute sum of X 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | float reproBLAS_sasum(const int N, const float* X, const int incX) { 21 | return reproBLAS_rsasum(SIDEFAULTFOLD, N, X, incX); 22 | } 23 | -------------------------------------------------------------------------------- /src/reproBLAS/scasum.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible absolute sum of complex single precision vector X 7 | * 8 | * Return the sum of magnitudes of elements of X. 9 | * 10 | * The reproducible absolute sum is computed with binned types of default fold using #binnedBLAS_sbcasum() 11 | * 12 | * @param N vector length 13 | * @param X complex single precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @return absolute sum of X 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | float reproBLAS_scasum(const int N, const void* X, const int incX) { 21 | return reproBLAS_rscasum(SIDEFAULTFOLD, N, X, incX); 22 | } 23 | -------------------------------------------------------------------------------- /src/reproBLAS/scnrm2.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible Euclidian norm of complex single precision vector X 7 | * 8 | * Return the square root of the sum of the squared elements of X. 9 | * 10 | * The reproducible Euclidian norm is computed with scaled binned types of default fold using #binnedBLAS_sbcssq() 11 | * 12 | * @param N vector length 13 | * @param X complex single precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @return Euclidian norm of X 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | float reproBLAS_scnrm2(const int N, const void* X, const int incX) { 21 | return reproBLAS_rscnrm2(SIDEFAULTFOLD, N, X, incX); 22 | } 23 | -------------------------------------------------------------------------------- /src/reproBLAS/sdot.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible dot product of single precision vectors X and Y 7 | * 8 | * Return the sum of the pairwise products of X and Y. 9 | * 10 | * The reproducible dot product is computed with binned types of default fold using #binnedBLAS_sbsdot() 11 | * 12 | * @param N vector length 13 | * @param X single precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @param Y single precision vector 16 | * @param incY Y vector stride (use every incY'th element) 17 | * @return the dot product of X and Y 18 | * 19 | * @author Willow Ahrens 20 | * @date 15 Jan 2016 21 | */ 22 | float reproBLAS_sdot(const int N, const float* X, const int incX, const float *Y, const int incY) { 23 | return reproBLAS_rsdot(SIDEFAULTFOLD, N, X, incX, Y, incY); 24 | } 25 | -------------------------------------------------------------------------------- /src/reproBLAS/snrm2.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible Euclidian norm of single precision vector X 7 | * 8 | * Return the square root of the sum of the squared elements of X. 9 | * 10 | * The reproducible Euclidian norm is computed with scaled binned types of default fold using #binnedBLAS_sbsssq() 11 | * 12 | * @param N vector length 13 | * @param X single precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @return Euclidian norm of X 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | float reproBLAS_snrm2(const int N, const float* X, const int incX) { 21 | return reproBLAS_rsnrm2(SIDEFAULTFOLD, N, X, incX); 22 | } 23 | -------------------------------------------------------------------------------- /src/reproBLAS/ssum.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible sum of single precision vector X 7 | * 8 | * Return the sum of X. 9 | * 10 | * The reproducible sum is computed with binned types of default fold using #binnedBLAS_sbssum() 11 | * 12 | * @param N vector length 13 | * @param X single precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @return sum of X 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | float reproBLAS_ssum(const int N, const float* X, const int incX) { 21 | return reproBLAS_rssum(SIDEFAULTFOLD, N, X, incX); 22 | } 23 | -------------------------------------------------------------------------------- /src/reproBLAS/zdotu_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible unconjugated dot product of complex double precision vectors X and Y 7 | * 8 | * Return the sum of the pairwise products of X and Y. 9 | * 10 | * The reproducible dot product is computed with binned types of default fold using #binnedBLAS_zbzdotu() 11 | * 12 | * @param N vector length 13 | * @param X complex double precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @param Y complex double precision vector 16 | * @param incY Y vector stride (use every incY'th element) 17 | * @param dotu scalar return 18 | * 19 | * @author Willow Ahrens 20 | * @date 15 Jan 2016 21 | */ 22 | void reproBLAS_zdotu_sub(const int N, const void* X, const int incX, const void *Y, const int incY, void *dotu) { 23 | reproBLAS_rzdotu_sub(DIDEFAULTFOLD, N, X, incX, Y, incY, dotu); 24 | } 25 | -------------------------------------------------------------------------------- /src/reproBLAS/zsum_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "../../config.h" 4 | 5 | /** 6 | * @brief Compute the reproducible sum of complex double precision vector X 7 | * 8 | * Return the sum of X. 9 | * 10 | * The reproducible sum is computed with binned types of default fold using #binnedBLAS_zbzsum() 11 | * 12 | * @param N vector length 13 | * @param X complex double precision vector 14 | * @param incX X vector stride (use every incX'th element) 15 | * @param sum scalar return 16 | * 17 | * @author Willow Ahrens 18 | * @date 15 Jan 2016 19 | */ 20 | void reproBLAS_zsum_sub(const int N, const void* X, const int incX, void *sum) { 21 | reproBLAS_rzsum_sub(DIDEFAULTFOLD, N, X, incX, sum); 22 | } 23 | -------------------------------------------------------------------------------- /tests/Makefile: -------------------------------------------------------------------------------- 1 | ../mk/Makefile -------------------------------------------------------------------------------- /tests/Rules.mk: -------------------------------------------------------------------------------- 1 | TARGETS := 2 | SUBDIRS := benchs checks common accs 3 | 4 | INCLUDE += $(TOP)/tests/harness $(TOP)/tests/checks $(TOP)/tests/benchs 5 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/__init__.py -------------------------------------------------------------------------------- /tests/accs/Makefile: -------------------------------------------------------------------------------- 1 | ../../mk/Makefile -------------------------------------------------------------------------------- /tests/accs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/accs/__init__.py -------------------------------------------------------------------------------- /tests/benchs/Makefile: -------------------------------------------------------------------------------- 1 | ../../mk/Makefile -------------------------------------------------------------------------------- /tests/benchs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/benchs/__init__.py -------------------------------------------------------------------------------- /tests/checks/Makefile: -------------------------------------------------------------------------------- 1 | ../../mk/Makefile -------------------------------------------------------------------------------- /tests/checks/README.txt: -------------------------------------------------------------------------------- 1 | the checks directory is for all tests that check the results of the library operations. Original tests by Diep Nguyen, tests reformatted by Willow Ahrens. 2 | -------------------------------------------------------------------------------- /tests/checks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/__init__.py -------------------------------------------------------------------------------- /tests/checks/data/c_2_rand-1_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_2_rand-1_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/c_2_rand-1_N4095__Brcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_2_rand-1_N4095__Brcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_2_rand-1_N4095__Brcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_2_rand-1_N4095__Brcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_2_rand-1_N4095__Brcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_2_rand-1_N4095__Brcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_2_rand-1_N4095__Brscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_2_rand-1_N4095__Brscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_2_rand-1_N4095__Brscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_2_rand-1_N4095__Brscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_2_rand-1_N4095__rcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_2_rand-1_N4095__rcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_2_rand-1_N4095__rcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_2_rand-1_N4095__rcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_2_rand-1_N4095__rcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_2_rand-1_N4095__rcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_2_rand-1_N4095__rscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_2_rand-1_N4095__rscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_2_rand-1_N4095__rscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_2_rand-1_N4095__rscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_normal_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_normal_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/c_normal_N4095__Brcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_normal_N4095__Brcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_normal_N4095__Brcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_normal_N4095__Brcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_normal_N4095__Brcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_normal_N4095__Brcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_normal_N4095__Brscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_normal_N4095__Brscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_normal_N4095__Brscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_normal_N4095__Brscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_normal_N4095__rcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_normal_N4095__rcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_normal_N4095__rcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_normal_N4095__rcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_normal_N4095__rcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_normal_N4095__rcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_normal_N4095__rscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_normal_N4095__rscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_normal_N4095__rscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_normal_N4095__rscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand+(rand-1)_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand+(rand-1)_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand+(rand-1)_N4095__Brcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand+(rand-1)_N4095__Brcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand+(rand-1)_N4095__Brcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand+(rand-1)_N4095__Brcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand+(rand-1)_N4095__Brcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand+(rand-1)_N4095__Brcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand+(rand-1)_N4095__Brscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand+(rand-1)_N4095__Brscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand+(rand-1)_N4095__Brscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand+(rand-1)_N4095__Brscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand+(rand-1)_N4095__rcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand+(rand-1)_N4095__rcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand+(rand-1)_N4095__rcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand+(rand-1)_N4095__rcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand+(rand-1)_N4095__rcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand+(rand-1)_N4095__rcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand+(rand-1)_N4095__rscasum.dat: -------------------------------------------------------------------------------- 1 | IK*E -------------------------------------------------------------------------------- /tests/checks/data/c_rand+(rand-1)_N4095__rscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand+(rand-1)_N4095__rscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_N4095__Brcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_N4095__Brcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_N4095__Brcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_N4095__Brcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_N4095__Brcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_N4095__Brcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_N4095__Brscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_N4095__Brscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_N4095__Brscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_N4095__Brscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_N4095__rcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_N4095__rcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_N4095__rcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_N4095__rcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_N4095__rcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_N4095__rcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_N4095__rscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_N4095__rscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_N4095__rscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_N4095__rscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_cond_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_cond_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_cond_N4095__Brcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_cond_N4095__Brcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_cond_N4095__Brcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_cond_N4095__Brcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_cond_N4095__Brcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_cond_N4095__Brcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_cond_N4095__Brscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_cond_N4095__Brscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_cond_N4095__Brscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_cond_N4095__Brscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_cond_N4095__rcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_cond_N4095__rcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_cond_N4095__rcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_cond_N4095__rcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_cond_N4095__rcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_cond_N4095__rcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_cond_N4095__rscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_cond_N4095__rscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_rand_cond_N4095__rscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_rand_cond_N4095__rscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_sine_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_sine_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/c_sine_N4095__Brcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_sine_N4095__Brcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_sine_N4095__Brcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_sine_N4095__Brcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_sine_N4095__Brcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_sine_N4095__Brcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_sine_N4095__Brscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_sine_N4095__Brscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_sine_N4095__Brscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_sine_N4095__Brscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_sine_N4095__rcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_sine_N4095__rcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_sine_N4095__rcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_sine_N4095__rcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_sine_N4095__rcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_sine_N4095__rcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_sine_N4095__rscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_sine_N4095__rscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_sine_N4095__rscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_sine_N4095__rscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+grow_big_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+grow_big_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+grow_big_N4095__Brcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+grow_big_N4095__Brcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+grow_big_N4095__Brcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+grow_big_N4095__Brcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+grow_big_N4095__Brcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+grow_big_N4095__Brcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+grow_big_N4095__Brscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+grow_big_N4095__Brscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+grow_big_N4095__Brscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+grow_big_N4095__Brscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+grow_big_N4095__rcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+grow_big_N4095__rcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+grow_big_N4095__rcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+grow_big_N4095__rcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+grow_big_N4095__rcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+grow_big_N4095__rcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+grow_big_N4095__rscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+grow_big_N4095__rscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+grow_big_N4095__rscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+grow_big_N4095__rscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+rand_big_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+rand_big_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+rand_big_N4095__Brcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+rand_big_N4095__Brcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+rand_big_N4095__Brcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+rand_big_N4095__Brcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+rand_big_N4095__Brcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+rand_big_N4095__Brcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+rand_big_N4095__Brscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+rand_big_N4095__Brscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+rand_big_N4095__Brscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+rand_big_N4095__Brscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+rand_big_N4095__rcdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+rand_big_N4095__rcdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+rand_big_N4095__rcdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+rand_big_N4095__rcdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+rand_big_N4095__rcsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+rand_big_N4095__rcsum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+rand_big_N4095__rscasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+rand_big_N4095__rscasum.dat -------------------------------------------------------------------------------- /tests/checks/data/c_small+rand_big_N4095__rscnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/c_small+rand_big_N4095__rscnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_2_rand-1_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_2_rand-1_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/d_2_rand-1_N4095__Brdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_2_rand-1_N4095__Brdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_2_rand-1_N4095__Brddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_2_rand-1_N4095__Brddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_2_rand-1_N4095__Brdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_2_rand-1_N4095__Brdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_2_rand-1_N4095__Brdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_2_rand-1_N4095__Brdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_2_rand-1_N4095__rdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_2_rand-1_N4095__rdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_2_rand-1_N4095__rddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_2_rand-1_N4095__rddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_2_rand-1_N4095__rdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_2_rand-1_N4095__rdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_2_rand-1_N4095__rdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_2_rand-1_N4095__rdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_normal_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_normal_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/d_normal_N4095__Brdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_normal_N4095__Brdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_normal_N4095__Brddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_normal_N4095__Brddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_normal_N4095__Brdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_normal_N4095__Brdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_normal_N4095__Brdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_normal_N4095__Brdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_normal_N4095__rdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_normal_N4095__rdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_normal_N4095__rddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_normal_N4095__rddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_normal_N4095__rdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_normal_N4095__rdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_normal_N4095__rdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_normal_N4095__rdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand+(rand-1)_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand+(rand-1)_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand+(rand-1)_N4095__Brdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand+(rand-1)_N4095__Brdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand+(rand-1)_N4095__Brddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand+(rand-1)_N4095__Brddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand+(rand-1)_N4095__Brdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand+(rand-1)_N4095__Brdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand+(rand-1)_N4095__Brdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand+(rand-1)_N4095__Brdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand+(rand-1)_N4095__rdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand+(rand-1)_N4095__rdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand+(rand-1)_N4095__rddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand+(rand-1)_N4095__rddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand+(rand-1)_N4095__rdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand+(rand-1)_N4095__rdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand+(rand-1)_N4095__rdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand+(rand-1)_N4095__rdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_N4095__Brdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_N4095__Brdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_N4095__Brddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_N4095__Brddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_N4095__Brdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_N4095__Brdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_N4095__Brdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_N4095__Brdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_N4095__rdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_N4095__rdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_N4095__rddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_N4095__rddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_N4095__rdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_N4095__rdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_N4095__rdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_N4095__rdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_cond_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_cond_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_cond_N4095__Brdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_cond_N4095__Brdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_cond_N4095__Brddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_cond_N4095__Brddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_cond_N4095__Brdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_cond_N4095__Brdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_cond_N4095__Brdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_cond_N4095__Brdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_cond_N4095__rdasum.dat: -------------------------------------------------------------------------------- 1 | ?y u45p@ -------------------------------------------------------------------------------- /tests/checks/data/d_rand_cond_N4095__rddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_cond_N4095__rddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_cond_N4095__rdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_cond_N4095__rdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_rand_cond_N4095__rdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_rand_cond_N4095__rdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_sine_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_sine_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/d_sine_N4095__Brdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_sine_N4095__Brdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_sine_N4095__Brddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_sine_N4095__Brddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_sine_N4095__Brdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_sine_N4095__Brdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_sine_N4095__Brdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_sine_N4095__Brdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_sine_N4095__rdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_sine_N4095__rdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_sine_N4095__rddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_sine_N4095__rddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_sine_N4095__rdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_sine_N4095__rdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_sine_N4095__rdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_sine_N4095__rdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+grow_big_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+grow_big_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+grow_big_N4095__Brdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+grow_big_N4095__Brdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+grow_big_N4095__Brddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+grow_big_N4095__Brddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+grow_big_N4095__Brdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+grow_big_N4095__Brdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+grow_big_N4095__Brdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+grow_big_N4095__Brdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+grow_big_N4095__rdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+grow_big_N4095__rdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+grow_big_N4095__rddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+grow_big_N4095__rddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+grow_big_N4095__rdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+grow_big_N4095__rdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+grow_big_N4095__rdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+grow_big_N4095__rdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+rand_big_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+rand_big_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+rand_big_N4095__Brdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+rand_big_N4095__Brdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+rand_big_N4095__Brddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+rand_big_N4095__Brddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+rand_big_N4095__Brdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+rand_big_N4095__Brdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+rand_big_N4095__Brdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+rand_big_N4095__Brdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+rand_big_N4095__rdasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+rand_big_N4095__rdasum.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+rand_big_N4095__rddot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+rand_big_N4095__rddot.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+rand_big_N4095__rdnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+rand_big_N4095__rdnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/d_small+rand_big_N4095__rdsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/d_small+rand_big_N4095__rdsum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_2_rand-1_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_2_rand-1_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/s_2_rand-1_N4095__Brsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_2_rand-1_N4095__Brsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_2_rand-1_N4095__Brsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_2_rand-1_N4095__Brsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_2_rand-1_N4095__Brsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_2_rand-1_N4095__Brsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_2_rand-1_N4095__Brssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_2_rand-1_N4095__Brssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_2_rand-1_N4095__rsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_2_rand-1_N4095__rsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_2_rand-1_N4095__rsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_2_rand-1_N4095__rsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_2_rand-1_N4095__rsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_2_rand-1_N4095__rsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_2_rand-1_N4095__rssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_2_rand-1_N4095__rssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_normal_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_normal_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/s_normal_N4095__Brsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_normal_N4095__Brsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_normal_N4095__Brsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_normal_N4095__Brsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_normal_N4095__Brsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_normal_N4095__Brsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_normal_N4095__Brssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_normal_N4095__Brssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_normal_N4095__rsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_normal_N4095__rsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_normal_N4095__rsdot.dat: -------------------------------------------------------------------------------- 1 | Ro@ -------------------------------------------------------------------------------- /tests/checks/data/s_normal_N4095__rsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_normal_N4095__rsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_normal_N4095__rssum.dat: -------------------------------------------------------------------------------- 1 | Ro@ -------------------------------------------------------------------------------- /tests/checks/data/s_rand+(rand-1)_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand+(rand-1)_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand+(rand-1)_N4095__Brsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand+(rand-1)_N4095__Brsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand+(rand-1)_N4095__Brsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand+(rand-1)_N4095__Brsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand+(rand-1)_N4095__Brsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand+(rand-1)_N4095__Brsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand+(rand-1)_N4095__Brssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand+(rand-1)_N4095__Brssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand+(rand-1)_N4095__rsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand+(rand-1)_N4095__rsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand+(rand-1)_N4095__rsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand+(rand-1)_N4095__rsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand+(rand-1)_N4095__rsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand+(rand-1)_N4095__rsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand+(rand-1)_N4095__rssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand+(rand-1)_N4095__rssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_N4095__Brsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_N4095__Brsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_N4095__Brsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_N4095__Brsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_N4095__Brsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_N4095__Brsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_N4095__Brssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_N4095__Brssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_N4095__rsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_N4095__rsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_N4095__rsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_N4095__rsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_N4095__rsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_N4095__rsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_N4095__rssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_N4095__rssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_cond_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_cond_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_cond_N4095__Brsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_cond_N4095__Brsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_cond_N4095__Brsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_cond_N4095__Brsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_cond_N4095__Brsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_cond_N4095__Brsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_cond_N4095__Brssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_cond_N4095__Brssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_cond_N4095__rsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_cond_N4095__rsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_cond_N4095__rsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_cond_N4095__rsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_rand_cond_N4095__rsnrm2.dat: -------------------------------------------------------------------------------- 1 | #1RA -------------------------------------------------------------------------------- /tests/checks/data/s_rand_cond_N4095__rssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_rand_cond_N4095__rssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_sine_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_sine_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/s_sine_N4095__Brsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_sine_N4095__Brsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_sine_N4095__Brsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_sine_N4095__Brsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_sine_N4095__Brsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_sine_N4095__Brsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_sine_N4095__Brssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_sine_N4095__Brssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_sine_N4095__rsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_sine_N4095__rsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_sine_N4095__rsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_sine_N4095__rsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_sine_N4095__rsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_sine_N4095__rsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_sine_N4095__rssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_sine_N4095__rssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+grow_big_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+grow_big_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+grow_big_N4095__Brsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+grow_big_N4095__Brsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+grow_big_N4095__Brsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+grow_big_N4095__Brsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+grow_big_N4095__Brsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+grow_big_N4095__Brsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+grow_big_N4095__Brssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+grow_big_N4095__Brssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+grow_big_N4095__rsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+grow_big_N4095__rsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+grow_big_N4095__rsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+grow_big_N4095__rsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+grow_big_N4095__rsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+grow_big_N4095__rsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+grow_big_N4095__rssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+grow_big_N4095__rssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+rand_big_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+rand_big_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+rand_big_N4095__Brsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+rand_big_N4095__Brsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+rand_big_N4095__Brsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+rand_big_N4095__Brsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+rand_big_N4095__Brsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+rand_big_N4095__Brsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+rand_big_N4095__Brssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+rand_big_N4095__Brssum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+rand_big_N4095__rsasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+rand_big_N4095__rsasum.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+rand_big_N4095__rsdot.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+rand_big_N4095__rsdot.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+rand_big_N4095__rsnrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+rand_big_N4095__rsnrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/s_small+rand_big_N4095__rssum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/s_small+rand_big_N4095__rssum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_2_rand-1_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_2_rand-1_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/z_2_rand-1_N4095__Brdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_2_rand-1_N4095__Brdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_2_rand-1_N4095__Brdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_2_rand-1_N4095__Brdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_2_rand-1_N4095__Brzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_2_rand-1_N4095__Brzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_2_rand-1_N4095__Brzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_2_rand-1_N4095__Brzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_2_rand-1_N4095__Brzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_2_rand-1_N4095__Brzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_2_rand-1_N4095__rdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_2_rand-1_N4095__rdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_2_rand-1_N4095__rdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_2_rand-1_N4095__rdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_2_rand-1_N4095__rzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_2_rand-1_N4095__rzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_2_rand-1_N4095__rzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_2_rand-1_N4095__rzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_2_rand-1_N4095__rzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_2_rand-1_N4095__rzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_normal_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_normal_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/z_normal_N4095__Brdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_normal_N4095__Brdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_normal_N4095__Brdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_normal_N4095__Brdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_normal_N4095__Brzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_normal_N4095__Brzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_normal_N4095__Brzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_normal_N4095__Brzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_normal_N4095__Brzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_normal_N4095__Brzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_normal_N4095__rdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_normal_N4095__rdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_normal_N4095__rdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_normal_N4095__rdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_normal_N4095__rzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_normal_N4095__rzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_normal_N4095__rzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_normal_N4095__rzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_normal_N4095__rzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_normal_N4095__rzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand+(rand-1)_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand+(rand-1)_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand+(rand-1)_N4095__Brdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand+(rand-1)_N4095__Brdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand+(rand-1)_N4095__Brdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand+(rand-1)_N4095__Brdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand+(rand-1)_N4095__Brzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand+(rand-1)_N4095__Brzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand+(rand-1)_N4095__Brzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand+(rand-1)_N4095__Brzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand+(rand-1)_N4095__Brzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand+(rand-1)_N4095__Brzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand+(rand-1)_N4095__rdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand+(rand-1)_N4095__rdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand+(rand-1)_N4095__rdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand+(rand-1)_N4095__rdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand+(rand-1)_N4095__rzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand+(rand-1)_N4095__rzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand+(rand-1)_N4095__rzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand+(rand-1)_N4095__rzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand+(rand-1)_N4095__rzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand+(rand-1)_N4095__rzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_N4095__Brdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_N4095__Brdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_N4095__Brdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_N4095__Brdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_N4095__Brzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_N4095__Brzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_N4095__Brzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_N4095__Brzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_N4095__Brzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_N4095__Brzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_N4095__rdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_N4095__rdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_N4095__rdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_N4095__rdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_N4095__rzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_N4095__rzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_N4095__rzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_N4095__rzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_N4095__rzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_N4095__rzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_cond_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_cond_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_cond_N4095__Brdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_cond_N4095__Brdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_cond_N4095__Brdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_cond_N4095__Brdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_cond_N4095__Brzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_cond_N4095__Brzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_cond_N4095__Brzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_cond_N4095__Brzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_cond_N4095__Brzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_cond_N4095__Brzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_cond_N4095__rdzasum.dat: -------------------------------------------------------------------------------- 1 | ȊRͽso@ -------------------------------------------------------------------------------- /tests/checks/data/z_rand_cond_N4095__rdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_cond_N4095__rdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_cond_N4095__rzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_cond_N4095__rzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_cond_N4095__rzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_cond_N4095__rzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_rand_cond_N4095__rzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_rand_cond_N4095__rzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_sine_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_sine_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/z_sine_N4095__Brdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_sine_N4095__Brdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_sine_N4095__Brdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_sine_N4095__Brdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_sine_N4095__Brzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_sine_N4095__Brzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_sine_N4095__Brzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_sine_N4095__Brzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_sine_N4095__Brzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_sine_N4095__Brzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_sine_N4095__rdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_sine_N4095__rdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_sine_N4095__rdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_sine_N4095__rdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_sine_N4095__rzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_sine_N4095__rzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_sine_N4095__rzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_sine_N4095__rzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_sine_N4095__rzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_sine_N4095__rzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+grow_big_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+grow_big_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+grow_big_N4095__Brdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+grow_big_N4095__Brdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+grow_big_N4095__Brdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+grow_big_N4095__Brdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+grow_big_N4095__Brzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+grow_big_N4095__Brzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+grow_big_N4095__Brzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+grow_big_N4095__Brzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+grow_big_N4095__Brzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+grow_big_N4095__Brzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+grow_big_N4095__rdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+grow_big_N4095__rdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+grow_big_N4095__rdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+grow_big_N4095__rdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+grow_big_N4095__rzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+grow_big_N4095__rzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+grow_big_N4095__rzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+grow_big_N4095__rzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+grow_big_N4095__rzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+grow_big_N4095__rzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+rand_big_N4095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+rand_big_N4095.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+rand_big_N4095__Brdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+rand_big_N4095__Brdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+rand_big_N4095__Brdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+rand_big_N4095__Brdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+rand_big_N4095__Brzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+rand_big_N4095__Brzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+rand_big_N4095__Brzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+rand_big_N4095__Brzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+rand_big_N4095__Brzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+rand_big_N4095__Brzsum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+rand_big_N4095__rdzasum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+rand_big_N4095__rdzasum.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+rand_big_N4095__rdznrm2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+rand_big_N4095__rdznrm2.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+rand_big_N4095__rzdotc.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+rand_big_N4095__rzdotc.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+rand_big_N4095__rzdotu.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+rand_big_N4095__rzdotu.dat -------------------------------------------------------------------------------- /tests/checks/data/z_small+rand_big_N4095__rzsum.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/checks/data/z_small+rand_big_N4095__rzsum.dat -------------------------------------------------------------------------------- /tests/common/Makefile: -------------------------------------------------------------------------------- 1 | ../../mk/Makefile -------------------------------------------------------------------------------- /tests/common/Rules.mk: -------------------------------------------------------------------------------- 1 | TARGETS := libtest.a test_data$(EXE) 2 | SUBDIRS := 3 | 4 | test_data$(EXE)_DEPS = libtest.a test_data.o 5 | test_data$(EXE)_LIBS = -lm 6 | 7 | LIBTEST := $(OBJPATH)/libtest.a 8 | 9 | libtest.a_DEPS = test_file.o test_opt.o test_time.o test_util.o test_metric.o test_util_xblas_ddot_fill.o test_util_xblas_zdot_fill.o test_util_xblas_sdot_fill.o test_util_xblas_cdot_fill.o 10 | -------------------------------------------------------------------------------- /tests/common/test_file.h: -------------------------------------------------------------------------------- 1 | #ifndef TEST_FILE_H 2 | #define TEST_FILE_H 3 | 4 | int file_exists(const char *fname); 5 | 6 | const char* file_ext(const char *fname); 7 | 8 | void file_read_vector(const char* fname, int* len, void** data, int eleSize); 9 | 10 | void file_write_vector(const char* fname, int len, void* data, int eleSize); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /tests/common/test_limits.h: -------------------------------------------------------------------------------- 1 | #ifndef TEST_LIMITS_H 2 | #define TEST_LIMITS_H 3 | 4 | #define MAX_LINE 1024 5 | #define MAX_NAME 1024 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /tests/common/test_metric.h: -------------------------------------------------------------------------------- 1 | #ifndef TEST_METRIC_H 2 | #define TEST_METRIC_H 3 | 4 | void metric_load_int(char *key, int value); 5 | void metric_load_long(char *key, long value); 6 | void metric_load_long_long(char *key, long long value); 7 | void metric_load_double(char *key, double value); 8 | void metric_load_float(char *key, float value); 9 | void metric_load_string(char *key, char *value); 10 | 11 | void metric_dump(); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /tests/common/test_time.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | static int initialized = 0; 4 | static struct timeval start; 5 | static double time = 0.0; 6 | 7 | static double read_clock( ) 8 | { 9 | struct timeval end; 10 | if( initialized == 0) 11 | { 12 | gettimeofday( &start, NULL ); 13 | initialized = 1; 14 | } 15 | 16 | gettimeofday( &end, NULL ); 17 | 18 | return (end.tv_sec + 1.0e-6 * end.tv_usec) - (start.tv_sec - 1.0e-6 * start.tv_usec); 19 | } 20 | 21 | void time_tic() { 22 | time -= read_clock(); 23 | } 24 | 25 | void time_toc() { 26 | time += read_clock(); 27 | } 28 | 29 | double time_read() { 30 | return time; 31 | } 32 | 33 | void time_reset() { 34 | time = 0.0; 35 | } 36 | -------------------------------------------------------------------------------- /tests/common/test_time.h: -------------------------------------------------------------------------------- 1 | #ifndef TEST_TIME_H 2 | #define TEST_TIME_H 3 | 4 | void time_tic(); 5 | 6 | void time_toc(); 7 | 8 | double time_read(); 9 | 10 | void time_reset(); 11 | #endif 12 | -------------------------------------------------------------------------------- /tests/harness/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willow-ahrens/ReproBLAS/dfb815058dd34b88caba2513cce63bc2e89f951f/tests/harness/__init__.py -------------------------------------------------------------------------------- /tune/Makefile: -------------------------------------------------------------------------------- 1 | ../mk/Makefile -------------------------------------------------------------------------------- /tune/Rules.mk: -------------------------------------------------------------------------------- 1 | TARGETS= 2 | SUBDIRS= 3 | --------------------------------------------------------------------------------