├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature_request.md │ └── question-template.md ├── .gitignore ├── CHANGELOG ├── COPYING ├── Makefile.am ├── README.adoc ├── autogen.sh ├── build_igor_asciidoc.sh ├── build_release.sh ├── configure.ac ├── contributors.txt ├── demo ├── genomicDs.fasta ├── genomicJs_all_curated.fasta ├── genomicVs_with_primers.fasta └── murugan_naive1_noncoding_demo_seqs.txt ├── docs ├── .empty_file ├── asciidoc │ ├── IGoR_documentation.adoc │ ├── alignments │ │ ├── alignment_commands.adoc │ │ ├── alignments.adoc │ │ ├── alignments_output.adoc │ │ └── offsets.adoc │ ├── commands_examples │ │ └── general.adoc │ ├── general │ │ ├── advanced_usage.adoc │ │ ├── contribute.adoc │ │ ├── cpp_interface.adoc │ │ ├── general_command_lines.adoc │ │ ├── general_commands.adoc │ │ ├── installation.adoc │ │ ├── python_interface.adoc │ │ ├── runtimes.adoc │ │ ├── scripts.adoc │ │ ├── workflow.adoc │ │ ├── workflow │ │ │ ├── model_validity.adoc │ │ │ ├── supplied_models.adoc │ │ │ └── supplied_models_table.adoc │ │ └── working_directory.adoc │ ├── generation │ │ ├── generation.adoc │ │ └── generation_commands.adoc │ ├── inference │ │ ├── inference.adoc │ │ ├── inference_commands.adoc │ │ ├── inference_output.adoc │ │ └── inference_troubleshoots.adoc │ ├── outputs │ │ ├── best_scenarios.adoc │ │ ├── coverage.adoc │ │ ├── outputs.adoc │ │ └── pgen.adoc │ └── version.adoc ├── body-bg.png ├── golo.css ├── index.html ├── man │ └── igor_manpage.adoc ├── pre-bg.png └── pygments-emacs.css ├── doxygen.config ├── igor_src ├── Aligner.cpp ├── Aligner.h ├── Bestscenarioscounter.cpp ├── Bestscenarioscounter.h ├── CDR3SeqData.cpp ├── CDR3SeqData.h ├── Counter.cpp ├── Counter.h ├── Coverageerrcounter.cpp ├── Coverageerrcounter.h ├── Deletion.cpp ├── Deletion.h ├── Dinuclmarkov.cpp ├── Dinuclmarkov.h ├── Errorrate.cpp ├── Errorrate.h ├── Errorscounter.cpp ├── Errorscounter.h ├── ExtractFeatures.cpp ├── ExtractFeatures.h ├── GenModel.cpp ├── GenModel.h ├── Genechoice.cpp ├── Genechoice.h ├── HypermutationfullNmererrorrate.cpp ├── HypermutationfullNmererrorrate.h ├── Hypermutationglobalerrorrate.cpp ├── Hypermutationglobalerrorrate.h ├── Insertion.cpp ├── Insertion.h ├── IntStr.cpp ├── IntStr.h ├── Makefile.am ├── Model_Parms.cpp ├── Model_Parms.h ├── Model_marginals.cpp ├── Model_marginals.h ├── Pgencounter.cpp ├── Pgencounter.h ├── Rec_Event.cpp ├── Rec_Event.h ├── Singleerrorrate.cpp ├── Singleerrorrate.h ├── Utils.cpp ├── Utils.h └── main.cpp ├── libs ├── Makefile.am ├── gsl_sub │ ├── AUTHORS │ ├── BUGS │ ├── COPYING │ ├── ChangeLog │ ├── INSTALL │ ├── Makefile.am │ ├── Makefile_original.am │ ├── NEWS │ ├── README │ ├── THANKS │ ├── TODO │ ├── autogen.sh │ ├── blas │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── blas.c │ │ ├── gsl_blas.h │ │ └── gsl_blas_types.h │ ├── block │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── block.c │ │ ├── block_source.c │ │ ├── file.c │ │ ├── fprintf_source.c │ │ ├── fwrite_source.c │ │ ├── gsl_block.h │ │ ├── gsl_block_char.h │ │ ├── gsl_block_complex_double.h │ │ ├── gsl_block_complex_float.h │ │ ├── gsl_block_complex_long_double.h │ │ ├── gsl_block_double.h │ │ ├── gsl_block_float.h │ │ ├── gsl_block_int.h │ │ ├── gsl_block_long.h │ │ ├── gsl_block_long_double.h │ │ ├── gsl_block_short.h │ │ ├── gsl_block_uchar.h │ │ ├── gsl_block_uint.h │ │ ├── gsl_block_ulong.h │ │ ├── gsl_block_ushort.h │ │ ├── gsl_check_range.h │ │ ├── init.c │ │ ├── init_source.c │ │ ├── test.c │ │ ├── test_complex_io.c │ │ ├── test_complex_source.c │ │ ├── test_io.c │ │ └── test_source.c │ ├── build.h │ ├── cblas │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── caxpy.c │ │ ├── cblas.h │ │ ├── ccopy.c │ │ ├── cdotc_sub.c │ │ ├── cdotu_sub.c │ │ ├── cgbmv.c │ │ ├── cgemm.c │ │ ├── cgemv.c │ │ ├── cgerc.c │ │ ├── cgeru.c │ │ ├── chbmv.c │ │ ├── chemm.c │ │ ├── chemv.c │ │ ├── cher.c │ │ ├── cher2.c │ │ ├── cher2k.c │ │ ├── cherk.c │ │ ├── chpmv.c │ │ ├── chpr.c │ │ ├── chpr2.c │ │ ├── cscal.c │ │ ├── csscal.c │ │ ├── cswap.c │ │ ├── csymm.c │ │ ├── csyr2k.c │ │ ├── csyrk.c │ │ ├── ctbmv.c │ │ ├── ctbsv.c │ │ ├── ctpmv.c │ │ ├── ctpsv.c │ │ ├── ctrmm.c │ │ ├── ctrmv.c │ │ ├── ctrsm.c │ │ ├── ctrsv.c │ │ ├── dasum.c │ │ ├── daxpy.c │ │ ├── dcopy.c │ │ ├── ddot.c │ │ ├── dgbmv.c │ │ ├── dgemm.c │ │ ├── dgemv.c │ │ ├── dger.c │ │ ├── dnrm2.c │ │ ├── drot.c │ │ ├── drotg.c │ │ ├── drotm.c │ │ ├── drotmg.c │ │ ├── dsbmv.c │ │ ├── dscal.c │ │ ├── dsdot.c │ │ ├── dspmv.c │ │ ├── dspr.c │ │ ├── dspr2.c │ │ ├── dswap.c │ │ ├── dsymm.c │ │ ├── dsymv.c │ │ ├── dsyr.c │ │ ├── dsyr2.c │ │ ├── dsyr2k.c │ │ ├── dsyrk.c │ │ ├── dtbmv.c │ │ ├── dtbsv.c │ │ ├── dtpmv.c │ │ ├── dtpsv.c │ │ ├── dtrmm.c │ │ ├── dtrmv.c │ │ ├── dtrsm.c │ │ ├── dtrsv.c │ │ ├── dzasum.c │ │ ├── dznrm2.c │ │ ├── error_cblas.h │ │ ├── error_cblas_l2.h │ │ ├── error_cblas_l3.h │ │ ├── gsl_cblas.h │ │ ├── hypot.c │ │ ├── icamax.c │ │ ├── idamax.c │ │ ├── isamax.c │ │ ├── izamax.c │ │ ├── sasum.c │ │ ├── saxpy.c │ │ ├── scasum.c │ │ ├── scnrm2.c │ │ ├── scopy.c │ │ ├── sdot.c │ │ ├── sdsdot.c │ │ ├── sgbmv.c │ │ ├── sgemm.c │ │ ├── sgemv.c │ │ ├── sger.c │ │ ├── snrm2.c │ │ ├── source_asum_c.h │ │ ├── source_asum_r.h │ │ ├── source_axpy_c.h │ │ ├── source_axpy_r.h │ │ ├── source_copy_c.h │ │ ├── source_copy_r.h │ │ ├── source_dot_c.h │ │ ├── source_dot_r.h │ │ ├── source_gbmv_c.h │ │ ├── source_gbmv_r.h │ │ ├── source_gemm_c.h │ │ ├── source_gemm_r.h │ │ ├── source_gemv_c.h │ │ ├── source_gemv_r.h │ │ ├── source_ger.h │ │ ├── source_gerc.h │ │ ├── source_geru.h │ │ ├── source_hbmv.h │ │ ├── source_hemm.h │ │ ├── source_hemv.h │ │ ├── source_her.h │ │ ├── source_her2.h │ │ ├── source_her2k.h │ │ ├── source_herk.h │ │ ├── source_hpmv.h │ │ ├── source_hpr.h │ │ ├── source_hpr2.h │ │ ├── source_iamax_c.h │ │ ├── source_iamax_r.h │ │ ├── source_nrm2_c.h │ │ ├── source_nrm2_r.h │ │ ├── source_rot.h │ │ ├── source_rotg.h │ │ ├── source_rotm.h │ │ ├── source_rotmg.h │ │ ├── source_sbmv.h │ │ ├── source_scal_c.h │ │ ├── source_scal_c_s.h │ │ ├── source_scal_r.h │ │ ├── source_spmv.h │ │ ├── source_spr.h │ │ ├── source_spr2.h │ │ ├── source_swap_c.h │ │ ├── source_swap_r.h │ │ ├── source_symm_c.h │ │ ├── source_symm_r.h │ │ ├── source_symv.h │ │ ├── source_syr.h │ │ ├── source_syr2.h │ │ ├── source_syr2k_c.h │ │ ├── source_syr2k_r.h │ │ ├── source_syrk_c.h │ │ ├── source_syrk_r.h │ │ ├── source_tbmv_c.h │ │ ├── source_tbmv_r.h │ │ ├── source_tbsv_c.h │ │ ├── source_tbsv_r.h │ │ ├── source_tpmv_c.h │ │ ├── source_tpmv_r.h │ │ ├── source_tpsv_c.h │ │ ├── source_tpsv_r.h │ │ ├── source_trmm_c.h │ │ ├── source_trmm_r.h │ │ ├── source_trmv_c.h │ │ ├── source_trmv_r.h │ │ ├── source_trsm_c.h │ │ ├── source_trsm_r.h │ │ ├── source_trsv_c.h │ │ ├── source_trsv_r.h │ │ ├── srot.c │ │ ├── srotg.c │ │ ├── srotm.c │ │ ├── srotmg.c │ │ ├── ssbmv.c │ │ ├── sscal.c │ │ ├── sspmv.c │ │ ├── sspr.c │ │ ├── sspr2.c │ │ ├── sswap.c │ │ ├── ssymm.c │ │ ├── ssymv.c │ │ ├── ssyr.c │ │ ├── ssyr2.c │ │ ├── ssyr2k.c │ │ ├── ssyrk.c │ │ ├── stbmv.c │ │ ├── stbsv.c │ │ ├── stpmv.c │ │ ├── stpsv.c │ │ ├── strmm.c │ │ ├── strmv.c │ │ ├── strsm.c │ │ ├── strsv.c │ │ ├── test.c │ │ ├── test_amax.c │ │ ├── test_asum.c │ │ ├── test_axpy.c │ │ ├── test_copy.c │ │ ├── test_dot.c │ │ ├── test_gbmv.c │ │ ├── test_gemm.c │ │ ├── test_gemv.c │ │ ├── test_ger.c │ │ ├── test_hbmv.c │ │ ├── test_hemm.c │ │ ├── test_hemv.c │ │ ├── test_her.c │ │ ├── test_her2.c │ │ ├── test_her2k.c │ │ ├── test_herk.c │ │ ├── test_hpmv.c │ │ ├── test_hpr.c │ │ ├── test_hpr2.c │ │ ├── test_nrm2.c │ │ ├── test_rot.c │ │ ├── test_rotg.c │ │ ├── test_rotm.c │ │ ├── test_rotmg.c │ │ ├── test_sbmv.c │ │ ├── test_scal.c │ │ ├── test_spmv.c │ │ ├── test_spr.c │ │ ├── test_spr2.c │ │ ├── test_swap.c │ │ ├── test_symm.c │ │ ├── test_symv.c │ │ ├── test_syr.c │ │ ├── test_syr2.c │ │ ├── test_syr2k.c │ │ ├── test_syrk.c │ │ ├── test_tbmv.c │ │ ├── test_tbsv.c │ │ ├── test_tpmv.c │ │ ├── test_tpsv.c │ │ ├── test_trmm.c │ │ ├── test_trmv.c │ │ ├── test_trsm.c │ │ ├── test_trsv.c │ │ ├── tests.c │ │ ├── tests.h │ │ ├── xerbla.c │ │ ├── zaxpy.c │ │ ├── zcopy.c │ │ ├── zdotc_sub.c │ │ ├── zdotu_sub.c │ │ ├── zdscal.c │ │ ├── zgbmv.c │ │ ├── zgemm.c │ │ ├── zgemv.c │ │ ├── zgerc.c │ │ ├── zgeru.c │ │ ├── zhbmv.c │ │ ├── zhemm.c │ │ ├── zhemv.c │ │ ├── zher.c │ │ ├── zher2.c │ │ ├── zher2k.c │ │ ├── zherk.c │ │ ├── zhpmv.c │ │ ├── zhpr.c │ │ ├── zhpr2.c │ │ ├── zscal.c │ │ ├── zswap.c │ │ ├── zsymm.c │ │ ├── zsyr2k.c │ │ ├── zsyrk.c │ │ ├── ztbmv.c │ │ ├── ztbsv.c │ │ ├── ztpmv.c │ │ ├── ztpsv.c │ │ ├── ztrmm.c │ │ ├── ztrmv.c │ │ ├── ztrsm.c │ │ └── ztrsv.c │ ├── cdf │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── beta.c │ │ ├── beta_inc.c │ │ ├── betainv.c │ │ ├── binomial.c │ │ ├── cauchy.c │ │ ├── cauchyinv.c │ │ ├── chisq.c │ │ ├── chisqinv.c │ │ ├── error.h │ │ ├── exponential.c │ │ ├── exponentialinv.c │ │ ├── exppow.c │ │ ├── fdist.c │ │ ├── fdistinv.c │ │ ├── flat.c │ │ ├── flatinv.c │ │ ├── gamma.c │ │ ├── gammainv.c │ │ ├── gauss.c │ │ ├── gaussinv.c │ │ ├── geometric.c │ │ ├── gsl_cdf.h │ │ ├── gumbel1.c │ │ ├── gumbel1inv.c │ │ ├── gumbel2.c │ │ ├── gumbel2inv.c │ │ ├── hypergeometric.c │ │ ├── laplace.c │ │ ├── laplaceinv.c │ │ ├── logistic.c │ │ ├── logisticinv.c │ │ ├── lognormal.c │ │ ├── lognormalinv.c │ │ ├── nbinomial.c │ │ ├── pareto.c │ │ ├── paretoinv.c │ │ ├── pascal.c │ │ ├── poisson.c │ │ ├── rat_eval.h │ │ ├── rayleigh.c │ │ ├── rayleighinv.c │ │ ├── tdist.c │ │ ├── tdistinv.c │ │ ├── test.c │ │ ├── test_auto.c │ │ ├── weibull.c │ │ └── weibullinv.c │ ├── complex │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── gsl_complex.h │ │ ├── gsl_complex_math.h │ │ ├── inline.c │ │ ├── math.c │ │ ├── results.h │ │ ├── results1.h │ │ ├── results2.h │ │ ├── results_real.h │ │ ├── results_zreal.h │ │ └── test.c │ ├── config.guess │ ├── config.sub │ ├── configure.ac │ ├── configure_original.ac │ ├── depcomp │ ├── eigen │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── francis.c │ │ ├── gen.c │ │ ├── genherm.c │ │ ├── genhermv.c │ │ ├── gensymm.c │ │ ├── gensymmv.c │ │ ├── genv.c │ │ ├── gsl_eigen.h │ │ ├── herm.c │ │ ├── hermv.c │ │ ├── jacobi.c │ │ ├── nonsymm.c │ │ ├── nonsymmv.c │ │ ├── qrstep.c │ │ ├── schur.c │ │ ├── sort.c │ │ ├── symm.c │ │ ├── symmv.c │ │ └── test.c │ ├── err │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── error.c │ │ ├── gsl_errno.h │ │ ├── gsl_message.h │ │ ├── message.c │ │ ├── stream.c │ │ ├── strerror.c │ │ └── test.c │ ├── gsl-config.in │ ├── gsl-histogram.c │ ├── gsl-randist.c │ ├── gsl.m4 │ ├── gsl.pc.in │ ├── gsl.spec.in │ ├── gsl │ │ └── Makefile.am │ ├── gsl_inline.h │ ├── gsl_machine.h │ ├── gsl_math.h │ ├── gsl_minmax.h │ ├── gsl_mode.h │ ├── gsl_nan.h │ ├── gsl_pow_int.h │ ├── gsl_precision.h │ ├── gsl_types.h │ ├── gsl_version.h │ ├── gsl_version.h.in │ ├── histogram │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── add.c │ │ ├── add2d.c │ │ ├── calloc_range.c │ │ ├── calloc_range2d.c │ │ ├── copy.c │ │ ├── copy2d.c │ │ ├── file.c │ │ ├── file2d.c │ │ ├── find.c │ │ ├── find2d.c │ │ ├── get.c │ │ ├── get2d.c │ │ ├── gsl_histogram.h │ │ ├── gsl_histogram2d.h │ │ ├── init.c │ │ ├── init2d.c │ │ ├── maxval.c │ │ ├── maxval2d.c │ │ ├── oper.c │ │ ├── oper2d.c │ │ ├── params.c │ │ ├── params2d.c │ │ ├── pdf.c │ │ ├── pdf2d.c │ │ ├── reset.c │ │ ├── reset2d.c │ │ ├── stat.c │ │ ├── stat2d.c │ │ ├── test.c │ │ ├── test1d.c │ │ ├── test1d_resample.c │ │ ├── test1d_trap.c │ │ ├── test2d.c │ │ ├── test2d_resample.c │ │ ├── test2d_trap.c │ │ └── urand.c │ ├── ieee-utils │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── endian.c │ │ ├── env.c │ │ ├── fp-aix.c │ │ ├── fp-darwin.c │ │ ├── fp-darwin86.c │ │ ├── fp-freebsd.c │ │ ├── fp-gnuc99.c │ │ ├── fp-gnum68k.c │ │ ├── fp-gnuppc.c │ │ ├── fp-gnusparc.c │ │ ├── fp-gnux86.c │ │ ├── fp-hpux.c │ │ ├── fp-hpux11.c │ │ ├── fp-irix.c │ │ ├── fp-netbsd.c │ │ ├── fp-openbsd.c │ │ ├── fp-os2emx.c │ │ ├── fp-solaris.c │ │ ├── fp-sunos4.c │ │ ├── fp-tru64.c │ │ ├── fp-unknown.c │ │ ├── fp.c │ │ ├── gsl_ieee_utils.h │ │ ├── make_rep.c │ │ ├── print.c │ │ ├── read.c │ │ ├── standardize.c │ │ └── test.c │ ├── install-sh │ ├── integration │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── append.c │ │ ├── cquad.c │ │ ├── cquad_const.c │ │ ├── err.c │ │ ├── glfixed.c │ │ ├── gsl_integration.h │ │ ├── initialise.c │ │ ├── positivity.c │ │ ├── ptsort.c │ │ ├── qag.c │ │ ├── qagp.c │ │ ├── qags.c │ │ ├── qawc.c │ │ ├── qawf.c │ │ ├── qawo.c │ │ ├── qaws.c │ │ ├── qc25c.c │ │ ├── qc25f.c │ │ ├── qc25s.c │ │ ├── qcheb.c │ │ ├── qelg.c │ │ ├── qk.c │ │ ├── qk15.c │ │ ├── qk21.c │ │ ├── qk31.c │ │ ├── qk41.c │ │ ├── qk51.c │ │ ├── qk61.c │ │ ├── qmomo.c │ │ ├── qmomof.c │ │ ├── qng.c │ │ ├── qng.h │ │ ├── qpsrt.c │ │ ├── qpsrt2.c │ │ ├── reset.c │ │ ├── set_initial.c │ │ ├── test.c │ │ ├── tests.c │ │ ├── tests.h │ │ ├── util.c │ │ └── workspace.c │ ├── linalg │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── apply_givens.c │ │ ├── balance.c │ │ ├── balancemat.c │ │ ├── bidiag.c │ │ ├── cholesky.c │ │ ├── cholesky_common.c │ │ ├── choleskyc.c │ │ ├── cod.c │ │ ├── condest.c │ │ ├── exponential.c │ │ ├── gsl_linalg.h │ │ ├── hermtd.c │ │ ├── hessenberg.c │ │ ├── hesstri.c │ │ ├── hh.c │ │ ├── householder.c │ │ ├── householdercomplex.c │ │ ├── inline.c │ │ ├── invtri.c │ │ ├── lq.c │ │ ├── lu.c │ │ ├── luc.c │ │ ├── mcholesky.c │ │ ├── multiply.c │ │ ├── pcholesky.c │ │ ├── ptlq.c │ │ ├── qr.c │ │ ├── qrpt.c │ │ ├── svd.c │ │ ├── svdstep.c │ │ ├── symmtd.c │ │ ├── test.c │ │ ├── test_cholesky.c │ │ ├── tridiag.c │ │ └── tridiag.h │ ├── matrix │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── copy.c │ │ ├── copy_source.c │ │ ├── file.c │ │ ├── file_source.c │ │ ├── getset.c │ │ ├── getset_source.c │ │ ├── gsl_matrix.h │ │ ├── gsl_matrix_char.h │ │ ├── gsl_matrix_complex_double.h │ │ ├── gsl_matrix_complex_float.h │ │ ├── gsl_matrix_complex_long_double.h │ │ ├── gsl_matrix_double.h │ │ ├── gsl_matrix_float.h │ │ ├── gsl_matrix_int.h │ │ ├── gsl_matrix_long.h │ │ ├── gsl_matrix_long_double.h │ │ ├── gsl_matrix_short.h │ │ ├── gsl_matrix_uchar.h │ │ ├── gsl_matrix_uint.h │ │ ├── gsl_matrix_ulong.h │ │ ├── gsl_matrix_ushort.h │ │ ├── init.c │ │ ├── init_source.c │ │ ├── matrix.c │ │ ├── minmax.c │ │ ├── minmax_source.c │ │ ├── oper.c │ │ ├── oper_complex_source.c │ │ ├── oper_source.c │ │ ├── prop.c │ │ ├── prop_source.c │ │ ├── rowcol.c │ │ ├── rowcol_source.c │ │ ├── submatrix.c │ │ ├── submatrix_source.c │ │ ├── swap.c │ │ ├── swap_source.c │ │ ├── test.c │ │ ├── test_complex_source.c │ │ ├── test_source.c │ │ ├── test_static.c │ │ ├── view.c │ │ ├── view.h │ │ └── view_source.c │ ├── mdate-sh │ ├── missing │ ├── mkinstalldirs │ ├── permutation │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── canonical.c │ │ ├── file.c │ │ ├── gsl_permutation.h │ │ ├── gsl_permute.h │ │ ├── gsl_permute_char.h │ │ ├── gsl_permute_complex_double.h │ │ ├── gsl_permute_complex_float.h │ │ ├── gsl_permute_complex_long_double.h │ │ ├── gsl_permute_double.h │ │ ├── gsl_permute_float.h │ │ ├── gsl_permute_int.h │ │ ├── gsl_permute_long.h │ │ ├── gsl_permute_long_double.h │ │ ├── gsl_permute_matrix.h │ │ ├── gsl_permute_matrix_char.h │ │ ├── gsl_permute_matrix_complex_double.h │ │ ├── gsl_permute_matrix_complex_float.h │ │ ├── gsl_permute_matrix_complex_long_double.h │ │ ├── gsl_permute_matrix_double.h │ │ ├── gsl_permute_matrix_float.h │ │ ├── gsl_permute_matrix_int.h │ │ ├── gsl_permute_matrix_long.h │ │ ├── gsl_permute_matrix_long_double.h │ │ ├── gsl_permute_matrix_short.h │ │ ├── gsl_permute_matrix_uchar.h │ │ ├── gsl_permute_matrix_uint.h │ │ ├── gsl_permute_matrix_ulong.h │ │ ├── gsl_permute_matrix_ushort.h │ │ ├── gsl_permute_short.h │ │ ├── gsl_permute_uchar.h │ │ ├── gsl_permute_uint.h │ │ ├── gsl_permute_ulong.h │ │ ├── gsl_permute_ushort.h │ │ ├── gsl_permute_vector.h │ │ ├── gsl_permute_vector_char.h │ │ ├── gsl_permute_vector_complex_double.h │ │ ├── gsl_permute_vector_complex_float.h │ │ ├── gsl_permute_vector_complex_long_double.h │ │ ├── gsl_permute_vector_double.h │ │ ├── gsl_permute_vector_float.h │ │ ├── gsl_permute_vector_int.h │ │ ├── gsl_permute_vector_long.h │ │ ├── gsl_permute_vector_long_double.h │ │ ├── gsl_permute_vector_short.h │ │ ├── gsl_permute_vector_uchar.h │ │ ├── gsl_permute_vector_uint.h │ │ ├── gsl_permute_vector_ulong.h │ │ ├── gsl_permute_vector_ushort.h │ │ ├── init.c │ │ ├── inline.c │ │ ├── permutation.c │ │ ├── permute.c │ │ ├── permute_source.c │ │ └── test.c │ ├── pkgconfig.test │ ├── poly │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── balance.c │ │ ├── companion.c │ │ ├── dd.c │ │ ├── deriv.c │ │ ├── eval.c │ │ ├── gsl_poly.h │ │ ├── qr.c │ │ ├── solve_cubic.c │ │ ├── solve_quadratic.c │ │ ├── test.c │ │ ├── zsolve.c │ │ ├── zsolve_cubic.c │ │ ├── zsolve_init.c │ │ └── zsolve_quadratic.c │ ├── randist │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── bernoulli.c │ │ ├── beta.c │ │ ├── bigauss.c │ │ ├── binomial.c │ │ ├── binomial_tpe.c │ │ ├── cauchy.c │ │ ├── chisq.c │ │ ├── dirichlet.c │ │ ├── discrete.c │ │ ├── erlang.c │ │ ├── exponential.c │ │ ├── exppow.c │ │ ├── fdist.c │ │ ├── flat.c │ │ ├── gamma.c │ │ ├── gauss.c │ │ ├── gausstail.c │ │ ├── gausszig.c │ │ ├── geometric.c │ │ ├── gsl_randist.h │ │ ├── gumbel.c │ │ ├── hyperg.c │ │ ├── landau.c │ │ ├── laplace.c │ │ ├── levy.c │ │ ├── logarithmic.c │ │ ├── logistic.c │ │ ├── lognormal.c │ │ ├── multinomial.c │ │ ├── mvgauss.c │ │ ├── nbinomial.c │ │ ├── pareto.c │ │ ├── pascal.c │ │ ├── poisson.c │ │ ├── rayleigh.c │ │ ├── shuffle.c │ │ ├── sphere.c │ │ ├── tdist.c │ │ ├── test.c │ │ └── weibull.c │ ├── rng │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── borosh13.c │ │ ├── cmrg.c │ │ ├── coveyou.c │ │ ├── default.c │ │ ├── file.c │ │ ├── fishman18.c │ │ ├── fishman20.c │ │ ├── fishman2x.c │ │ ├── gfsr4.c │ │ ├── gsl_rng.h │ │ ├── inline.c │ │ ├── knuthran.c │ │ ├── knuthran2.c │ │ ├── knuthran2002.c │ │ ├── lecuyer21.c │ │ ├── minstd.c │ │ ├── mrg.c │ │ ├── mt.c │ │ ├── r250.c │ │ ├── ran0.c │ │ ├── ran1.c │ │ ├── ran2.c │ │ ├── ran3.c │ │ ├── rand.c │ │ ├── rand48.c │ │ ├── random.c │ │ ├── randu.c │ │ ├── ranf.c │ │ ├── ranlux.c │ │ ├── ranlxd.c │ │ ├── ranlxs.c │ │ ├── ranmar.c │ │ ├── rng.c │ │ ├── schrage.c │ │ ├── slatec.c │ │ ├── taus.c │ │ ├── taus113.c │ │ ├── test.c │ │ ├── transputer.c │ │ ├── tt.c │ │ ├── types.c │ │ ├── uni.c │ │ ├── uni32.c │ │ ├── vax.c │ │ ├── waterman14.c │ │ └── zuf.c │ ├── sort │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── gsl_heapsort.h │ │ ├── gsl_sort.h │ │ ├── gsl_sort_char.h │ │ ├── gsl_sort_double.h │ │ ├── gsl_sort_float.h │ │ ├── gsl_sort_int.h │ │ ├── gsl_sort_long.h │ │ ├── gsl_sort_long_double.h │ │ ├── gsl_sort_short.h │ │ ├── gsl_sort_uchar.h │ │ ├── gsl_sort_uint.h │ │ ├── gsl_sort_ulong.h │ │ ├── gsl_sort_ushort.h │ │ ├── gsl_sort_vector.h │ │ ├── gsl_sort_vector_char.h │ │ ├── gsl_sort_vector_double.h │ │ ├── gsl_sort_vector_float.h │ │ ├── gsl_sort_vector_int.h │ │ ├── gsl_sort_vector_long.h │ │ ├── gsl_sort_vector_long_double.h │ │ ├── gsl_sort_vector_short.h │ │ ├── gsl_sort_vector_uchar.h │ │ ├── gsl_sort_vector_uint.h │ │ ├── gsl_sort_vector_ulong.h │ │ ├── gsl_sort_vector_ushort.h │ │ ├── sort.c │ │ ├── sortind.c │ │ ├── sortvec.c │ │ ├── sortvec_source.c │ │ ├── sortvecind.c │ │ ├── sortvecind_source.c │ │ ├── subset.c │ │ ├── subset_source.c │ │ ├── subsetind.c │ │ ├── subsetind_source.c │ │ ├── test.c │ │ ├── test_heapsort.c │ │ └── test_source.c │ ├── specfunc │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── airy.c │ │ ├── airy_der.c │ │ ├── airy_zero.c │ │ ├── atanint.c │ │ ├── bessel.c │ │ ├── bessel.h │ │ ├── bessel_I0.c │ │ ├── bessel_I1.c │ │ ├── bessel_In.c │ │ ├── bessel_Inu.c │ │ ├── bessel_J0.c │ │ ├── bessel_J1.c │ │ ├── bessel_Jn.c │ │ ├── bessel_Jnu.c │ │ ├── bessel_K0.c │ │ ├── bessel_K1.c │ │ ├── bessel_Kn.c │ │ ├── bessel_Knu.c │ │ ├── bessel_Y0.c │ │ ├── bessel_Y1.c │ │ ├── bessel_Yn.c │ │ ├── bessel_Ynu.c │ │ ├── bessel_amp_phase.c │ │ ├── bessel_amp_phase.h │ │ ├── bessel_i.c │ │ ├── bessel_j.c │ │ ├── bessel_k.c │ │ ├── bessel_olver.c │ │ ├── bessel_olver.h │ │ ├── bessel_sequence.c │ │ ├── bessel_temme.c │ │ ├── bessel_temme.h │ │ ├── bessel_y.c │ │ ├── bessel_zero.c │ │ ├── beta.c │ │ ├── beta_inc.c │ │ ├── cheb_eval.c │ │ ├── cheb_eval_mode.c │ │ ├── chebyshev.h │ │ ├── check.h │ │ ├── clausen.c │ │ ├── coulomb.c │ │ ├── coulomb_bound.c │ │ ├── coupling.c │ │ ├── dawson.c │ │ ├── debye.c │ │ ├── dilog.c │ │ ├── elementary.c │ │ ├── ellint.c │ │ ├── elljac.c │ │ ├── erfc.c │ │ ├── error.h │ │ ├── eval.h │ │ ├── exp.c │ │ ├── expint.c │ │ ├── expint3.c │ │ ├── fermi_dirac.c │ │ ├── gamma.c │ │ ├── gamma_inc.c │ │ ├── gegenbauer.c │ │ ├── gsl_sf.h │ │ ├── gsl_sf_airy.h │ │ ├── gsl_sf_bessel.h │ │ ├── gsl_sf_clausen.h │ │ ├── gsl_sf_coulomb.h │ │ ├── gsl_sf_coupling.h │ │ ├── gsl_sf_dawson.h │ │ ├── gsl_sf_debye.h │ │ ├── gsl_sf_dilog.h │ │ ├── gsl_sf_elementary.h │ │ ├── gsl_sf_ellint.h │ │ ├── gsl_sf_elljac.h │ │ ├── gsl_sf_erf.h │ │ ├── gsl_sf_exp.h │ │ ├── gsl_sf_expint.h │ │ ├── gsl_sf_fermi_dirac.h │ │ ├── gsl_sf_gamma.h │ │ ├── gsl_sf_gegenbauer.h │ │ ├── gsl_sf_hyperg.h │ │ ├── gsl_sf_laguerre.h │ │ ├── gsl_sf_lambert.h │ │ ├── gsl_sf_legendre.h │ │ ├── gsl_sf_log.h │ │ ├── gsl_sf_mathieu.h │ │ ├── gsl_sf_pow_int.h │ │ ├── gsl_sf_psi.h │ │ ├── gsl_sf_result.h │ │ ├── gsl_sf_synchrotron.h │ │ ├── gsl_sf_transport.h │ │ ├── gsl_sf_trig.h │ │ ├── gsl_sf_zeta.h │ │ ├── gsl_specfunc.h │ │ ├── hyperg.c │ │ ├── hyperg.h │ │ ├── hyperg_0F1.c │ │ ├── hyperg_1F1.c │ │ ├── hyperg_2F0.c │ │ ├── hyperg_2F1.c │ │ ├── hyperg_U.c │ │ ├── laguerre.c │ │ ├── lambert.c │ │ ├── legendre.h │ │ ├── legendre_H3d.c │ │ ├── legendre_P.c │ │ ├── legendre_Qn.c │ │ ├── legendre_con.c │ │ ├── legendre_poly.c │ │ ├── legendre_source.c │ │ ├── log.c │ │ ├── mathieu_angfunc.c │ │ ├── mathieu_charv.c │ │ ├── mathieu_coeff.c │ │ ├── mathieu_radfunc.c │ │ ├── mathieu_workspace.c │ │ ├── poch.c │ │ ├── pow_int.c │ │ ├── psi.c │ │ ├── recurse.h │ │ ├── result.c │ │ ├── shint.c │ │ ├── sinint.c │ │ ├── synchrotron.c │ │ ├── test_airy.c │ │ ├── test_bessel.c │ │ ├── test_coulomb.c │ │ ├── test_dilog.c │ │ ├── test_gamma.c │ │ ├── test_hyperg.c │ │ ├── test_legendre.c │ │ ├── test_mathieu.c │ │ ├── test_sf.c │ │ ├── test_sf.h │ │ ├── transport.c │ │ ├── trig.c │ │ └── zeta.c │ ├── statistics │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── absdev.c │ │ ├── absdev_source.c │ │ ├── covariance.c │ │ ├── covariance_source.c │ │ ├── gsl_statistics.h │ │ ├── gsl_statistics_char.h │ │ ├── gsl_statistics_double.h │ │ ├── gsl_statistics_float.h │ │ ├── gsl_statistics_int.h │ │ ├── gsl_statistics_long.h │ │ ├── gsl_statistics_long_double.h │ │ ├── gsl_statistics_short.h │ │ ├── gsl_statistics_uchar.h │ │ ├── gsl_statistics_uint.h │ │ ├── gsl_statistics_ulong.h │ │ ├── gsl_statistics_ushort.h │ │ ├── kurtosis.c │ │ ├── kurtosis_source.c │ │ ├── lag1.c │ │ ├── lag1_source.c │ │ ├── mean.c │ │ ├── mean_source.c │ │ ├── median.c │ │ ├── median_source.c │ │ ├── minmax.c │ │ ├── minmax_source.c │ │ ├── p_variance.c │ │ ├── p_variance_source.c │ │ ├── quantiles.c │ │ ├── quantiles_source.c │ │ ├── skew.c │ │ ├── skew_source.c │ │ ├── test.c │ │ ├── test_float_source.c │ │ ├── test_int_source.c │ │ ├── test_nist.c │ │ ├── ttest.c │ │ ├── ttest_source.c │ │ ├── variance.c │ │ ├── variance_source.c │ │ ├── wabsdev.c │ │ ├── wabsdev_source.c │ │ ├── wkurtosis.c │ │ ├── wkurtosis_source.c │ │ ├── wmean.c │ │ ├── wmean_source.c │ │ ├── wskew.c │ │ ├── wskew_source.c │ │ ├── wvariance.c │ │ └── wvariance_source.c │ ├── sys │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── coerce.c │ │ ├── expm1.c │ │ ├── fcmp.c │ │ ├── fdiv.c │ │ ├── gsl_sys.h │ │ ├── hypot.c │ │ ├── infnan.c │ │ ├── invhyp.c │ │ ├── ldfrexp.c │ │ ├── log1p.c │ │ ├── minmax.c │ │ ├── pow_int.c │ │ ├── prec.c │ │ └── test.c │ ├── templates_off.h │ ├── templates_on.h │ ├── test-driver │ ├── test │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── gsl_test.h │ │ └── results.c │ ├── test_gsl_histogram.sh │ ├── utils │ │ ├── Makefile.am │ │ ├── README │ │ ├── memcpy.c │ │ ├── memmove.c │ │ ├── placeholder.c │ │ ├── strdup.c │ │ ├── strtol.c │ │ ├── strtoul.c │ │ └── system.h │ ├── vector │ │ ├── ChangeLog │ │ ├── Makefile.am │ │ ├── TODO │ │ ├── copy.c │ │ ├── copy_source.c │ │ ├── file.c │ │ ├── file_source.c │ │ ├── gsl_vector.h │ │ ├── gsl_vector_char.h │ │ ├── gsl_vector_complex.h │ │ ├── gsl_vector_complex_double.h │ │ ├── gsl_vector_complex_float.h │ │ ├── gsl_vector_complex_long_double.h │ │ ├── gsl_vector_double.h │ │ ├── gsl_vector_float.h │ │ ├── gsl_vector_int.h │ │ ├── gsl_vector_long.h │ │ ├── gsl_vector_long_double.h │ │ ├── gsl_vector_short.h │ │ ├── gsl_vector_uchar.h │ │ ├── gsl_vector_uint.h │ │ ├── gsl_vector_ulong.h │ │ ├── gsl_vector_ushort.h │ │ ├── init.c │ │ ├── init_source.c │ │ ├── minmax.c │ │ ├── minmax_source.c │ │ ├── oper.c │ │ ├── oper_complex_source.c │ │ ├── oper_source.c │ │ ├── prop.c │ │ ├── prop_source.c │ │ ├── reim.c │ │ ├── reim_source.c │ │ ├── subvector.c │ │ ├── subvector_source.c │ │ ├── swap.c │ │ ├── swap_source.c │ │ ├── test.c │ │ ├── test_complex_source.c │ │ ├── test_source.c │ │ ├── test_static.c │ │ ├── vector.c │ │ ├── view.c │ │ ├── view.h │ │ └── view_source.c │ └── version.c └── jemalloc │ ├── .appveyor.yml │ ├── .autom4te.cfg │ ├── .travis.yml │ ├── COPYING │ ├── ChangeLog │ ├── INSTALL.md │ ├── Makefile.in │ ├── README │ ├── autogen.sh │ ├── bin │ ├── jemalloc-config.in │ ├── jemalloc.sh.in │ └── jeprof.in │ ├── build-aux │ ├── config.guess │ ├── config.sub │ └── install-sh │ ├── config.stamp.in │ ├── configure.ac │ ├── doc │ ├── html.xsl.in │ ├── jemalloc.xml.in │ ├── manpages.xsl.in │ └── stylesheet.xsl │ ├── include │ ├── jemalloc │ │ ├── internal │ │ │ ├── arena_externs.h │ │ │ ├── arena_inlines_a.h │ │ │ ├── arena_inlines_b.h │ │ │ ├── arena_structs_a.h │ │ │ ├── arena_structs_b.h │ │ │ ├── arena_types.h │ │ │ ├── assert.h │ │ │ ├── atomic.h │ │ │ ├── atomic_c11.h │ │ │ ├── atomic_gcc_atomic.h │ │ │ ├── atomic_gcc_sync.h │ │ │ ├── atomic_msvc.h │ │ │ ├── background_thread_externs.h │ │ │ ├── background_thread_inlines.h │ │ │ ├── background_thread_structs.h │ │ │ ├── base_externs.h │ │ │ ├── base_inlines.h │ │ │ ├── base_structs.h │ │ │ ├── base_types.h │ │ │ ├── bit_util.h │ │ │ ├── bitmap.h │ │ │ ├── ckh.h │ │ │ ├── ctl.h │ │ │ ├── extent_dss_externs.h │ │ │ ├── extent_dss_structs.h │ │ │ ├── extent_dss_types.h │ │ │ ├── extent_externs.h │ │ │ ├── extent_inlines.h │ │ │ ├── extent_mmap_externs.h │ │ │ ├── extent_structs.h │ │ │ ├── extent_types.h │ │ │ ├── hash.h │ │ │ ├── hooks.h │ │ │ ├── jemalloc_internal_decls.h │ │ │ ├── jemalloc_internal_defs.h.in │ │ │ ├── jemalloc_internal_externs.h │ │ │ ├── jemalloc_internal_includes.h │ │ │ ├── jemalloc_internal_inlines_a.h │ │ │ ├── jemalloc_internal_inlines_b.h │ │ │ ├── jemalloc_internal_inlines_c.h │ │ │ ├── jemalloc_internal_macros.h │ │ │ ├── jemalloc_internal_types.h │ │ │ ├── jemalloc_preamble.h.in │ │ │ ├── large_externs.h │ │ │ ├── malloc_io.h │ │ │ ├── mutex.h │ │ │ ├── mutex_pool_inlines.h │ │ │ ├── mutex_pool_structs.h │ │ │ ├── mutex_prof.h │ │ │ ├── nstime.h │ │ │ ├── pages.h │ │ │ ├── ph.h │ │ │ ├── private_namespace.sh │ │ │ ├── private_symbols.sh │ │ │ ├── prng.h │ │ │ ├── prof_externs.h │ │ │ ├── prof_inlines_a.h │ │ │ ├── prof_inlines_b.h │ │ │ ├── prof_structs.h │ │ │ ├── prof_types.h │ │ │ ├── public_namespace.sh │ │ │ ├── public_unnamespace.sh │ │ │ ├── ql.h │ │ │ ├── qr.h │ │ │ ├── rb.h │ │ │ ├── rtree_ctx.h │ │ │ ├── rtree_externs.h │ │ │ ├── rtree_inlines.h │ │ │ ├── rtree_structs.h │ │ │ ├── rtree_types.h │ │ │ ├── size_classes.sh │ │ │ ├── smoothstep.h │ │ │ ├── smoothstep.sh │ │ │ ├── spin.h │ │ │ ├── stats.h │ │ │ ├── stats_tsd.h │ │ │ ├── tcache_externs.h │ │ │ ├── tcache_inlines.h │ │ │ ├── tcache_structs.h │ │ │ ├── tcache_types.h │ │ │ ├── ticker.h │ │ │ ├── tsd.h │ │ │ ├── tsd_generic.h │ │ │ ├── tsd_malloc_thread_cleanup.h │ │ │ ├── tsd_tls.h │ │ │ ├── tsd_types.h │ │ │ ├── tsd_win.h │ │ │ ├── util.h │ │ │ └── witness.h │ │ ├── jemalloc.sh │ │ ├── jemalloc_defs.h.in │ │ ├── jemalloc_macros.h.in │ │ ├── jemalloc_mangle.sh │ │ ├── jemalloc_protos.h.in │ │ ├── jemalloc_rename.sh │ │ └── jemalloc_typedefs.h.in │ └── msvc_compat │ │ ├── C99 │ │ ├── stdbool.h │ │ └── stdint.h │ │ ├── strings.h │ │ └── windows_extra.h │ ├── jemalloc.pc.in │ ├── m4 │ └── ax_cxx_compile_stdcxx.m4 │ ├── msvc │ ├── ReadMe.txt │ ├── jemalloc_vc2015.sln │ └── projects │ │ └── vc2015 │ │ ├── jemalloc │ │ ├── jemalloc.vcxproj │ │ └── jemalloc.vcxproj.filters │ │ └── test_threads │ │ ├── test_threads.cpp │ │ ├── test_threads.h │ │ ├── test_threads.vcxproj │ │ ├── test_threads.vcxproj.filters │ │ └── test_threads_main.cpp │ ├── run_tests.sh │ ├── scripts │ ├── gen_run_tests.py │ └── gen_travis.py │ ├── src │ ├── arena.c │ ├── background_thread.c │ ├── base.c │ ├── bitmap.c │ ├── ckh.c │ ├── ctl.c │ ├── extent.c │ ├── extent_dss.c │ ├── extent_mmap.c │ ├── hash.c │ ├── hooks.c │ ├── jemalloc.c │ ├── jemalloc_cpp.cpp │ ├── large.c │ ├── malloc_io.c │ ├── mutex.c │ ├── mutex_pool.c │ ├── nstime.c │ ├── pages.c │ ├── prng.c │ ├── prof.c │ ├── rtree.c │ ├── spin.c │ ├── stats.c │ ├── tcache.c │ ├── ticker.c │ ├── tsd.c │ ├── witness.c │ └── zone.c │ └── test │ ├── include │ └── test │ │ ├── SFMT-alti.h │ │ ├── SFMT-params.h │ │ ├── SFMT-params11213.h │ │ ├── SFMT-params1279.h │ │ ├── SFMT-params132049.h │ │ ├── SFMT-params19937.h │ │ ├── SFMT-params216091.h │ │ ├── SFMT-params2281.h │ │ ├── SFMT-params4253.h │ │ ├── SFMT-params44497.h │ │ ├── SFMT-params607.h │ │ ├── SFMT-params86243.h │ │ ├── SFMT-sse2.h │ │ ├── SFMT.h │ │ ├── btalloc.h │ │ ├── extent_hooks.h │ │ ├── jemalloc_test.h.in │ │ ├── jemalloc_test_defs.h.in │ │ ├── math.h │ │ ├── mq.h │ │ ├── mtx.h │ │ ├── test.h │ │ ├── thd.h │ │ └── timer.h │ ├── integration │ ├── MALLOCX_ARENA.c │ ├── aligned_alloc.c │ ├── allocated.c │ ├── cpp │ │ └── basic.cpp │ ├── extent.c │ ├── extent.sh │ ├── mallocx.c │ ├── mallocx.sh │ ├── overflow.c │ ├── posix_memalign.c │ ├── rallocx.c │ ├── sdallocx.c │ ├── thread_arena.c │ ├── thread_tcache_enabled.c │ ├── xallocx.c │ └── xallocx.sh │ ├── src │ ├── SFMT.c │ ├── btalloc.c │ ├── btalloc_0.c │ ├── btalloc_1.c │ ├── math.c │ ├── mq.c │ ├── mtx.c │ ├── test.c │ ├── thd.c │ └── timer.c │ ├── stress │ └── microbench.c │ ├── test.sh.in │ └── unit │ ├── SFMT.c │ ├── a0.c │ ├── arena_reset.c │ ├── arena_reset_prof.c │ ├── arena_reset_prof.sh │ ├── atomic.c │ ├── background_thread.c │ ├── base.c │ ├── bit_util.c │ ├── bitmap.c │ ├── ckh.c │ ├── decay.c │ ├── decay.sh │ ├── extent_quantize.c │ ├── fork.c │ ├── hash.c │ ├── hooks.c │ ├── junk.c │ ├── junk.sh │ ├── junk_alloc.c │ ├── junk_alloc.sh │ ├── junk_free.c │ ├── junk_free.sh │ ├── mallctl.c │ ├── malloc_io.c │ ├── math.c │ ├── mq.c │ ├── mtx.c │ ├── nstime.c │ ├── pack.c │ ├── pack.sh │ ├── pages.c │ ├── ph.c │ ├── prng.c │ ├── prof_accum.c │ ├── prof_accum.sh │ ├── prof_active.c │ ├── prof_active.sh │ ├── prof_gdump.c │ ├── prof_gdump.sh │ ├── prof_idump.c │ ├── prof_idump.sh │ ├── prof_reset.c │ ├── prof_reset.sh │ ├── prof_tctx.c │ ├── prof_tctx.sh │ ├── prof_thread_name.c │ ├── prof_thread_name.sh │ ├── ql.c │ ├── qr.c │ ├── rb.c │ ├── rtree.c │ ├── size_classes.c │ ├── slab.c │ ├── smoothstep.c │ ├── spin.c │ ├── stats.c │ ├── stats_print.c │ ├── ticker.c │ ├── tsd.c │ ├── witness.c │ ├── zero.c │ └── zero.sh ├── m4 ├── ax_cxx_compile_stdcxx.m4 ├── ax_cxx_compile_stdcxx_11.m4 └── utility_empty_file ├── models ├── heavy_pen_substitution_matrix.csv ├── human │ ├── IGK │ │ ├── models │ │ │ ├── model_marginals.txt │ │ │ └── model_parms.txt │ │ └── ref_genome │ │ │ ├── J_gene_CDR3_anchors.csv │ │ │ ├── V_gene_CDR3_anchors.csv │ │ │ ├── genomicJs.fasta │ │ │ └── genomicVs.fasta │ ├── IGL │ │ ├── models │ │ │ ├── model_marginals.txt │ │ │ └── model_parms.txt │ │ └── ref_genome │ │ │ ├── J_gene_CDR3_anchors.csv │ │ │ ├── V_gene_CDR3_anchors.csv │ │ │ ├── genomicJs.fasta │ │ │ └── genomicVs.fasta │ ├── bcr_heavy │ │ ├── model.info │ │ ├── models │ │ │ ├── model_marginals.txt │ │ │ └── model_parms.txt │ │ ├── ref_genome │ │ │ ├── J_gene_CDR3_anchors.csv │ │ │ ├── V_gene_CDR3_anchors.csv │ │ │ ├── genomicDs.fasta │ │ │ ├── genomicJs.fasta │ │ │ └── genomicVs.fasta │ │ └── supplementary_models │ │ │ ├── ind_3mer_D_hyperm_parms.txt │ │ │ ├── ind_3mer_J_hyperm_parms.txt │ │ │ ├── ind_3mer_V_hyperm_parms.txt │ │ │ ├── ind_5mer_D_hyperm_parms.txt │ │ │ ├── ind_5mer_J_hyperm_parms.txt │ │ │ ├── ind_5mer_V_hyperm_parms.txt │ │ │ ├── ind_7mer_D_hyperm_parms.txt │ │ │ ├── ind_7mer_J_hyperm_parms.txt │ │ │ ├── ind_7mer_V_hyperm_parms.txt │ │ │ ├── ind_9mer_D_hyperm_parms.txt │ │ │ ├── ind_9mer_J_hyperm_parms.txt │ │ │ ├── ind_9mer_V_hyperm_parms.txt │ │ │ └── models.info │ ├── tcr_alpha │ │ ├── model.info │ │ ├── models │ │ │ ├── model_marginals.txt │ │ │ └── model_parms.txt │ │ └── ref_genome │ │ │ ├── J_gene_CDR3_anchors.csv │ │ │ ├── V_gene_CDR3_anchors.csv │ │ │ ├── genomicJs.fasta │ │ │ └── genomicVs.fasta │ └── tcr_beta │ │ ├── model.info │ │ ├── models │ │ ├── model_marginals.txt │ │ └── model_parms.txt │ │ ├── ref_genome │ │ ├── J_gene_CDR3_anchors.csv │ │ ├── V_gene_CDR3_anchors.csv │ │ ├── genomicDs.fasta │ │ ├── genomicJs.fasta │ │ └── genomicVs.fasta │ │ └── supplementary_models │ │ ├── naive_1 │ │ ├── final_marginals.txt │ │ ├── final_parms.txt │ │ └── model.info │ │ └── naive_4 │ │ ├── final_marginals.txt │ │ ├── final_parms.txt │ │ └── model.info └── mouse │ └── tcr_beta │ ├── model.info │ ├── models │ ├── model_marginals.txt │ └── model_parms.txt │ └── ref_genome │ ├── J_gene_CDR3_anchors.csv │ ├── V_gene_CDR3_anchors.csv │ ├── genomicDs.fasta │ ├── genomicJs.fasta │ └── genomicVs.fasta ├── pygor ├── LICENSE ├── MANIFEST.in ├── pygor │ ├── __init__.py │ ├── aligns │ │ ├── CDR3_tools.py │ │ ├── __init__.py │ │ └── align_read.py │ ├── counters │ │ ├── __init__.py │ │ ├── bestscenarios │ │ │ ├── __init__.py │ │ │ └── bestscenarios.py │ │ └── coverage │ │ │ ├── __init__.py │ │ │ └── coverage.py │ ├── models │ │ ├── __init__.py │ │ ├── entropy.py │ │ ├── genmodel.py │ │ └── hypermglobal.py │ └── utils │ │ ├── __init__.py │ │ └── utils.py ├── requirements.txt └── setup.py └── scripts └── igor-compute_pgen /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a bug report to help us improve IGoR's code 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **Additional context** 14 | Some pointers on what to put in the context: 15 | - What were you trying to achieve? 16 | - On which species? 17 | - What kind of sequencing technology? 18 | - Preprocessing steps used 19 | 20 | **Steps to reproduce the bug** 21 | If possible isolate a single problematic sequence to illustrate the problem. 22 | Provide the used command lines and/or main.cpp custom code. 23 | 24 | **Expected behavior** 25 | A clear and concise description of what you expected to happen. 26 | 27 | 28 | **System information:** 29 | - IGoR version [e.g. 1.2.0] 30 | - OS: [e.g. Ubuntu 20.04] 31 | - Compiler and compiler version [e.g GCC 8.1] 32 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea/new feature for IGoR 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'd like to extract [such information] from my dataset [...] 12 | 13 | **Additional context** 14 | 15 | **Additional context** 16 | Some pointers on what to put in the context: 17 | - What were you trying to achieve? 18 | - On which species? 19 | - What kind of sequencing technology? 20 | - Preprocessing steps used 21 | 22 | **Describe the solution you'd like** 23 | A clear and concise description of what you want to happen. 24 | 25 | **Describe alternatives you've considered** 26 | A clear and concise description of any alternative solutions or features you've considered. 27 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Question template 3 | about: Ask a question about IGoR's usage and features you do not understand 4 | title: '' 5 | labels: question 6 | assignees: '' 7 | 8 | --- 9 | 10 | Before posting a new question please make sure your question is not already addressed in the [documentation](https://qmarcou.github.io/IGoR/#command-line-tools). 11 | 12 | Please also make sure that your question has not already been addressed in another issue. 13 | You can filter issues labeled as "question" in the issue tab, by filtering on labels (by clicking on the "Labels" button at the right of the issue search bar) and selecting only the "question" label. Please make sure to review both open and closed issues (you can display all issues at once by removing the `is:open` filter in the search tab). 14 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | ACLOCAL_AMFLAGS = -I m4 2 | SUBDIRS = libs igor_src 3 | 4 | # modelsdir = $(pkgdatadir) 5 | # models_DATA = models demo 6 | 7 | #Since automake cannot copy directly directories another workaround: 8 | 9 | demodir = $(pkgdatadir)/demo 10 | demo_DATA = demo/genomicVs_with_primers.fasta demo/genomicDs.fasta demo/genomicJs_all_curated.fasta demo/murugan_naive1_noncoding_demo_seqs.txt 11 | 12 | #Install the generated man pages 13 | man_MANS = igor.1 14 | 15 | # Scripts 16 | bin_SCRIPTS = \ 17 | scripts/igor-compute_pgen 18 | 19 | 20 | install-data-local: 21 | mkdir -p $(DESTDIR)$(pkgdatadir)/models 22 | cp -r models/* $(DESTDIR)$(pkgdatadir)/models 23 | 24 | uninstall-local: 25 | rm -rf $(pkgdatadir)/models 26 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #First need to build the configure script for jemalloc using autogen 4 | cd libs/jemalloc 5 | bash autogen.sh 6 | cd ../.. 7 | CURRENT_DIR=`pwd` 8 | echo Back in $CURRENT_DIR directory 9 | 10 | #Rename jemalloc configure.ac file to prevent it from messing with autoconf configuration 11 | if [ -e "./libs/jemalloc/configure.ac" ] 12 | then 13 | echo "Temporarily Renaming jemalloc configure.ac to prevent it from messing with autoconf" 14 | mv ./libs/jemalloc/configure.ac ./libs/jemalloc/configure.ac_tmp 15 | fi 16 | 17 | #Run the autotools in order to obtain configure scripts 18 | autoreconf --install 19 | 20 | if [ -e "./libs/jemalloc/configure.ac_tmp" ] 21 | then 22 | mv ./libs/jemalloc/configure.ac_tmp ./libs/jemalloc/configure.ac 23 | fi 24 | 25 | # Create a man page and html README from the asciidoc using asciidoctor 26 | asciidoctor -b html5 -o README.html README.adoc 27 | asciidoctor -b manpage -d manpage -o igor.1 ./docs/man/igor_manpage.adoc 28 | 29 | # Create the Doxygen documentation 30 | doxygen doxygen.config 31 | cd ./docs/latex/ 32 | make all 33 | cd ../.. 34 | mv ./docs/latex/refman.pdf ./docs/IGoR_CPP_manual.pdf 35 | 36 | -------------------------------------------------------------------------------- /build_igor_asciidoc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "Building HTML output for IGoR asciidoc documentation..." 3 | asciidoctor --doctype=article --backend=html --destination-dir=./docs/ --out-file=index.html -linkcss -a stylesheet=golo.css -a stylesdir=../ ./docs/asciidoc/IGoR_documentation.adoc 4 | echo "Done." 5 | -------------------------------------------------------------------------------- /contributors.txt: -------------------------------------------------------------------------------- 1 | Q Marcou 2 | -------------------------------------------------------------------------------- /demo/genomicDs.fasta: -------------------------------------------------------------------------------- 1 | > TRBD1*01 2 | gggacagggggc 3 | > TRBD2*01 4 | gggactagcggggggg 5 | > TRBD2*02 6 | gggactagcgggaggg -------------------------------------------------------------------------------- /docs/.empty_file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmarcou/IGoR/0453bb1a0b42acb4137a9a284eea9136984563c3/docs/.empty_file -------------------------------------------------------------------------------- /docs/asciidoc/alignments/alignments.adoc: -------------------------------------------------------------------------------- 1 | [[alignments]] 2 | Alignments 3 | ~~~~~~~~~~ 4 | 5 | [[algorithm]] 6 | Algorithm 7 | ^^^^^^^^^ 8 | 9 | Performs Smith-Waterman alignments of the genomic templates. Using a 10 | slight alteration of the Smith-Waterman score matrix, we enforce that V 11 | can only be deleted on the 3' side and J on the 5' side (thus enforcing 12 | the alignment on the other side until the end of the read or of the 13 | genomic template). D is aligned using a classical Smith-Waterman local 14 | alignment approach allowing gene deletions on both sides. 15 | 16 | WARNING: Alignments represent a critical step for a precise probabilistic 17 | characterization of your sequences. Make sure you use all the information you 18 | have on your sequences (e.g use the knowledge of your primers positions to 19 | provide template specific alignment offsets) for optimal result. 20 | 21 | include::alignment_commands.adoc[] 22 | 23 | include::alignments_output.adoc[] 24 | -------------------------------------------------------------------------------- /docs/asciidoc/alignments/offsets.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmarcou/IGoR/0453bb1a0b42acb4137a9a284eea9136984563c3/docs/asciidoc/alignments/offsets.adoc -------------------------------------------------------------------------------- /docs/asciidoc/general/contribute.adoc: -------------------------------------------------------------------------------- 1 | [[contribute]] 2 | Contribute 3 | ---------- 4 | 5 | * Your feedbacks are valuable, please send your comments about 6 | usability, bug reports and new features you would like to see 7 | * Code contribution: IGoR was designed to be modular and evolve, please 8 | get in touch if you would like to do something new with your data and 9 | would like some more guidance on the code structure 10 | 11 | If you would like to share some improvements on IGoR's code please file a pull 12 | request according to this logic: 13 | 14 | * If you'd like to propose a change in the documentation of existing functions 15 | to provide clearer insights please file your pull request on the `master` branch. 16 | * If you'd like to propose a bug fix for a function already present in a release 17 | file your pull request on the `master` branch. 18 | * If you'd like to propose a new functionality and its associated documentation 19 | please file your pull request on the `dev` branch. 20 | -------------------------------------------------------------------------------- /docs/asciidoc/general/cpp_interface.adoc: -------------------------------------------------------------------------------- 1 | [[c]] 2 | C++ 3 | --- 4 | 5 | Although a few command line options are supplied for basic use of IGoR, 6 | its full modularity can be used through high level C++ functions on 7 | which all previous command lines are built. A section of the _main.cpp_ 8 | file is dedicated to accept user supplied code and can be executed using 9 | the `-run_custom` command line argument when launching IGoR from the 10 | shell. An example of the high level workflow is given in the _run demo_ 11 | section and the full Doxygen generated documentation is available as 12 | PDF. For any question please contact us. 13 | 14 | Good practice would be to append the C++ code in the dedicated area of the 15 | _main.cpp_ file: 16 | [source,cpp,indent=0] 17 | ---- 18 | else{ 19 | //Write your custom procedure here 20 | // <1> 21 | } 22 | ---- 23 | <1> Insert you custom code here. 24 | 25 | 26 | This part of the code is reachable using the `-run_custom` command line argument. 27 | This design aims at keeping the command line interface fully functional while 28 | still appending some custom code. 29 | 30 | -------------------------------------------------------------------------------- /docs/asciidoc/general/general_commands.adoc: -------------------------------------------------------------------------------- 1 | [[command-line-tools]] 2 | Command line tools 3 | ------------------ 4 | 5 | Although the full flexibility of IGoR is reachable through C\++ highlevel 6 | functions (see the <>) we provide some command line options to 7 | perform most frequent tasks on immune receptor sequences. 8 | 9 | Command options are nested arguments, the general organization of the 10 | commands follows `-arg1 --subarg1 ---subsubarg1` to reach the different 11 | levels. 12 | 13 | [[general]] 14 | General 15 | ~~~~~~~ 16 | 17 | include::general_command_lines.adoc[] 18 | 19 | include::scripts.adoc[] 20 | 21 | -------------------------------------------------------------------------------- /docs/asciidoc/general/python_interface.adoc: -------------------------------------------------------------------------------- 1 | [[python]] 2 | Python 3 | ------ 4 | 5 | A set of Python codes are shipped with Igor in order to parse IGoR's 6 | outputs (alignments,models etc) as the *pygor* module. 7 | This module can be installed locally with pip using the included 8 | `setup.py` file (use command `pip install ./pygor` from within the IGoR directory). 9 | -------------------------------------------------------------------------------- /docs/asciidoc/general/runtimes.adoc: -------------------------------------------------------------------------------- 1 | [[runtimes]] 2 | Runtimes 3 | -------- 4 | 5 | As runtimes may evolve with IGoR's maturation, below is a table 6 | recapitulating the latest per sequence runtimes for different tasks on 7 | different chains: 8 | 9 | [width="99%",cols="<20%,<40%,<40%",options="header",] 10 | |======================================================================= 11 | |Chain/Read |(Pre)Alignments time (seconds) |Probabilistic treatment 12 | time (seconds) 13 | |TRA 100bp |0.3 |10^-4^ 14 | 15 | |TRB 60bp |0.1 |0.1 16 | 17 | |IGH 130bp |0.2 |0.2 18 | |======================================================================= 19 | 20 | -------------------------------------------------------------------------------- /docs/asciidoc/general/scripts.adoc: -------------------------------------------------------------------------------- 1 | [[scripts]] 2 | Bash scripts 3 | ^^^^^^^^^^^^ 4 | 5 | A set of bash scripts for common tasks using igor. 6 | We can use igor-compute_pgen to calculate the Pgen of 7 | a specific sequence. 8 | 9 | [source,shell] 10 | ---- 11 | igor-compute_pgen 12 | ---- 13 | Example 14 | 15 | [source,shell] 16 | ---- 17 | igor-compute_pgen human beta actcagctttgtatttctgtgccagcagcgtagattgggacagggggcctcctacgagcagtacgtcgggccg 18 | ---- 19 | 20 | -------------------------------------------------------------------------------- /docs/asciidoc/general/workflow.adoc: -------------------------------------------------------------------------------- 1 | [[workflow]] 2 | Workflow 3 | -------- 4 | 5 | As a preprocessing step IGoR first needs to align the genomic templates 6 | to the read (`-align`, see detailed commands in the <>) before exploring all putative recombination 7 | scenarios for this read. After aligning IGoR can be used to infer a 8 | recombination model (`-infer`, see the <>), evaluate sequences statistics 9 | (`-evaluate`) using an already inferred model. Synthetic sequences can 10 | be generated from a learned model (as one supplied by IGoR, or one 11 | inferred de novo through the `-infer` command) with the `-generate` (see the <>) 12 | command. 13 | 14 | include::workflow/supplied_models.adoc[] 15 | 16 | include::workflow/model_validity.adoc[] 17 | -------------------------------------------------------------------------------- /docs/asciidoc/general/workflow/model_validity.adoc: -------------------------------------------------------------------------------- 1 | [[models-validity]] 2 | Validity of the recombination and error models 3 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 | 5 | Some text discussing the validity of error and recombination models 6 | -------------------------------------------------------------------------------- /docs/asciidoc/general/workflow/supplied_models.adoc: -------------------------------------------------------------------------------- 1 | [[using-predefined-genomic-templates-and-models]] 2 | Predefined genomic templates and models 3 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 | 5 | IGoR is shipped with a set of genomic templates and already inferred 6 | models from [https://www.nature.com/articles/s41467-018-02832-w[1]]. 7 | 8 | *In order to use the predefined models and demo IGoR must have been 9 | installed on your system.* 10 | 11 | Available options are listed below: 12 | 13 | include::supplied_models_table.adoc[] 14 | 15 | If you are working on datasets not present in this list refer to the 16 | <> and/or <> us for assistance. Help us 17 | filling this database for other users and share the resulting models 18 | with us! 19 | 20 | -------------------------------------------------------------------------------- /docs/asciidoc/general/workflow/supplied_models_table.adoc: -------------------------------------------------------------------------------- 1 | [cols="<,<",options="header",] 2 | |======================= 3 | |Species |Chains 4 | |human |TRA (or alpha), TRB (or beta), IGH (or heavy chain), IGL (or lambda light chain), IGK (or kappa light chain) 5 | |mouse |TRB (or beta) 6 | |======================= 7 | -------------------------------------------------------------------------------- /docs/asciidoc/general/working_directory.adoc: -------------------------------------------------------------------------------- 1 | [[working-directory]] 2 | Working directory 3 | ^^^^^^^^^^^^^^^^^ 4 | 5 | This is where all IGoR outputs will appear. Specific folders will be 6 | created for alignments, inference, evaluation and outputs. 7 | 8 | -------------------------------------------------------------------------------- /docs/asciidoc/generation/generation.adoc: -------------------------------------------------------------------------------- 1 | [[sequence-generation]] 2 | Sequence generation 3 | ~~~~~~~~~~~~~~~~~~~ 4 | 5 | Using a recombination model and its associated probabilities IGoR can 6 | generate random sequences mimicking the raw product of the V(D)J 7 | recombination process. 8 | 9 | include::generation_commands.adoc[] 10 | -------------------------------------------------------------------------------- /docs/asciidoc/inference/inference.adoc: -------------------------------------------------------------------------------- 1 | [[inference-and-evaluation]] 2 | Inference and evaluation 3 | ~~~~~~~~~~~~~~~~~~~~~~~~ 4 | 5 | include::inference_commands.adoc[] 6 | 7 | include::inference_output.adoc[] 8 | 9 | include::inference_troubleshoots.adoc[] 10 | -------------------------------------------------------------------------------- /docs/asciidoc/outputs/best_scenarios.adoc: -------------------------------------------------------------------------------- 1 | [[best-scenarios]] 2 | Best scenarios 3 | ^^^^^^^^^^^^^^ 4 | 5 | _Output the N best scenarios for each sequence_ 6 | 7 | Use command `--scenarios N` 8 | 9 | The output of this Counter is a semicolon separated values file with one 10 | field for each event realization, associated mismatches/errors/mutations 11 | indices on the read, the scenario rank, its associated probability and 12 | the sequence index. 13 | Python functions to parse the output of the Best scenario counter can be 14 | found in the `pygor.counters.bestscenarios` submodule. 15 | -------------------------------------------------------------------------------- /docs/asciidoc/outputs/coverage.adoc: -------------------------------------------------------------------------------- 1 | [[coverage]] 2 | Coverage 3 | ^^^^^^^^ 4 | 5 | _Counts for each genomic nucleotide how many times it has been seen and 6 | how many times it was mutated/erroneous_ 7 | 8 | Use command `--coverage` 9 | 10 | -------------------------------------------------------------------------------- /docs/asciidoc/outputs/outputs.adoc: -------------------------------------------------------------------------------- 1 | [[outputs]] 2 | Outputs 3 | ~~~~~~~ 4 | 5 | Outputs or Counters in the C++ interface are scenario/sequence 6 | statistics, each individually presented below. They are all written in 7 | the _output_ folder (or _batchname_output_ if a batchname was supplied). 8 | 9 | In order to specify outputs use the `-output` argument, and detail the 10 | desired list of outputs. Outputs are tied to the exploration of 11 | scenarios and thus require to have `-infer` or `-evaluate` in the same 12 | command. Note that although it might be interesting to track some 13 | outputs during the inference for debugging purposes, best practice would 14 | be to use it along with evaluation. 15 | 16 | The different outputs are detailed in the next sections. 17 | 18 | Python utility functions are provided to analyze these outputs in the 19 | `pygor.counters` submodule. 20 | 21 | include::best_scenarios.adoc[] 22 | 23 | include::pgen.adoc[] 24 | 25 | include::coverage.adoc[] 26 | -------------------------------------------------------------------------------- /docs/asciidoc/outputs/pgen.adoc: -------------------------------------------------------------------------------- 1 | [[generation-probability]] 2 | Generation probability 3 | ^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | _Estimates the probability of generation of the error free/unmutated 6 | ancestor sequence_ By default only outputs an estimator of the 7 | probability of generation of the ancestor sequence underlying each 8 | sequencing read. See 9 | https://www.nature.com/articles/s41467-018-02832-w[IGoR's paper] for 10 | details. 11 | 12 | Use command `--Pgen` 13 | 14 | -------------------------------------------------------------------------------- /docs/asciidoc/version.adoc: -------------------------------------------------------------------------------- 1 | Latest released version: 1.4.0 2 | -------------------------------------------------------------------------------- /docs/body-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmarcou/IGoR/0453bb1a0b42acb4137a9a284eea9136984563c3/docs/body-bg.png -------------------------------------------------------------------------------- /docs/pre-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmarcou/IGoR/0453bb1a0b42acb4137a9a284eea9136984563c3/docs/pre-bg.png -------------------------------------------------------------------------------- /igor_src/CDR3SeqData.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * \class CDR3SeqData CDR3SeqData.h 4 | * \brief Class to store CDR3 information of a sequence. 5 | * \author C. Olivares 6 | * 7 | */ 8 | 9 | #ifndef CDR3SEQDATA_H 10 | #define CDR3SEQDATA_H 11 | 12 | class CDR3SeqData { 13 | public: 14 | CDR3SeqData(); 15 | CDR3SeqData(const CDR3SeqData& orig); 16 | virtual ~CDR3SeqData(); 17 | int seq_index; 18 | int v_anchor; 19 | int j_anchor; 20 | std::string CDR3nt; 21 | std::string CDR3aa; 22 | std::string strData(); 23 | 24 | private: 25 | 26 | }; 27 | 28 | #endif /* CDR3SEQDATA_H */ 29 | 30 | -------------------------------------------------------------------------------- /libs/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = gsl_sub jemalloc 2 | -------------------------------------------------------------------------------- /libs/gsl_sub/BUGS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmarcou/IGoR/0453bb1a0b42acb4137a9a284eea9136984563c3/libs/gsl_sub/BUGS -------------------------------------------------------------------------------- /libs/gsl_sub/autogen.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # Run this to generate all the auto-generated files needed by the GNU 4 | # configure program 5 | #libtoolize --automake 6 | #aclocal 7 | #autoheader 8 | #automake --add-missing --gnu --force-missing 9 | #autoconf 10 | autoreconf -i -f -v 11 | echo "Now use ./configure --enable-maintainer-mode" 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/blas/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgslblas.la 2 | 3 | noinst_HEADERS = gsl_blas.h gsl_blas_types.h 4 | 5 | AM_CPPFLAGS = -I$(top_srcdir) 6 | 7 | libgslblas_la_SOURCES = blas.c 8 | 9 | #check_PROGRAMS = test 10 | #TESTS = test 11 | #test_LDADD = libgslblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la 12 | #test_SOURCES = test_blas_raw.c test_cases.c test_cases.h 13 | 14 | 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/blas/TODO: -------------------------------------------------------------------------------- 1 | # -*- org -*- 2 | #+CATEGORY: blas 3 | 4 | 5 | * We need a test suite for this directory! 6 | 7 | * Verify that we support the full CBLAS interface and that the GSL 8 | CBLAS library can be used standalone 9 | 10 | * Check that substituting the Reference Blas, ATLAS, and Intel BLAS 11 | all work correctly 12 | 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/block/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgslblock.la 2 | 3 | check_PROGRAMS = test 4 | 5 | noinst_HEADERS = gsl_block.h gsl_block_char.h gsl_block_complex_double.h gsl_block_complex_float.h gsl_block_complex_long_double.h gsl_block_double.h gsl_block_float.h gsl_block_int.h gsl_block_long.h gsl_block_long_double.h gsl_block_short.h gsl_block_uchar.h gsl_block_uint.h gsl_block_ulong.h gsl_block_ushort.h gsl_check_range.h 6 | 7 | AM_CPPFLAGS = -I$(top_srcdir) 8 | 9 | TESTS = $(check_PROGRAMS) 10 | 11 | test_LDADD = libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la 12 | 13 | test_SOURCES = test.c 14 | 15 | CLEANFILES = test.txt test.dat 16 | 17 | noinst_HEADERS = block_source.c init_source.c fprintf_source.c fwrite_source.c test_complex_source.c test_source.c test_io.c test_complex_io.c 18 | 19 | libgslblock_la_SOURCES = init.c file.c block.c 20 | -------------------------------------------------------------------------------- /libs/gsl_sub/block/block_source.c: -------------------------------------------------------------------------------- 1 | /* block/block_source.c 2 | * 3 | * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 3 of the License, or (at 8 | * your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | size_t 21 | FUNCTION(gsl_block,size) (const TYPE(gsl_block) * b) 22 | { 23 | return b->size ; 24 | } 25 | 26 | ATOMIC * 27 | FUNCTION(gsl_block,data) (const TYPE(gsl_block) * b) 28 | { 29 | return b->data ; 30 | } 31 | -------------------------------------------------------------------------------- /libs/gsl_sub/block/gsl_block.h: -------------------------------------------------------------------------------- 1 | #ifndef __GSL_BLOCK_H__ 2 | #define __GSL_BLOCK_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #include 13 | #include 14 | 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | 21 | #include 22 | #include 23 | 24 | #endif /* __GSL_BLOCK_H__ */ 25 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/TODO: -------------------------------------------------------------------------------- 1 | # -*- org -*- 2 | #+CATEGORY: cblas 3 | 4 | use macros so that all complex arithmetic can use native complex types if compiler supports them 5 | 6 | make sure double/float are replaced by BASE everywhere 7 | well... not _everywhere_; internal accumulations should 8 | be done in double always; there's no reason not too, 9 | it's safer and maybe even faster [GJ] 10 | 11 | gbmv_c : use conj*imag instead of having branches form Trans & ConjTrans 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/caxpy.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_caxpy (const int N, const void *alpha, const void *X, const int incX, 7 | void *Y, const int incY) 8 | { 9 | #define BASE float 10 | #include "source_axpy_c.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cblas.h: -------------------------------------------------------------------------------- 1 | #define INDEX int 2 | #define OFFSET(N, incX) ((incX) > 0 ? 0 : ((N) - 1) * (-(incX))) 3 | #define BLAS_ERROR(x) cblas_xerbla(0, __FILE__, x); 4 | 5 | #define CONJUGATE(x) ((x) == CblasConjTrans) 6 | #define TRANSPOSE(x) ((x) == CblasTrans || (x) == CblasConjTrans) 7 | #define UPPER(x) ((x) == CblasUpper) 8 | #define LOWER(x) ((x) == CblasLower) 9 | 10 | /* Handling of packed complex types... */ 11 | 12 | #define REAL(a,i) (((BASE *) a)[2*(i)]) 13 | #define IMAG(a,i) (((BASE *) a)[2*(i)+1]) 14 | 15 | #define REAL0(a) (((BASE *)a)[0]) 16 | #define IMAG0(a) (((BASE *)a)[1]) 17 | 18 | #define CONST_REAL(a,i) (((const BASE *) a)[2*(i)]) 19 | #define CONST_IMAG(a,i) (((const BASE *) a)[2*(i)+1]) 20 | 21 | #define CONST_REAL0(a) (((const BASE *)a)[0]) 22 | #define CONST_IMAG0(a) (((const BASE *)a)[1]) 23 | 24 | 25 | #define GB(KU,KL,lda,i,j) ((KU+1+(i-j))*lda + j) 26 | 27 | #define TRCOUNT(N,i) ((((i)+1)*(2*(N)-(i)))/2) 28 | 29 | /* #define TBUP(N,i,j) */ 30 | /* #define TBLO(N,i,j) */ 31 | 32 | #define TPUP(N,i,j) (TRCOUNT(N,(i)-1)+(j)-(i)) 33 | #define TPLO(N,i,j) (((i)*((i)+1))/2 + (j)) 34 | 35 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ccopy.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_ccopy (const int N, const void *X, const int incX, void *Y, 7 | const int incY) 8 | { 9 | #define BASE float 10 | #include "source_copy_c.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cdotc_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_cdotc_sub (const int N, const void *X, const int incX, const void *Y, 7 | const int incY, void *result) 8 | { 9 | #define BASE float 10 | #define CONJ_SIGN (-1.0) 11 | #include "source_dot_c.h" 12 | #undef CONJ_SIGN 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cdotu_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_cdotu_sub (const int N, const void *X, const int incX, const void *Y, 7 | const int incY, void *result) 8 | { 9 | #define BASE float 10 | #define CONJ_SIGN 1.0 11 | #include "source_dot_c.h" 12 | #undef CONJ_SIGN 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cgbmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_cgbmv (const enum CBLAS_ORDER order, const enum CBLAS_TRANSPOSE TransA, 8 | const int M, const int N, const int KL, const int KU, 9 | const void *alpha, const void *A, const int lda, const void *X, 10 | const int incX, const void *beta, void *Y, const int incY) 11 | { 12 | #define BASE float 13 | #include "source_gbmv_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cgemm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_cgemm (const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, 8 | const enum CBLAS_TRANSPOSE TransB, const int M, const int N, 9 | const int K, const void *alpha, const void *A, const int lda, 10 | const void *B, const int ldb, const void *beta, void *C, 11 | const int ldc) 12 | { 13 | #define BASE float 14 | #include "source_gemm_c.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cgemv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_cgemv (const enum CBLAS_ORDER order, const enum CBLAS_TRANSPOSE TransA, 8 | const int M, const int N, const void *alpha, const void *A, 9 | const int lda, const void *X, const int incX, const void *beta, 10 | void *Y, const int incY) 11 | { 12 | #define BASE float 13 | #include "source_gemv_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cgerc.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_cgerc (const enum CBLAS_ORDER order, const int M, const int N, 8 | const void *alpha, const void *X, const int incX, const void *Y, 9 | const int incY, void *A, const int lda) 10 | { 11 | #define BASE float 12 | #include "source_gerc.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cgeru.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_cgeru (const enum CBLAS_ORDER order, const int M, const int N, 8 | const void *alpha, const void *X, const int incX, const void *Y, 9 | const int incY, void *A, const int lda) 10 | { 11 | #define BASE float 12 | #include "source_geru.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/chbmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_chbmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const int K, const void *alpha, const void *A, 9 | const int lda, const void *X, const int incX, const void *beta, 10 | void *Y, const int incY) 11 | { 12 | #define BASE float 13 | #include "source_hbmv.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/chemm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_chemm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 8 | const enum CBLAS_UPLO Uplo, const int M, const int N, 9 | const void *alpha, const void *A, const int lda, const void *B, 10 | const int ldb, const void *beta, void *C, const int ldc) 11 | { 12 | #define BASE float 13 | #include "source_hemm.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/chemv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_chemv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const void *alpha, const void *A, const int lda, 9 | const void *X, const int incX, const void *beta, void *Y, 10 | const int incY) 11 | { 12 | #define BASE float 13 | #include "source_hemv.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cher.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_cher (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const float alpha, const void *X, const int incX, 9 | void *A, const int lda) 10 | { 11 | #define BASE float 12 | #include "source_her.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cher2.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_cher2 (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const void *alpha, const void *X, const int incX, 9 | const void *Y, const int incY, void *A, const int lda) 10 | { 11 | #define BASE float 12 | #include "source_her2.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cher2k.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_cher2k (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 9 | const void *alpha, const void *A, const int lda, const void *B, 10 | const int ldb, const float beta, void *C, const int ldc) 11 | { 12 | #define BASE float 13 | #include "source_her2k.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cherk.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_cherk (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 9 | const float alpha, const void *A, const int lda, 10 | const float beta, void *C, const int ldc) 11 | { 12 | #define BASE float 13 | #include "source_herk.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/chpmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_chpmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const void *alpha, const void *Ap, const void *X, 9 | const int incX, const void *beta, void *Y, const int incY) 10 | { 11 | #define BASE float 12 | #include "source_hpmv.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/chpr.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_chpr (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const float alpha, const void *X, const int incX, 9 | void *Ap) 10 | { 11 | #define BASE float 12 | #include "source_hpr.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/chpr2.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_chpr2 (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const void *alpha, const void *X, const int incX, 9 | const void *Y, const int incY, void *Ap) 10 | { 11 | #define BASE float 12 | #include "source_hpr2.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cscal.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_cscal (const int N, const void *alpha, void *X, const int incX) 7 | { 8 | #define BASE float 9 | #include "source_scal_c.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/csscal.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_csscal (const int N, const float alpha, void *X, const int incX) 7 | { 8 | #define BASE float 9 | #include "source_scal_c_s.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/cswap.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_cswap (const int N, void *X, const int incX, void *Y, const int incY) 7 | { 8 | #define BASE float 9 | #include "source_swap_c.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/csymm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_csymm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 8 | const enum CBLAS_UPLO Uplo, const int M, const int N, 9 | const void *alpha, const void *A, const int lda, const void *B, 10 | const int ldb, const void *beta, void *C, const int ldc) 11 | { 12 | #define BASE float 13 | #include "source_symm_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/csyr2k.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_csyr2k (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 9 | const void *alpha, const void *A, const int lda, const void *B, 10 | const int ldb, const void *beta, void *C, const int ldc) 11 | { 12 | #define BASE float 13 | #include "source_syr2k_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/csyrk.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_csyrk (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 9 | const void *alpha, const void *A, const int lda, 10 | const void *beta, void *C, const int ldc) 11 | { 12 | #define BASE float 13 | #include "source_syrk_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ctbmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_ctbmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const int K, const void *A, const int lda, void *X, 10 | const int incX) 11 | { 12 | #define BASE float 13 | #include "source_tbmv_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ctbsv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | #include "hypot.c" 7 | 8 | void 9 | cblas_ctbsv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 10 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 11 | const int N, const int K, const void *A, const int lda, void *X, 12 | const int incX) 13 | { 14 | #define BASE float 15 | #include "source_tbsv_c.h" 16 | #undef BASE 17 | } 18 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ctpmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_ctpmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const void *Ap, void *X, const int incX) 10 | { 11 | #define BASE float 12 | #include "source_tpmv_c.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ctpsv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | #include "hypot.c" 7 | 8 | void 9 | cblas_ctpsv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 10 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 11 | const int N, const void *Ap, void *X, const int incX) 12 | { 13 | #define BASE float 14 | #include "source_tpsv_c.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ctrmm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_ctrmm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 8 | const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 9 | const enum CBLAS_DIAG Diag, const int M, const int N, 10 | const void *alpha, const void *A, const int lda, void *B, 11 | const int ldb) 12 | { 13 | #define BASE float 14 | #include "source_trmm_c.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ctrmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_ctrmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const void *A, const int lda, void *X, 10 | const int incX) 11 | { 12 | #define BASE float 13 | #include "source_trmv_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ctrsm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | #include "hypot.c" 7 | 8 | void 9 | cblas_ctrsm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 10 | const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 11 | const enum CBLAS_DIAG Diag, const int M, const int N, 12 | const void *alpha, const void *A, const int lda, void *B, 13 | const int ldb) 14 | { 15 | #define BASE float 16 | #include "source_trsm_c.h" 17 | #undef BASE 18 | } 19 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ctrsv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | #include "hypot.c" 7 | 8 | void 9 | cblas_ctrsv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 10 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 11 | const int N, const void *A, const int lda, void *X, 12 | const int incX) 13 | { 14 | #define BASE float 15 | #include "source_trsv_c.h" 16 | #undef BASE 17 | } 18 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dasum.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | double 6 | cblas_dasum (const int N, const double *X, const int incX) 7 | { 8 | #define BASE double 9 | #include "source_asum_r.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/daxpy.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_daxpy (const int N, const double alpha, const double *X, const int incX, 7 | double *Y, const int incY) 8 | { 9 | #define BASE double 10 | #include "source_axpy_r.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dcopy.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_dcopy (const int N, const double *X, const int incX, double *Y, 7 | const int incY) 8 | { 9 | #define BASE double 10 | #include "source_copy_r.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ddot.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | double 6 | cblas_ddot (const int N, const double *X, const int incX, const double *Y, 7 | const int incY) 8 | { 9 | #define INIT_VAL 0.0 10 | #define ACC_TYPE double 11 | #define BASE double 12 | #include "source_dot_r.h" 13 | #undef ACC_TYPE 14 | #undef BASE 15 | #undef INIT_VAL 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dgbmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dgbmv (const enum CBLAS_ORDER order, const enum CBLAS_TRANSPOSE TransA, 8 | const int M, const int N, const int KL, const int KU, 9 | const double alpha, const double *A, const int lda, 10 | const double *X, const int incX, const double beta, double *Y, 11 | const int incY) 12 | { 13 | #define BASE double 14 | #include "source_gbmv_r.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dgemm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_dgemm (const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, 8 | const enum CBLAS_TRANSPOSE TransB, const int M, const int N, 9 | const int K, const double alpha, const double *A, const int lda, 10 | const double *B, const int ldb, const double beta, double *C, 11 | const int ldc) 12 | { 13 | #define BASE double 14 | #include "source_gemm_r.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dgemv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dgemv (const enum CBLAS_ORDER order, const enum CBLAS_TRANSPOSE TransA, 8 | const int M, const int N, const double alpha, const double *A, 9 | const int lda, const double *X, const int incX, 10 | const double beta, double *Y, const int incY) 11 | { 12 | #define BASE double 13 | #include "source_gemv_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dger.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dger (const enum CBLAS_ORDER order, const int M, const int N, 8 | const double alpha, const double *X, const int incX, 9 | const double *Y, const int incY, double *A, const int lda) 10 | { 11 | #define BASE double 12 | #include "source_ger.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dnrm2.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | double 6 | cblas_dnrm2 (const int N, const double *X, const int incX) 7 | { 8 | #define BASE double 9 | #include "source_nrm2_r.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/drot.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_drot (const int N, double *X, const int incX, double *Y, const int incY, 7 | const double c, const double s) 8 | { 9 | #define BASE double 10 | #include "source_rot.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/drotg.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_drotg (double *a, double *b, double *c, double *s) 7 | { 8 | #define BASE double 9 | #include "source_rotg.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/drotm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_drotm (const int N, double *X, const int incX, double *Y, 7 | const int incY, const double *P) 8 | { 9 | #define BASE double 10 | #include "source_rotm.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/drotmg.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_drotmg (double *d1, double *d2, double *b1, const double b2, double *P) 7 | { 8 | #define BASE double 9 | #include "source_rotmg.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dsbmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dsbmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const int K, const double alpha, const double *A, 9 | const int lda, const double *X, const int incX, 10 | const double beta, double *Y, const int incY) 11 | { 12 | #define BASE double 13 | #include "source_sbmv.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dscal.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_dscal (const int N, const double alpha, double *X, const int incX) 7 | { 8 | #define BASE double 9 | #include "source_scal_r.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dsdot.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | double 6 | cblas_dsdot (const int N, const float *X, const int incX, const float *Y, 7 | const int incY) 8 | { 9 | #define INIT_VAL 0.0 10 | #define ACC_TYPE double 11 | #define BASE float 12 | #include "source_dot_r.h" 13 | #undef ACC_TYPE 14 | #undef BASE 15 | #undef INIT_VAL 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dspmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dspmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const double alpha, const double *Ap, 9 | const double *X, const int incX, const double beta, double *Y, 10 | const int incY) 11 | { 12 | #define BASE double 13 | #include "source_spmv.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dspr.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dspr (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const double alpha, const double *X, const int incX, 9 | double *Ap) 10 | { 11 | #define BASE double 12 | #include "source_spr.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dspr2.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dspr2 (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const double alpha, const double *X, const int incX, 9 | const double *Y, const int incY, double *Ap) 10 | { 11 | #define BASE double 12 | #include "source_spr2.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dswap.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_dswap (const int N, double *X, const int incX, double *Y, 7 | const int incY) 8 | { 9 | #define BASE double 10 | #include "source_swap_r.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dsymm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_dsymm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 8 | const enum CBLAS_UPLO Uplo, const int M, const int N, 9 | const double alpha, const double *A, const int lda, 10 | const double *B, const int ldb, const double beta, double *C, 11 | const int ldc) 12 | { 13 | #define BASE double 14 | #include "source_symm_r.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dsymv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dsymv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const double alpha, const double *A, const int lda, 9 | const double *X, const int incX, const double beta, double *Y, 10 | const int incY) 11 | { 12 | #define BASE double 13 | #include "source_symv.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dsyr.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dsyr (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const double alpha, const double *X, const int incX, 9 | double *A, const int lda) 10 | { 11 | #define BASE double 12 | #include "source_syr.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dsyr2.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dsyr2 (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const double alpha, const double *X, const int incX, 9 | const double *Y, const int incY, double *A, const int lda) 10 | { 11 | #define BASE double 12 | #include "source_syr2.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dsyr2k.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_dsyr2k (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 9 | const double alpha, const double *A, const int lda, 10 | const double *B, const int ldb, const double beta, double *C, 11 | const int ldc) 12 | { 13 | #define BASE double 14 | #include "source_syr2k_r.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dsyrk.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_dsyrk (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 9 | const double alpha, const double *A, const int lda, 10 | const double beta, double *C, const int ldc) 11 | { 12 | #define BASE double 13 | #include "source_syrk_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dtbmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dtbmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const int K, const double *A, const int lda, 10 | double *X, const int incX) 11 | { 12 | #define BASE double 13 | #include "source_tbmv_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dtbsv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dtbsv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const int K, const double *A, const int lda, 10 | double *X, const int incX) 11 | { 12 | #define BASE double 13 | #include "source_tbsv_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dtpmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dtpmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const double *Ap, double *X, const int incX) 10 | { 11 | #define BASE double 12 | #include "source_tpmv_r.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dtpsv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dtpsv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const double *Ap, double *X, const int incX) 10 | { 11 | #define BASE double 12 | #include "source_tpsv_r.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dtrmm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_dtrmm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 8 | const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 9 | const enum CBLAS_DIAG Diag, const int M, const int N, 10 | const double alpha, const double *A, const int lda, double *B, 11 | const int ldb) 12 | { 13 | #define BASE double 14 | #include "source_trmm_r.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dtrmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dtrmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const double *A, const int lda, double *X, 10 | const int incX) 11 | { 12 | #define BASE double 13 | #include "source_trmv_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dtrsm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_dtrsm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 8 | const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 9 | const enum CBLAS_DIAG Diag, const int M, const int N, 10 | const double alpha, const double *A, const int lda, double *B, 11 | const int ldb) 12 | { 13 | #define BASE double 14 | #include "source_trsm_r.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dtrsv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_dtrsv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const double *A, const int lda, double *X, 10 | const int incX) 11 | { 12 | #define BASE double 13 | #include "source_trsv_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dzasum.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | double 6 | cblas_dzasum (const int N, const void *X, const int incX) 7 | { 8 | #define BASE double 9 | #include "source_asum_c.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/dznrm2.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | double 6 | cblas_dznrm2 (const int N, const void *X, const int incX) 7 | { 8 | #define BASE double 9 | #include "source_nrm2_c.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/hypot.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | static double xhypot (const double x, const double y); 4 | 5 | static double xhypot (const double x, const double y) 6 | { 7 | double xabs = fabs(x) ; 8 | double yabs = fabs(y) ; 9 | double min, max; 10 | 11 | if (xabs < yabs) { 12 | min = xabs ; 13 | max = yabs ; 14 | } else { 15 | min = yabs ; 16 | max = xabs ; 17 | } 18 | 19 | if (min == 0) 20 | { 21 | return max ; 22 | } 23 | 24 | { 25 | double u = min / max ; 26 | return max * sqrt (1 + u * u) ; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/icamax.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | CBLAS_INDEX 6 | cblas_icamax (const int N, const void *X, const int incX) 7 | { 8 | #define BASE float 9 | #include "source_iamax_c.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/idamax.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | CBLAS_INDEX 6 | cblas_idamax (const int N, const double *X, const int incX) 7 | { 8 | #define BASE double 9 | #include "source_iamax_r.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/isamax.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | CBLAS_INDEX 6 | cblas_isamax (const int N, const float *X, const int incX) 7 | { 8 | #define BASE float 9 | #include "source_iamax_r.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/izamax.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | CBLAS_INDEX 6 | cblas_izamax (const int N, const void *X, const int incX) 7 | { 8 | #define BASE double 9 | #include "source_iamax_c.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/sasum.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | float 6 | cblas_sasum (const int N, const float *X, const int incX) 7 | { 8 | #define BASE float 9 | #include "source_asum_r.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/saxpy.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_saxpy (const int N, const float alpha, const float *X, const int incX, 7 | float *Y, const int incY) 8 | { 9 | #define BASE float 10 | #include "source_axpy_r.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/scasum.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | float 6 | cblas_scasum (const int N, const void *X, const int incX) 7 | { 8 | #define BASE float 9 | #include "source_asum_c.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/scnrm2.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | float 6 | cblas_scnrm2 (const int N, const void *X, const int incX) 7 | { 8 | #define BASE float 9 | #include "source_nrm2_c.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/scopy.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_scopy (const int N, const float *X, const int incX, float *Y, 7 | const int incY) 8 | { 9 | #define BASE float 10 | #include "source_copy_r.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/sdot.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | float 6 | cblas_sdot (const int N, const float *X, const int incX, const float *Y, 7 | const int incY) 8 | { 9 | #define INIT_VAL 0.0 10 | #define ACC_TYPE float 11 | #define BASE float 12 | #include "source_dot_r.h" 13 | #undef ACC_TYPE 14 | #undef BASE 15 | #undef INIT_VAL 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/sdsdot.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | float 6 | cblas_sdsdot (const int N, const float alpha, const float *X, const int incX, 7 | const float *Y, const int incY) 8 | { 9 | #define INIT_VAL alpha 10 | #define ACC_TYPE double 11 | #define BASE float 12 | #include "source_dot_r.h" 13 | #undef ACC_TYPE 14 | #undef BASE 15 | #undef INIT_VAL 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/sgbmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_sgbmv (const enum CBLAS_ORDER order, const enum CBLAS_TRANSPOSE TransA, 8 | const int M, const int N, const int KL, const int KU, 9 | const float alpha, const float *A, const int lda, const float *X, 10 | const int incX, const float beta, float *Y, const int incY) 11 | { 12 | #define BASE float 13 | #include "source_gbmv_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/sgemm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_sgemm (const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, 8 | const enum CBLAS_TRANSPOSE TransB, const int M, const int N, 9 | const int K, const float alpha, const float *A, const int lda, 10 | const float *B, const int ldb, const float beta, float *C, 11 | const int ldc) 12 | { 13 | #define BASE float 14 | #include "source_gemm_r.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/sgemv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_sgemv (const enum CBLAS_ORDER order, const enum CBLAS_TRANSPOSE TransA, 8 | const int M, const int N, const float alpha, const float *A, 9 | const int lda, const float *X, const int incX, const float beta, 10 | float *Y, const int incY) 11 | { 12 | #define BASE float 13 | #include "source_gemv_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/sger.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_sger (const enum CBLAS_ORDER order, const int M, const int N, 8 | const float alpha, const float *X, const int incX, const float *Y, 9 | const int incY, float *A, const int lda) 10 | { 11 | #define BASE float 12 | #include "source_ger.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/snrm2.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | float 6 | cblas_snrm2 (const int N, const float *X, const int incX) 7 | { 8 | #define BASE float 9 | #include "source_nrm2_r.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/source_asum_r.h: -------------------------------------------------------------------------------- 1 | /* blas/source_asum_r.h 2 | * 3 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 3 of the License, or (at 8 | * your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | { 21 | BASE r = 0.0; 22 | INDEX i; 23 | INDEX ix = 0; 24 | 25 | if (incX <= 0) { 26 | return 0; 27 | } 28 | 29 | for (i = 0; i < N; i++) { 30 | r += fabs(X[ix]); 31 | ix += incX; 32 | } 33 | return r; 34 | } 35 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/source_copy_r.h: -------------------------------------------------------------------------------- 1 | /* blas/source_copy_r.h 2 | * 3 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 3 of the License, or (at 8 | * your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | { 21 | INDEX i; 22 | INDEX ix = OFFSET(N, incX); 23 | INDEX iy = OFFSET(N, incY); 24 | 25 | for (i = 0; i < N; i++) { 26 | Y[iy] = X[ix]; 27 | ix += incX; 28 | iy += incY; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/source_scal_c_s.h: -------------------------------------------------------------------------------- 1 | /* blas/source_scal_c_s.h 2 | * 3 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 3 of the License, or (at 8 | * your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | { 21 | INDEX i; 22 | INDEX ix = 0; 23 | 24 | if (incX <= 0) { 25 | return; 26 | } 27 | 28 | for (i = 0; i < N; i++) { 29 | REAL(X, ix) *= alpha; 30 | IMAG(X, ix) *= alpha; 31 | ix += incX; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/source_scal_r.h: -------------------------------------------------------------------------------- 1 | /* blas/source_scal_r.h 2 | * 3 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 3 of the License, or (at 8 | * your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | { 21 | INDEX i; 22 | INDEX ix = 0; 23 | 24 | if (incX <= 0) { 25 | return; 26 | } 27 | 28 | for (i = 0; i < N; i++) { 29 | X[ix] *= alpha; 30 | ix += incX; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/srot.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_srot (const int N, float *X, const int incX, float *Y, const int incY, 7 | const float c, const float s) 8 | { 9 | #define BASE float 10 | #include "source_rot.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/srotg.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_srotg (float *a, float *b, float *c, float *s) 7 | { 8 | #define BASE float 9 | #include "source_rotg.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/srotm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_srotm (const int N, float *X, const int incX, float *Y, const int incY, 7 | const float *P) 8 | { 9 | #define BASE float 10 | #include "source_rotm.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/srotmg.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_srotmg (float *d1, float *d2, float *b1, const float b2, float *P) 7 | { 8 | #define BASE float 9 | #include "source_rotmg.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ssbmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_ssbmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const int K, const float alpha, const float *A, 9 | const int lda, const float *X, const int incX, const float beta, 10 | float *Y, const int incY) 11 | { 12 | #define BASE float 13 | #include "source_sbmv.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/sscal.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_sscal (const int N, const float alpha, float *X, const int incX) 7 | { 8 | #define BASE float 9 | #include "source_scal_r.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/sspmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_sspmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const float alpha, const float *Ap, const float *X, 9 | const int incX, const float beta, float *Y, const int incY) 10 | { 11 | #define BASE float 12 | #include "source_spmv.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/sspr.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_sspr (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const float alpha, const float *X, const int incX, 9 | float *Ap) 10 | { 11 | #define BASE float 12 | #include "source_spr.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/sspr2.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_sspr2 (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const float alpha, const float *X, const int incX, 9 | const float *Y, const int incY, float *Ap) 10 | { 11 | #define BASE double 12 | #include "source_spr2.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/sswap.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_sswap (const int N, float *X, const int incX, float *Y, const int incY) 7 | { 8 | #define BASE float 9 | #include "source_swap_r.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ssymm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_ssymm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 8 | const enum CBLAS_UPLO Uplo, const int M, const int N, 9 | const float alpha, const float *A, const int lda, const float *B, 10 | const int ldb, const float beta, float *C, const int ldc) 11 | { 12 | #define BASE float 13 | #include "source_symm_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ssymv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_ssymv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const float alpha, const float *A, const int lda, 9 | const float *X, const int incX, const float beta, float *Y, 10 | const int incY) 11 | { 12 | #define BASE float 13 | #include "source_symv.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ssyr.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_ssyr (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const float alpha, const float *X, const int incX, 9 | float *A, const int lda) 10 | { 11 | #define BASE float 12 | #include "source_syr.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ssyr2.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_ssyr2 (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const float alpha, const float *X, const int incX, 9 | const float *Y, const int incY, float *A, const int lda) 10 | { 11 | #define BASE float 12 | #include "source_syr2.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ssyr2k.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_ssyr2k (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 9 | const float alpha, const float *A, const int lda, 10 | const float *B, const int ldb, const float beta, float *C, 11 | const int ldc) 12 | { 13 | #define BASE float 14 | #include "source_syr2k_r.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ssyrk.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_ssyrk (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 9 | const float alpha, const float *A, const int lda, 10 | const float beta, float *C, const int ldc) 11 | { 12 | #define BASE float 13 | #include "source_syrk_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/stbmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_stbmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const int K, const float *A, const int lda, 10 | float *X, const int incX) 11 | { 12 | #define BASE float 13 | #include "source_tbmv_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/stbsv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_stbsv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const int K, const float *A, const int lda, 10 | float *X, const int incX) 11 | { 12 | #define BASE float 13 | #include "source_tbsv_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/stpmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_stpmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const float *Ap, float *X, const int incX) 10 | { 11 | #define BASE float 12 | #include "source_tpmv_r.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/stpsv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_stpsv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const float *Ap, float *X, const int incX) 10 | { 11 | #define BASE float 12 | #include "source_tpsv_r.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/strmm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_strmm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 8 | const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 9 | const enum CBLAS_DIAG Diag, const int M, const int N, 10 | const float alpha, const float *A, const int lda, float *B, 11 | const int ldb) 12 | { 13 | #define BASE float 14 | #include "source_trmm_r.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/strmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_strmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const float *A, const int lda, float *X, 10 | const int incX) 11 | { 12 | #define BASE float 13 | #include "source_trmv_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/strsm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_strsm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 8 | const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 9 | const enum CBLAS_DIAG Diag, const int M, const int N, 10 | const float alpha, const float *A, const int lda, float *B, 11 | const int ldb) 12 | { 13 | #define BASE float 14 | #include "source_trsm_r.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/strsv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_strsv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const float *A, const int lda, float *X, 10 | const int incX) 11 | { 12 | #define BASE float 13 | #include "source_trsv_r.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/tests.c: -------------------------------------------------------------------------------- 1 | test_dot (); 2 | test_nrm2 (); 3 | test_asum (); 4 | test_amax (); 5 | test_axpy (); 6 | test_copy (); 7 | test_swap (); 8 | test_scal (); 9 | test_rotg (); 10 | test_rot (); 11 | test_rotmg (); 12 | test_rotm (); 13 | test_gemv (); 14 | test_gbmv (); 15 | test_trmv (); 16 | test_tbmv (); 17 | test_tpmv (); 18 | test_symv (); 19 | test_hemv (); 20 | test_hbmv (); 21 | test_sbmv (); 22 | test_hpmv (); 23 | test_spmv (); 24 | test_trsv (); 25 | test_tbsv (); 26 | test_tpsv (); 27 | test_ger (); 28 | test_syr (); 29 | test_her (); 30 | test_hpr (); 31 | test_spr (); 32 | test_syr2 (); 33 | test_spr2 (); 34 | test_her2 (); 35 | test_hpr2 (); 36 | test_gemm (); 37 | test_symm (); 38 | test_hemm (); 39 | test_syrk (); 40 | test_herk (); 41 | test_syr2k (); 42 | test_her2k (); 43 | test_trmm (); 44 | test_trsm (); 45 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zaxpy.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_zaxpy (const int N, const void *alpha, const void *X, const int incX, 7 | void *Y, const int incY) 8 | { 9 | #define BASE double 10 | #include "source_axpy_c.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zcopy.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_zcopy (const int N, const void *X, const int incX, void *Y, 7 | const int incY) 8 | { 9 | #define BASE double 10 | #include "source_copy_c.h" 11 | #undef BASE 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zdotc_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_zdotc_sub (const int N, const void *X, const int incX, const void *Y, 7 | const int incY, void *result) 8 | { 9 | #define BASE double 10 | #define CONJ_SIGN (-1.0) 11 | #include "source_dot_c.h" 12 | #undef CONJ_SIGN 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zdotu_sub.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_zdotu_sub (const int N, const void *X, const int incX, const void *Y, 7 | const int incY, void *result) 8 | { 9 | #define BASE double 10 | #define CONJ_SIGN 1.0 11 | #include "source_dot_c.h" 12 | #undef CONJ_SIGN 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zdscal.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_zdscal (const int N, const double alpha, void *X, const int incX) 7 | { 8 | #define BASE double 9 | #include "source_scal_c_s.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zgbmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_zgbmv (const enum CBLAS_ORDER order, const enum CBLAS_TRANSPOSE TransA, 8 | const int M, const int N, const int KL, const int KU, 9 | const void *alpha, const void *A, const int lda, const void *X, 10 | const int incX, const void *beta, void *Y, const int incY) 11 | { 12 | #define BASE double 13 | #include "source_gbmv_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zgemm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_zgemm (const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, 8 | const enum CBLAS_TRANSPOSE TransB, const int M, const int N, 9 | const int K, const void *alpha, const void *A, const int lda, 10 | const void *B, const int ldb, const void *beta, void *C, 11 | const int ldc) 12 | { 13 | #define BASE double 14 | #include "source_gemm_c.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zgemv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_zgemv (const enum CBLAS_ORDER order, const enum CBLAS_TRANSPOSE TransA, 8 | const int M, const int N, const void *alpha, const void *A, 9 | const int lda, const void *X, const int incX, const void *beta, 10 | void *Y, const int incY) 11 | { 12 | #define BASE double 13 | #include "source_gemv_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zgerc.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_zgerc (const enum CBLAS_ORDER order, const int M, const int N, 8 | const void *alpha, const void *X, const int incX, const void *Y, 9 | const int incY, void *A, const int lda) 10 | { 11 | #define BASE double 12 | #include "source_gerc.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zgeru.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_zgeru (const enum CBLAS_ORDER order, const int M, const int N, 8 | const void *alpha, const void *X, const int incX, const void *Y, 9 | const int incY, void *A, const int lda) 10 | { 11 | #define BASE double 12 | #include "source_geru.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zhbmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_zhbmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const int K, const void *alpha, const void *A, 9 | const int lda, const void *X, const int incX, const void *beta, 10 | void *Y, const int incY) 11 | { 12 | #define BASE double 13 | #include "source_hbmv.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zhemm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_zhemm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 8 | const enum CBLAS_UPLO Uplo, const int M, const int N, 9 | const void *alpha, const void *A, const int lda, const void *B, 10 | const int ldb, const void *beta, void *C, const int ldc) 11 | { 12 | #define BASE double 13 | #include "source_hemm.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zhemv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_zhemv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const void *alpha, const void *A, const int lda, 9 | const void *X, const int incX, const void *beta, void *Y, 10 | const int incY) 11 | { 12 | #define BASE double 13 | #include "source_hemv.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zher.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_zher (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const double alpha, const void *X, const int incX, 9 | void *A, const int lda) 10 | { 11 | #define BASE double 12 | #include "source_her.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zher2.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_zher2 (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const void *alpha, const void *X, const int incX, 9 | const void *Y, const int incY, void *A, const int lda) 10 | { 11 | #define BASE double 12 | #include "source_her2.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zher2k.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_zher2k (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 9 | const void *alpha, const void *A, const int lda, const void *B, 10 | const int ldb, const double beta, void *C, const int ldc) 11 | { 12 | #define BASE double 13 | #include "source_her2k.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zherk.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_zherk (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 9 | const double alpha, const void *A, const int lda, 10 | const double beta, void *C, const int ldc) 11 | { 12 | #define BASE double 13 | #include "source_herk.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zhpmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_zhpmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const void *alpha, const void *Ap, const void *X, 9 | const int incX, const void *beta, void *Y, const int incY) 10 | { 11 | #define BASE double 12 | #include "source_hpmv.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zhpr.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_zhpr (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const double alpha, const void *X, const int incX, 9 | void *Ap) 10 | { 11 | #define BASE double 12 | #include "source_hpr.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zhpr2.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_zhpr2 (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const int N, const void *alpha, const void *X, const int incX, 9 | const void *Y, const int incY, void *Ap) 10 | { 11 | #define BASE double 12 | #include "source_hpr2.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zscal.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_zscal (const int N, const void *alpha, void *X, const int incX) 7 | { 8 | #define BASE double 9 | #include "source_scal_c.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zswap.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | 5 | void 6 | cblas_zswap (const int N, void *X, const int incX, void *Y, const int incY) 7 | { 8 | #define BASE double 9 | #include "source_swap_c.h" 10 | #undef BASE 11 | } 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zsymm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_zsymm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 8 | const enum CBLAS_UPLO Uplo, const int M, const int N, 9 | const void *alpha, const void *A, const int lda, const void *B, 10 | const int ldb, const void *beta, void *C, const int ldc) 11 | { 12 | #define BASE double 13 | #include "source_symm_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zsyr2k.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_zsyr2k (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 9 | const void *alpha, const void *A, const int lda, const void *B, 10 | const int ldb, const void *beta, void *C, const int ldc) 11 | { 12 | #define BASE double 13 | #include "source_syr2k_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/zsyrk.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_zsyrk (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 9 | const void *alpha, const void *A, const int lda, 10 | const void *beta, void *C, const int ldc) 11 | { 12 | #define BASE double 13 | #include "source_syrk_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ztbmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_ztbmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const int K, const void *A, const int lda, void *X, 10 | const int incX) 11 | { 12 | #define BASE double 13 | #include "source_tbmv_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ztbsv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | #include "hypot.c" 7 | 8 | void 9 | cblas_ztbsv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 10 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 11 | const int N, const int K, const void *A, const int lda, void *X, 12 | const int incX) 13 | { 14 | #define BASE double 15 | #include "source_tbsv_c.h" 16 | #undef BASE 17 | } 18 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ztpmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_ztpmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const void *Ap, void *X, const int incX) 10 | { 11 | #define BASE double 12 | #include "source_tpmv_c.h" 13 | #undef BASE 14 | } 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ztpsv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | #include "hypot.c" 7 | 8 | void 9 | cblas_ztpsv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 10 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 11 | const int N, const void *Ap, void *X, const int incX) 12 | { 13 | #define BASE double 14 | #include "source_tpsv_c.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ztrmm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | void 7 | cblas_ztrmm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 8 | const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 9 | const enum CBLAS_DIAG Diag, const int M, const int N, 10 | const void *alpha, const void *A, const int lda, void *B, 11 | const int ldb) 12 | { 13 | #define BASE double 14 | #include "source_trmm_c.h" 15 | #undef BASE 16 | } 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ztrmv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | void 7 | cblas_ztrmv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 8 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 9 | const int N, const void *A, const int lda, void *X, 10 | const int incX) 11 | { 12 | #define BASE double 13 | #include "source_trmv_c.h" 14 | #undef BASE 15 | } 16 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ztrsm.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l3.h" 5 | 6 | #include "hypot.c" 7 | 8 | void 9 | cblas_ztrsm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 10 | const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 11 | const enum CBLAS_DIAG Diag, const int M, const int N, 12 | const void *alpha, const void *A, const int lda, void *B, 13 | const int ldb) 14 | { 15 | #define BASE double 16 | #include "source_trsm_c.h" 17 | #undef BASE 18 | } 19 | -------------------------------------------------------------------------------- /libs/gsl_sub/cblas/ztrsv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cblas.h" 4 | #include "error_cblas_l2.h" 5 | 6 | #include "hypot.c" 7 | 8 | void 9 | cblas_ztrsv (const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 10 | const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 11 | const int N, const void *A, const int lda, void *X, 12 | const int incX) 13 | { 14 | #define BASE double 15 | #include "source_trsv_c.h" 16 | #undef BASE 17 | } 18 | -------------------------------------------------------------------------------- /libs/gsl_sub/cdf/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in 2 | noinst_LTLIBRARIES = libgslcdf.la 3 | 4 | noinst_HEADERS= gsl_cdf.h 5 | 6 | AM_CPPFLAGS = -I$(top_srcdir) 7 | 8 | libgslcdf_la_SOURCES = beta.c betainv.c cauchy.c cauchyinv.c chisq.c chisqinv.c exponential.c exponentialinv.c exppow.c fdist.c fdistinv.c flat.c flatinv.c gamma.c gammainv.c gauss.c gaussinv.c gumbel1.c gumbel1inv.c gumbel2.c gumbel2inv.c laplace.c laplaceinv.c logistic.c logisticinv.c lognormal.c lognormalinv.c pareto.c paretoinv.c rayleigh.c rayleighinv.c tdist.c tdistinv.c weibull.c weibullinv.c binomial.c poisson.c geometric.c nbinomial.c pascal.c hypergeometric.c 9 | 10 | noinst_HEADERS = beta_inc.c rat_eval.h test_auto.c error.h 11 | 12 | TESTS = $(check_PROGRAMS) 13 | 14 | check_PROGRAMS = test 15 | 16 | test_SOURCES = test.c 17 | test_LDADD = libgslcdf.la ../randist/libgslrandist.la ../rng/libgslrng.la ../specfunc/libgslspecfunc.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la 18 | -------------------------------------------------------------------------------- /libs/gsl_sub/cdf/error.h: -------------------------------------------------------------------------------- 1 | /* CDF_ERROR: call the error handler, and return a NAN. */ 2 | 3 | #define CDF_ERROR(reason, gsl_errno) GSL_ERROR_VAL(reason, gsl_errno, GSL_NAN) 4 | 5 | -------------------------------------------------------------------------------- /libs/gsl_sub/cdf/rat_eval.h: -------------------------------------------------------------------------------- 1 | static double 2 | rat_eval (const double a[], const size_t na, 3 | const double b[], const size_t nb, const double x) 4 | { 5 | size_t i, j; 6 | double u, v, r; 7 | 8 | u = a[na - 1]; 9 | 10 | for (i = na - 1; i > 0; i--) 11 | { 12 | u = x * u + a[i - 1]; 13 | } 14 | 15 | v = b[nb - 1]; 16 | 17 | for (j = nb - 1; j > 0; j--) 18 | { 19 | v = x * v + b[j - 1]; 20 | } 21 | 22 | r = u / v; 23 | 24 | return r; 25 | } 26 | -------------------------------------------------------------------------------- /libs/gsl_sub/complex/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgslcomplex.la 2 | 3 | noinst_HEADERS = gsl_complex.h gsl_complex_math.h 4 | 5 | AM_CPPFLAGS = -I$(top_srcdir) 6 | 7 | libgslcomplex_la_SOURCES = math.c inline.c 8 | 9 | TESTS = $(check_PROGRAMS) 10 | check_PROGRAMS = test 11 | 12 | test_SOURCES = test.c results.h results1.h results2.h results_real.h results_zreal.h 13 | test_LDADD = libgslcomplex.la ../err/libgslerr.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la 14 | 15 | results: 16 | emacs -batch -l test.el -f test1 | sed 's/00\+e/0e/g' > results1.h 17 | emacs -batch -l test.el -f test2 | sed 's/00\+e/0e/g' > results.h 18 | emacs -batch -l test.el -f test3 | sed 's/00\+e/0e/g' > results_real.h 19 | emacs -batch -l test.el -f test4 | sed 's/00\+e/0e/g' > results2.h 20 | emacs -batch -l test.el -f test5 | sed 's/00\+e/0e/g' > results_zreal.h 21 | -------------------------------------------------------------------------------- /libs/gsl_sub/complex/TODO: -------------------------------------------------------------------------------- 1 | # -*- org -*- 2 | #+CATEGORY: complex 3 | 4 | * Complex polynomial solvers (Got Newton-Mueller from 5 | jotahtin@cc.hut.fi, still to add (BJG)). 6 | 7 | * The asymptotic behavior of the secondary functions (sec, csc, cot, 8 | etc) can overflow because of expressions like cosh(x) / D , where D = 9 | cosh^2 which is computed prior to the division. This should by 10 | special casing "small" vs "large" arguments as has been done for the 11 | sin,cos,tan versions. 12 | 13 | * Perhaps there is something useful in LCY65 L. A. Lyusternik, 14 | O. A. Chervonenkis, and A. R. Yanpol'skii, Handbook for computing 15 | elementary functions, International Series of Monographs in Pure and 16 | Applied Mathematics, vol. 76, Pergamon Press, Oxford, 1965. 17 | 18 | * Comparing the Complex Arithmetic routines in Section 5.5 of Numerical Recipes 19 | gsl_complex_div() uses simple complex division while 5.5.5 has a more 20 | sophisticated one that avoids underflow/overflow. 21 | 22 | -------------------------------------------------------------------------------- /libs/gsl_sub/complex/gsl_complex_math.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmarcou/IGoR/0453bb1a0b42acb4137a9a284eea9136984563c3/libs/gsl_sub/complex/gsl_complex_math.h -------------------------------------------------------------------------------- /libs/gsl_sub/complex/inline.c: -------------------------------------------------------------------------------- 1 | /* complex/inline.c 2 | * 3 | * Copyright (C) 2008 Brian Gough 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 3 of the License, or (at 8 | * your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | /* Compile all the inline functions */ 21 | 22 | #define COMPILE_INLINE_STATIC 23 | #include "build.h" 24 | #include 25 | -------------------------------------------------------------------------------- /libs/gsl_sub/eigen/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgsleigen.la 2 | 3 | check_PROGRAMS = test 4 | 5 | noinst_HEADERS = gsl_eigen.h 6 | libgsleigen_la_SOURCES = jacobi.c symm.c symmv.c nonsymm.c nonsymmv.c herm.c hermv.c gensymm.c gensymmv.c genherm.c genhermv.c gen.c genv.c sort.c francis.c schur.c 7 | 8 | AM_CPPFLAGS = -I$(top_srcdir) 9 | 10 | noinst_HEADERS = qrstep.c 11 | 12 | TESTS = $(check_PROGRAMS) 13 | 14 | test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la 15 | 16 | test_SOURCES = test.c 17 | 18 | 19 | -------------------------------------------------------------------------------- /libs/gsl_sub/eigen/TODO: -------------------------------------------------------------------------------- 1 | # -*- org -*- 2 | #+CATEGORY: eigen 3 | 4 | * Merge improvements from SVD qrstep to eigen - these should be 5 | combined somehow as we only need one version of them. 6 | 7 | * dlae2.f has better handling of 2x2 eigenvalues than our qrstep.c 8 | 9 | * Document Jacobi eigen function, in particular that it only works for 10 | symmetric matrices. 11 | 12 | * add support for nonsymmv left eigenvectors?: 13 | 14 | gsl_eigen_nonsymmv_params(const int lr) 15 | 16 | to specify whether we should compute left/right eigenvectors (or both). 17 | 18 | If they want both, we'll need a new function: 19 | 20 | gsl_eigen_nonsymmv_lr(..., evec_r, evec_l, ...) 21 | and 22 | gsl_eigen_nonsymmv_lr_Z(...) 23 | -------------------------------------------------------------------------------- /libs/gsl_sub/err/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgslerr.la 2 | 3 | noinst_HEADERS = gsl_errno.h gsl_message.h 4 | 5 | libgslerr_la_SOURCES = error.c stream.c message.c strerror.c 6 | 7 | check_PROGRAMS = test 8 | 9 | TESTS = $(check_PROGRAMS) 10 | 11 | test_SOURCES = test.c 12 | test_LDADD = libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/err/TODO: -------------------------------------------------------------------------------- 1 | # -*- org -*- 2 | #+CATEGORY: err 3 | 4 | * Add a GSL_ERROR_MODE environment variable for choosing error 5 | behavior at runtime (???). 6 | 7 | -------------------------------------------------------------------------------- /libs/gsl_sub/gsl.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | GSL_CBLAS_LIB=-lgslcblas 6 | 7 | Name: GSL 8 | Description: GNU Scientific Library 9 | Version: @VERSION@ 10 | Libs: @GSL_LIBS@ ${GSL_CBLAS_LIB} @GSL_LIBM@ @LIBS@ 11 | Cflags: @GSL_CFLAGS@ 12 | -------------------------------------------------------------------------------- /libs/gsl_sub/gsl/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | header-links: remove-links 3 | HEADERLIST="$(top_srcdir)/gsl*.h $(top_srcdir)/*/gsl*.h"; \ 4 | for h in $$HEADERLIST; do \ 5 | BASENAME=`basename $$h`; \ 6 | test -r $$BASENAME || $(LN_S) $$h $$BASENAME; \ 7 | done 8 | 9 | remove-links: 10 | rm -f gsl*.h 11 | 12 | 13 | all: all-am header-links 14 | 15 | clean-local: remove-links 16 | distclean-local: remove-links 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/gsl_version.h: -------------------------------------------------------------------------------- 1 | #ifndef __GSL_VERSION_H__ 2 | #define __GSL_VERSION_H__ 3 | 4 | #include 5 | 6 | #undef __BEGIN_DECLS 7 | #undef __END_DECLS 8 | #ifdef __cplusplus 9 | # define __BEGIN_DECLS extern "C" { 10 | # define __END_DECLS } 11 | #else 12 | # define __BEGIN_DECLS /* empty */ 13 | # define __END_DECLS /* empty */ 14 | #endif 15 | __BEGIN_DECLS 16 | 17 | 18 | #define GSL_VERSION "2.3" 19 | #define GSL_MAJOR_VERSION 2 20 | #define GSL_MINOR_VERSION 3 21 | 22 | GSL_VAR const char * gsl_version; 23 | 24 | __END_DECLS 25 | 26 | #endif /* __GSL_VERSION_H__ */ 27 | -------------------------------------------------------------------------------- /libs/gsl_sub/gsl_version.h.in: -------------------------------------------------------------------------------- 1 | #ifndef __GSL_VERSION_H__ 2 | #define __GSL_VERSION_H__ 3 | 4 | #include 5 | 6 | #undef __BEGIN_DECLS 7 | #undef __END_DECLS 8 | #ifdef __cplusplus 9 | # define __BEGIN_DECLS extern "C" { 10 | # define __END_DECLS } 11 | #else 12 | # define __BEGIN_DECLS /* empty */ 13 | # define __END_DECLS /* empty */ 14 | #endif 15 | __BEGIN_DECLS 16 | 17 | 18 | #define GSL_VERSION "@VERSION@" 19 | #define GSL_MAJOR_VERSION @GSL_MAJOR_VERSION@ 20 | #define GSL_MINOR_VERSION @GSL_MINOR_VERSION@ 21 | 22 | GSL_VAR const char * gsl_version; 23 | 24 | __END_DECLS 25 | 26 | #endif /* __GSL_VERSION_H__ */ 27 | -------------------------------------------------------------------------------- /libs/gsl_sub/histogram/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgslhistogram.la 2 | 3 | noinst_HEADERS = gsl_histogram.h gsl_histogram2d.h 4 | 5 | AM_CPPFLAGS = -I$(top_srcdir) 6 | 7 | libgslhistogram_la_SOURCES = add.c get.c init.c params.c reset.c file.c pdf.c gsl_histogram.h add2d.c get2d.c init2d.c params2d.c reset2d.c file2d.c pdf2d.c gsl_histogram2d.h calloc_range.c calloc_range2d.c copy.c copy2d.c maxval.c maxval2d.c oper.c oper2d.c stat.c stat2d.c 8 | 9 | noinst_HEADERS = urand.c find.c find2d.c 10 | 11 | check_PROGRAMS = test 12 | TESTS = $(check_PROGRAMS) 13 | 14 | EXTRA_DIST = urand.c 15 | 16 | test_SOURCES = test.c test1d.c test2d.c test1d_resample.c test2d_resample.c test1d_trap.c test2d_trap.c 17 | test_LDADD = libgslhistogram.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la 18 | 19 | CLEANFILES = test.txt test.dat 20 | 21 | -------------------------------------------------------------------------------- /libs/gsl_sub/histogram/TODO: -------------------------------------------------------------------------------- 1 | # -*- org -*- 2 | #+CATEGORY: histogram 3 | 4 | * Implement N-d histograms (Simone Piccardi is 5 | working on something here). 6 | 7 | -------------------------------------------------------------------------------- /libs/gsl_sub/histogram/urand.c: -------------------------------------------------------------------------------- 1 | /* histogram/urand.c 2 | * 3 | * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Brian Gough 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 3 of the License, or (at 8 | * your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | static double urand (void); 21 | 22 | static double urand (void) { 23 | static unsigned long int x = 1; 24 | x = (1103515245 * x + 12345) & 0x7fffffffUL ; 25 | return x / 2147483648.0 ; 26 | } 27 | -------------------------------------------------------------------------------- /libs/gsl_sub/ieee-utils/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgslieeeutils.la 2 | 3 | noinst_HEADERS = gsl_ieee_utils.h 4 | 5 | libgslieeeutils_la_SOURCES = print.c make_rep.c gsl_ieee_utils.h env.c fp.c read.c 6 | 7 | noinst_HEADERS = fp-aix.c fp-darwin.c fp-darwin86.c fp-hpux.c fp-hpux11.c fp-irix.c fp-gnum68k.c fp-gnuppc.c fp-solaris.c fp-gnusparc.c fp-sunos4.c fp-tru64.c fp-unknown.c fp-gnux86.c fp-freebsd.c fp-os2emx.c fp-netbsd.c fp-openbsd.c fp-gnuc99.c endian.c standardize.c 8 | 9 | AM_CPPFLAGS = -I$(top_srcdir) 10 | 11 | TESTS = $(check_PROGRAMS) 12 | check_PROGRAMS = test 13 | test_LDADD = libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la 14 | test_SOURCES = test.c 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/ieee-utils/TODO: -------------------------------------------------------------------------------- 1 | # -*- org -*- 2 | #+CATEGORY: ieee-utils 3 | 4 | * Fix up ieee-utils/fp-m68klinux.c for correct behavior and actually 5 | test it. 6 | -------------------------------------------------------------------------------- /libs/gsl_sub/integration/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgslintegration.la 2 | 3 | AM_CPPFLAGS = -I$(top_srcdir) 4 | 5 | libgslintegration_la_SOURCES = qk15.c qk21.c qk31.c qk41.c qk51.c qk61.c qk.c qng.c qng.h qag.c qags.c qagp.c workspace.c qcheb.c qawc.c qmomo.c qaws.c qmomof.c qawo.c qawf.c glfixed.c cquad.c 6 | 7 | noinst_HEADERS = gsl_integration.h 8 | noinst_HEADERS = qpsrt.c qpsrt2.c qelg.c qc25c.c qc25s.c qc25f.c ptsort.c util.c err.c positivity.c append.c initialise.c set_initial.c reset.c cquad_const.c 9 | 10 | TESTS = $(check_PROGRAMS) 11 | check_PROGRAMS = test 12 | 13 | test_SOURCES = test.c tests.c tests.h 14 | test_LDADD = libgslintegration.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la 15 | -------------------------------------------------------------------------------- /libs/gsl_sub/integration/positivity.c: -------------------------------------------------------------------------------- 1 | /* Compare the integral of f(x) with the integral of |f(x)| 2 | to determine if f(x) covers both positive and negative values */ 3 | 4 | static inline int 5 | test_positivity (double result, double resabs); 6 | 7 | static inline int 8 | test_positivity (double result, double resabs) 9 | { 10 | int status = (fabs (result) >= (1 - 50 * GSL_DBL_EPSILON) * resabs); 11 | 12 | return status; 13 | } 14 | -------------------------------------------------------------------------------- /libs/gsl_sub/integration/reset.c: -------------------------------------------------------------------------------- 1 | static inline void 2 | reset_nrmax (gsl_integration_workspace * workspace); 3 | 4 | static inline void 5 | reset_nrmax (gsl_integration_workspace * workspace) 6 | { 7 | workspace->nrmax = 0; 8 | workspace->i = workspace->order[0] ; 9 | } 10 | -------------------------------------------------------------------------------- /libs/gsl_sub/integration/set_initial.c: -------------------------------------------------------------------------------- 1 | static inline 2 | void set_initial_result (gsl_integration_workspace * workspace, 3 | double result, double error); 4 | 5 | static inline 6 | void set_initial_result (gsl_integration_workspace * workspace, 7 | double result, double error) 8 | { 9 | workspace->size = 1; 10 | workspace->rlist[0] = result; 11 | workspace->elist[0] = error; 12 | } 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/linalg/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgsllinalg.la 2 | 3 | noinst_HEADERS = gsl_linalg.h 4 | 5 | AM_CPPFLAGS = -I$(top_srcdir) 6 | 7 | libgsllinalg_la_SOURCES = cod.c condest.c invtri.c multiply.c exponential.c tridiag.c tridiag.h lu.c luc.c hh.c qr.c qrpt.c lq.c ptlq.c svd.c householder.c householdercomplex.c hessenberg.c hesstri.c cholesky.c choleskyc.c mcholesky.c pcholesky.c symmtd.c hermtd.c bidiag.c balance.c balancemat.c inline.c 8 | 9 | noinst_HEADERS = apply_givens.c cholesky_common.c svdstep.c tridiag.h test_cholesky.c 10 | 11 | TESTS = $(check_PROGRAMS) 12 | 13 | check_PROGRAMS = test 14 | 15 | test_SOURCES = test.c 16 | test_LDADD = libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../rng/libgslrng.la 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/linalg/TODO: -------------------------------------------------------------------------------- 1 | # -*- org -*- 2 | #+CATEGORY: linalg 3 | 4 | * Support M 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #include 13 | #include 14 | 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | 21 | #include 22 | #include 23 | 24 | 25 | #endif /* __GSL_MATRIX_H__ */ 26 | -------------------------------------------------------------------------------- /libs/gsl_sub/matrix/matrix.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | /* Compile all the inline matrix functions */ 6 | 7 | #define COMPILE_INLINE_STATIC 8 | #include "build.h" 9 | #include 10 | 11 | -------------------------------------------------------------------------------- /libs/gsl_sub/matrix/test_static.c: -------------------------------------------------------------------------------- 1 | 2 | #undef HAVE_INLINE 3 | #ifndef NO_INLINE 4 | #define NO_INLINE 5 | #endif 6 | #define DESC " (static)" 7 | #include "test.c" 8 | -------------------------------------------------------------------------------- /libs/gsl_sub/matrix/view.h: -------------------------------------------------------------------------------- 1 | #define NULL_VECTOR {0, 0, 0, 0, 0} 2 | #define NULL_VECTOR_VIEW {{0, 0, 0, 0, 0}} 3 | 4 | #define NULL_MATRIX {0, 0, 0, 0, 0, 0} 5 | #define NULL_MATRIX_VIEW {{0, 0, 0, 0, 0, 0}} 6 | -------------------------------------------------------------------------------- /libs/gsl_sub/permutation/gsl_permute.h: -------------------------------------------------------------------------------- 1 | #ifndef __GSL_PERMUTE_H__ 2 | #define __GSL_PERMUTE_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #include 13 | #include 14 | 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | 21 | #include 22 | #include 23 | 24 | #endif /* __GSL_PERMUTE_H__ */ 25 | -------------------------------------------------------------------------------- /libs/gsl_sub/permutation/gsl_permute_matrix.h: -------------------------------------------------------------------------------- 1 | #ifndef __GSL_PERMUTE_MATRIX_H__ 2 | #define __GSL_PERMUTE_MATRIX_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #include 13 | #include 14 | 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | 21 | #include 22 | #include 23 | 24 | #endif /* __GSL_PERMUTE_MATRIX_H__ */ 25 | -------------------------------------------------------------------------------- /libs/gsl_sub/permutation/gsl_permute_vector.h: -------------------------------------------------------------------------------- 1 | #ifndef __GSL_PERMUTE_VECTOR_H__ 2 | #define __GSL_PERMUTE_VECTOR_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #include 13 | #include 14 | 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | 21 | #include 22 | #include 23 | 24 | #endif /* __GSL_PERMUTE_VECTOR_H__ */ 25 | -------------------------------------------------------------------------------- /libs/gsl_sub/permutation/inline.c: -------------------------------------------------------------------------------- 1 | /* permutation/inline.c 2 | * 3 | * Copyright (C) 2008 Brian Gough 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 3 of the License, or (at 8 | * your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #include 21 | #include 22 | 23 | /* Compile all the inline functions */ 24 | 25 | #define COMPILE_INLINE_STATIC 26 | #include "build.h" 27 | #include 28 | -------------------------------------------------------------------------------- /libs/gsl_sub/pkgconfig.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | # skip test if we have no pkg-config 5 | pkg-config --version >/dev/null 2>&1 || exit 77 6 | PKG_CONFIG_PATH=. 7 | export PKG_CONFIG_PATH 8 | pkg-config --define-variable=GSL_CBLAS_LIB=-lfoo --libs gsl | grep 'lfoo' > /dev/null 2>&1 9 | exit 0 10 | -------------------------------------------------------------------------------- /libs/gsl_sub/poly/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgslpoly.la 2 | 3 | noinst_HEADERS = gsl_poly.h 4 | 5 | AM_CPPFLAGS = -I$(top_srcdir) 6 | 7 | libgslpoly_la_SOURCES = dd.c eval.c solve_quadratic.c solve_cubic.c zsolve_quadratic.c zsolve_cubic.c zsolve.c zsolve_init.c deriv.c 8 | 9 | noinst_HEADERS = balance.c companion.c qr.c 10 | 11 | TESTS = $(check_PROGRAMS) 12 | 13 | check_PROGRAMS = test 14 | 15 | test_SOURCES = test.c 16 | test_LDADD = libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../sort/libgslsort.la 17 | 18 | -------------------------------------------------------------------------------- /libs/gsl_sub/poly/eval.c: -------------------------------------------------------------------------------- 1 | /* poly/eval.c 2 | * 3 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman 4 | * Complex functions Copyright (C) 2007 Frank Reininghaus 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or (at 9 | * your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #include 22 | 23 | /* Compile all the inline functions */ 24 | 25 | #define COMPILE_INLINE_STATIC 26 | #include "build.h" 27 | #include 28 | -------------------------------------------------------------------------------- /libs/gsl_sub/randist/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgslrandist.la 2 | 3 | noinst_HEADERS= gsl_randist.h 4 | 5 | AM_CPPFLAGS = -I$(top_srcdir) 6 | 7 | libgslrandist_la_SOURCES = bernoulli.c beta.c bigauss.c binomial.c cauchy.c chisq.c dirichlet.c discrete.c erlang.c exponential.c exppow.c fdist.c flat.c gamma.c gauss.c gausszig.c gausstail.c geometric.c gumbel.c hyperg.c laplace.c levy.c logarithmic.c logistic.c lognormal.c multinomial.c mvgauss.c nbinomial.c pareto.c pascal.c poisson.c rayleigh.c shuffle.c sphere.c tdist.c weibull.c landau.c binomial_tpe.c 8 | 9 | TESTS = $(check_PROGRAMS) 10 | 11 | check_PROGRAMS = test 12 | 13 | test_SOURCES = test.c 14 | test_LDADD = libgslrandist.la ../rng/libgslrng.la ../cdf/libgslcdf.la ../specfunc/libgslspecfunc.la ../integration/libgslintegration.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la ../sort/libgslsort.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la 15 | 16 | 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/randist/levy.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmarcou/IGoR/0453bb1a0b42acb4137a9a284eea9136984563c3/libs/gsl_sub/randist/levy.c -------------------------------------------------------------------------------- /libs/gsl_sub/rng/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgslrng.la 2 | 3 | noinst_HEADERS = gsl_rng.h 4 | 5 | AM_CPPFLAGS = -I$(top_srcdir) 6 | 7 | libgslrng_la_SOURCES = borosh13.c cmrg.c coveyou.c default.c file.c fishman18.c fishman20.c fishman2x.c gfsr4.c knuthran2.c knuthran.c knuthran2002.c lecuyer21.c minstd.c mrg.c mt.c r250.c ran0.c ran1.c ran2.c ran3.c rand48.c rand.c random.c randu.c ranf.c ranlux.c ranlxd.c ranlxs.c ranmar.c rng.c slatec.c taus.c taus113.c transputer.c tt.c types.c uni32.c uni.c vax.c waterman14.c zuf.c inline.c 8 | 9 | CLEANFILES = test.dat 10 | 11 | noinst_HEADERS = schrage.c 12 | 13 | test_SOURCES = test.c 14 | test_LDADD = libgslrng.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la 15 | 16 | TESTS = $(check_PROGRAMS) 17 | check_PROGRAMS = test 18 | 19 | # benchmark_SOURCES = benchmark.c 20 | # benchmark_LDADD = libgslrng.la ../err/libgslerr.la ../utils/libutils.la 21 | # rng_dump_SOURCES = rng-dump.c 22 | # rng_dump_LDADD = libgslrng.la ../err/libgslerr.la ../utils/libutils.la 23 | -------------------------------------------------------------------------------- /libs/gsl_sub/sort/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgslsort.la 2 | 3 | noinst_HEADERS = gsl_heapsort.h gsl_sort.h gsl_sort_char.h gsl_sort_double.h gsl_sort_float.h gsl_sort_int.h gsl_sort_long.h gsl_sort_long_double.h gsl_sort_short.h gsl_sort_uchar.h gsl_sort_uint.h gsl_sort_ulong.h gsl_sort_ushort.h gsl_sort_vector.h gsl_sort_vector_char.h gsl_sort_vector_double.h gsl_sort_vector_float.h gsl_sort_vector_int.h gsl_sort_vector_long.h gsl_sort_vector_long_double.h gsl_sort_vector_short.h gsl_sort_vector_uchar.h gsl_sort_vector_uint.h gsl_sort_vector_ulong.h gsl_sort_vector_ushort.h 4 | 5 | AM_CPPFLAGS = -I$(top_srcdir) 6 | 7 | libgslsort_la_SOURCES = sort.c sortind.c sortvec.c sortvecind.c subset.c subsetind.c 8 | noinst_HEADERS = sortvec_source.c sortvecind_source.c subset_source.c subsetind_source.c test_source.c test_heapsort.c 9 | 10 | TESTS = $(check_PROGRAMS) 11 | 12 | check_PROGRAMS = test 13 | 14 | test_SOURCES = test.c 15 | test_LDADD = libgslsort.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la 16 | 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/sort/gsl_sort.h: -------------------------------------------------------------------------------- 1 | #ifndef __GSL_SORT_H__ 2 | #define __GSL_SORT_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | 11 | #include 12 | #include 13 | 14 | #include 15 | #include 16 | 17 | #include 18 | #include 19 | 20 | #endif /* __GSL_SORT_H__ */ 21 | -------------------------------------------------------------------------------- /libs/gsl_sub/sort/gsl_sort_vector.h: -------------------------------------------------------------------------------- 1 | #ifndef __GSL_SORT_VECTOR_H__ 2 | #define __GSL_SORT_VECTOR_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | 11 | #include 12 | #include 13 | 14 | #include 15 | #include 16 | 17 | #include 18 | #include 19 | 20 | #endif /* __GSL_SORT_VECTOR_H__ */ 21 | -------------------------------------------------------------------------------- /libs/gsl_sub/specfunc/cheb_eval.c: -------------------------------------------------------------------------------- 1 | 2 | static inline int 3 | cheb_eval_e(const cheb_series * cs, 4 | const double x, 5 | gsl_sf_result * result) 6 | { 7 | int j; 8 | double d = 0.0; 9 | double dd = 0.0; 10 | 11 | double y = (2.0*x - cs->a - cs->b) / (cs->b - cs->a); 12 | double y2 = 2.0 * y; 13 | 14 | double e = 0.0; 15 | 16 | for(j = cs->order; j>=1; j--) { 17 | double temp = d; 18 | d = y2*d - dd + cs->c[j]; 19 | e += fabs(y2*temp) + fabs(dd) + fabs(cs->c[j]); 20 | dd = temp; 21 | } 22 | 23 | { 24 | double temp = d; 25 | d = y*d - dd + 0.5 * cs->c[0]; 26 | e += fabs(y*temp) + fabs(dd) + 0.5 * fabs(cs->c[0]); 27 | } 28 | 29 | result->val = d; 30 | result->err = GSL_DBL_EPSILON * e + fabs(cs->c[cs->order]); 31 | 32 | return GSL_SUCCESS; 33 | } 34 | 35 | -------------------------------------------------------------------------------- /libs/gsl_sub/specfunc/cheb_eval_mode.c: -------------------------------------------------------------------------------- 1 | static inline int 2 | cheb_eval_mode_e(const cheb_series * cs, 3 | const double x, 4 | gsl_mode_t mode, 5 | gsl_sf_result * result) 6 | { 7 | int j; 8 | double d = 0.0; 9 | double dd = 0.0; 10 | 11 | double y = (2.*x - cs->a - cs->b) / (cs->b - cs->a); 12 | double y2 = 2.0 * y; 13 | 14 | int eval_order; 15 | 16 | if(GSL_MODE_PREC(mode) == GSL_PREC_DOUBLE) 17 | eval_order = cs->order; 18 | else 19 | eval_order = cs->order_sp; 20 | 21 | for(j = eval_order; j>=1; j--) { 22 | double temp = d; 23 | d = y2*d - dd + cs->c[j]; 24 | dd = temp; 25 | } 26 | 27 | result->val = y*d - dd + 0.5 * cs->c[0]; 28 | result->err = GSL_DBL_EPSILON * fabs(result->val) + fabs(cs->c[eval_order]); 29 | return GSL_SUCCESS; 30 | } 31 | -------------------------------------------------------------------------------- /libs/gsl_sub/specfunc/check.h: -------------------------------------------------------------------------------- 1 | /* check for underflow */ 2 | 3 | #define CHECK_UNDERFLOW(r) if (fabs((r)->val) < GSL_DBL_MIN) GSL_ERROR("underflow", GSL_EUNDRFLW); 4 | -------------------------------------------------------------------------------- /libs/gsl_sub/specfunc/eval.h: -------------------------------------------------------------------------------- 1 | /* evaluate a function discarding the status value in a modifiable way */ 2 | 3 | #define EVAL_RESULT(fn) \ 4 | gsl_sf_result result; \ 5 | int status = fn; \ 6 | if (status != GSL_SUCCESS) { \ 7 | GSL_ERROR_VAL(#fn, status, result.val); \ 8 | } ; \ 9 | return result.val; 10 | 11 | #define EVAL_DOUBLE(fn) \ 12 | int status = fn; \ 13 | if (status != GSL_SUCCESS) { \ 14 | GSL_ERROR_VAL(#fn, status, result); \ 15 | } ; \ 16 | return result; 17 | 18 | -------------------------------------------------------------------------------- /libs/gsl_sub/specfunc/gsl_specfunc.h: -------------------------------------------------------------------------------- 1 | /* Author: G. Jungman */ 2 | 3 | 4 | /* Convenience header */ 5 | #ifndef __GSL_SPECFUNC_H__ 6 | #define __GSL_SPECFUNC_H__ 7 | 8 | #include 9 | 10 | #endif /* __GSL_SPECFUNC_H__ */ 11 | -------------------------------------------------------------------------------- /libs/gsl_sub/statistics/gsl_statistics.h: -------------------------------------------------------------------------------- 1 | #ifndef __GSL_STATISTICS_H__ 2 | #define __GSL_STATISTICS_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | 11 | #include 12 | #include 13 | 14 | #include 15 | #include 16 | 17 | #include 18 | #include 19 | 20 | #endif /* __GSL_STATISTICS_H__ */ 21 | -------------------------------------------------------------------------------- /libs/gsl_sub/statistics/wabsdev.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #define BASE_LONG_DOUBLE 6 | #include "templates_on.h" 7 | #include "wabsdev_source.c" 8 | #include "templates_off.h" 9 | #undef BASE_LONG_DOUBLE 10 | 11 | #define BASE_DOUBLE 12 | #include "templates_on.h" 13 | #include "wabsdev_source.c" 14 | #include "templates_off.h" 15 | #undef BASE_DOUBLE 16 | 17 | #define BASE_FLOAT 18 | #include "templates_on.h" 19 | #include "wabsdev_source.c" 20 | #include "templates_off.h" 21 | #undef BASE_FLOAT 22 | -------------------------------------------------------------------------------- /libs/gsl_sub/statistics/wkurtosis.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #define BASE_LONG_DOUBLE 6 | #include "templates_on.h" 7 | #include "wkurtosis_source.c" 8 | #include "templates_off.h" 9 | #undef BASE_LONG_DOUBLE 10 | 11 | #define BASE_DOUBLE 12 | #include "templates_on.h" 13 | #include "wkurtosis_source.c" 14 | #include "templates_off.h" 15 | #undef BASE_DOUBLE 16 | 17 | #define BASE_FLOAT 18 | #include "templates_on.h" 19 | #include "wkurtosis_source.c" 20 | #include "templates_off.h" 21 | #undef BASE_FLOAT 22 | -------------------------------------------------------------------------------- /libs/gsl_sub/statistics/wmean.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #define BASE_LONG_DOUBLE 5 | #include "templates_on.h" 6 | #include "wmean_source.c" 7 | #include "templates_off.h" 8 | #undef BASE_LONG_DOUBLE 9 | 10 | #define BASE_DOUBLE 11 | #include "templates_on.h" 12 | #include "wmean_source.c" 13 | #include "templates_off.h" 14 | #undef BASE_DOUBLE 15 | 16 | #define BASE_FLOAT 17 | #include "templates_on.h" 18 | #include "wmean_source.c" 19 | #include "templates_off.h" 20 | #undef BASE_FLOAT 21 | 22 | -------------------------------------------------------------------------------- /libs/gsl_sub/statistics/wskew.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #define BASE_LONG_DOUBLE 6 | #include "templates_on.h" 7 | #include "wskew_source.c" 8 | #include "templates_off.h" 9 | #undef BASE_LONG_DOUBLE 10 | 11 | #define BASE_DOUBLE 12 | #include "templates_on.h" 13 | #include "wskew_source.c" 14 | #include "templates_off.h" 15 | #undef BASE_DOUBLE 16 | 17 | #define BASE_FLOAT 18 | #include "templates_on.h" 19 | #include "wskew_source.c" 20 | #include "templates_off.h" 21 | #undef BASE_FLOAT 22 | 23 | -------------------------------------------------------------------------------- /libs/gsl_sub/statistics/wvariance.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #define BASE_LONG_DOUBLE 6 | #include "templates_on.h" 7 | #include "wvariance_source.c" 8 | #include "templates_off.h" 9 | #undef BASE_LONG_DOUBLE 10 | 11 | #define BASE_DOUBLE 12 | #include "templates_on.h" 13 | #include "wvariance_source.c" 14 | #include "templates_off.h" 15 | #undef BASE_DOUBLE 16 | 17 | #define BASE_FLOAT 18 | #include "templates_on.h" 19 | #include "wvariance_source.c" 20 | #include "templates_off.h" 21 | #undef BASE_FLOAT 22 | -------------------------------------------------------------------------------- /libs/gsl_sub/sys/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgslsys.la 2 | 3 | noinst_HEADERS = gsl_sys.h 4 | 5 | libgslsys_la_SOURCES = minmax.c prec.c hypot.c log1p.c expm1.c coerce.c invhyp.c pow_int.c infnan.c fdiv.c fcmp.c ldfrexp.c 6 | 7 | AM_CPPFLAGS = -I$(top_srcdir) 8 | 9 | check_PROGRAMS = test 10 | TESTS = $(check_PROGRAMS) 11 | test_SOURCES = test.c 12 | test_LDADD = libgslsys.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la libgslsys.la ../utils/libutils.la 13 | -------------------------------------------------------------------------------- /libs/gsl_sub/sys/fdiv.c: -------------------------------------------------------------------------------- 1 | /* sys/fdiv.c 2 | * 3 | * Copyright (C) 2001, 2007 Brian Gough 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 3 of the License, or (at 8 | * your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | double 25 | gsl_fdiv (const double x, const double y) 26 | { 27 | return x / y; 28 | } 29 | -------------------------------------------------------------------------------- /libs/gsl_sub/test/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libgsltest.la 2 | 3 | noinst_HEADERS = gsl_test.h 4 | 5 | libgsltest_la_SOURCES = results.c 6 | 7 | #check_PROGRAMS = test 8 | #TESTS = test 9 | #test_SOURCES = test_errnos.c 10 | #test_LDADD = libgsltest.la ../sys/libgslsys.la ../utils/libutils.la 11 | -------------------------------------------------------------------------------- /libs/gsl_sub/test_gsl_histogram.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | cat > test.exp.1.tmp < test.obs.1.tmp 11 | 12 | cmp test.exp.1.tmp test.obs.1.tmp 13 | STATUS=$? 14 | rm test.exp.1.tmp test.obs.1.tmp 15 | 16 | exit $STATUS 17 | -------------------------------------------------------------------------------- /libs/gsl_sub/utils/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libutils.la 2 | 3 | # Don't need to list alloca.c, etc., Automake includes them. 4 | libutils_la_SOURCES = system.h placeholder.c 5 | libutils_la_LIBADD = @LIBOBJS@ 6 | 7 | EXTRA_DIST = README 8 | -------------------------------------------------------------------------------- /libs/gsl_sub/utils/README: -------------------------------------------------------------------------------- 1 | Some common routines. 2 | These were taken from the lib directory of Texinfo-3.11. 3 | Many are common to other GNU packages as well. 4 | (On the FSF machines, check /gd/gnu/lib for the latest.) 5 | 6 | -------------------------------------------------------------------------------- /libs/gsl_sub/utils/memcpy.c: -------------------------------------------------------------------------------- 1 | /* Copy LEN bytes starting at SRCADDR to DESTADDR. Result undefined 2 | if the source overlaps with the destination. 3 | Return DESTADDR. */ 4 | 5 | #if HAVE_CONFIG_H 6 | #include 7 | #endif 8 | 9 | void * 10 | memcpy (destaddr, srcaddr, len) 11 | void *destaddr; 12 | const void *srcaddr; 13 | unsigned int len; 14 | { 15 | char *dest = (char *) destaddr; 16 | const char *src = srcaddr; 17 | while (len-- > 0) 18 | *dest++ = *src++; 19 | return destaddr; 20 | } 21 | -------------------------------------------------------------------------------- /libs/gsl_sub/utils/memmove.c: -------------------------------------------------------------------------------- 1 | /* memmove.c -- copy memory. 2 | Copy LENGTH bytes from SOURCE to DEST. Does not null-terminate. 3 | In the public domain. 4 | By David MacKenzie . */ 5 | 6 | #if HAVE_CONFIG_H 7 | #include 8 | #endif 9 | 10 | void * 11 | memmove (destaddr, sourceaddr, length) 12 | void *destaddr; 13 | const void *sourceaddr; 14 | unsigned length; 15 | { 16 | char *dest = destaddr; 17 | const char *source = sourceaddr; 18 | if (source < dest) 19 | /* Moving from low mem to hi mem; start at end. */ 20 | for (source += length, dest += length; length; --length) 21 | *--dest = *--source; 22 | else if (source != dest) 23 | /* Moving from hi mem to low mem; start at beginning. */ 24 | for (; length; --length) 25 | *dest++ = *source++; 26 | 27 | return destaddr; 28 | } 29 | -------------------------------------------------------------------------------- /libs/gsl_sub/utils/placeholder.c: -------------------------------------------------------------------------------- 1 | void 2 | gsl_utils_placeholder (void); 3 | 4 | void 5 | gsl_utils_placeholder (void) 6 | { 7 | int i = 0; 8 | i++ ; 9 | } 10 | -------------------------------------------------------------------------------- /libs/gsl_sub/utils/strtoul.c: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 1991 Free Software Foundation, Inc. 2 | This file is part of the GNU C Library. 3 | 4 | The GNU C Library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Library General Public License as 6 | published by the Free Software Foundation; either version 3 of the 7 | License, or (at your option) any later version. 8 | 9 | The GNU C Library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Library General Public License for more details. 13 | 14 | You should have received a copy of the GNU Library General Public 15 | License along with the GNU C Library; see the file COPYING.LIB. If 16 | not, write to the Free Software Foundation, Inc., 675 Mass Ave, 17 | Cambridge, MA 02110-1301, USA. */ 18 | 19 | #define UNSIGNED 1 20 | 21 | #include 22 | -------------------------------------------------------------------------------- /libs/gsl_sub/vector/TODO: -------------------------------------------------------------------------------- 1 | # -*- org -*- 2 | #+CATEGORY: vector 3 | 4 | * Pretty print function 5 | 6 | * Vector p-norms 7 | -------------------------------------------------------------------------------- /libs/gsl_sub/vector/gsl_vector.h: -------------------------------------------------------------------------------- 1 | #ifndef __GSL_VECTOR_H__ 2 | #define __GSL_VECTOR_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #include 13 | #include 14 | 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | 21 | #include 22 | #include 23 | 24 | 25 | #endif /* __GSL_VECTOR_H__ */ 26 | -------------------------------------------------------------------------------- /libs/gsl_sub/vector/gsl_vector_complex.h: -------------------------------------------------------------------------------- 1 | #ifndef __GSL_VECTOR_COMPLEX_H__ 2 | #define __GSL_VECTOR_COMPLEX_H__ 3 | 4 | #define GSL_VECTOR_REAL(z, i) ((z)->data[2*(i)*(z)->stride]) 5 | #define GSL_VECTOR_IMAG(z, i) ((z)->data[2*(i)*(z)->stride + 1]) 6 | 7 | #if GSL_RANGE_CHECK 8 | #define GSL_VECTOR_COMPLEX(zv, i) (((i) >= (zv)->size ? (gsl_error ("index out of range", __FILE__, __LINE__, GSL_EINVAL), 0):0 , *GSL_COMPLEX_AT((zv),(i)))) 9 | #else 10 | #define GSL_VECTOR_COMPLEX(zv, i) (*GSL_COMPLEX_AT((zv),(i))) 11 | #endif 12 | 13 | #define GSL_COMPLEX_AT(zv,i) ((gsl_complex*)&((zv)->data[2*(i)*(zv)->stride])) 14 | #define GSL_COMPLEX_FLOAT_AT(zv,i) ((gsl_complex_float*)&((zv)->data[2*(i)*(zv)->stride])) 15 | #define GSL_COMPLEX_LONG_DOUBLE_AT(zv,i) ((gsl_complex_long_double*)&((zv)->data[2*(i)*(zv)->stride])) 16 | 17 | #endif /* __GSL_VECTOR_COMPLEX_H__ */ 18 | -------------------------------------------------------------------------------- /libs/gsl_sub/vector/test_static.c: -------------------------------------------------------------------------------- 1 | #undef HAVE_INLINE 2 | #ifndef NO_INLINE 3 | #define NO_INLINE 4 | #endif 5 | #define DESC " (static)" 6 | #include "test.c" 7 | -------------------------------------------------------------------------------- /libs/gsl_sub/vector/view.h: -------------------------------------------------------------------------------- 1 | #define NULL_VECTOR {0, 0, 0, 0, 0} 2 | #define NULL_VECTOR_VIEW {{0, 0, 0, 0, 0}} 3 | -------------------------------------------------------------------------------- /libs/jemalloc/.autom4te.cfg: -------------------------------------------------------------------------------- 1 | begin-language: "Autoconf-without-aclocal-m4" 2 | args: --no-cache 3 | end-language: "Autoconf-without-aclocal-m4" 4 | -------------------------------------------------------------------------------- /libs/jemalloc/README: -------------------------------------------------------------------------------- 1 | jemalloc is a general purpose malloc(3) implementation that emphasizes 2 | fragmentation avoidance and scalable concurrency support. jemalloc first came 3 | into use as the FreeBSD libc allocator in 2005, and since then it has found its 4 | way into numerous applications that rely on its predictable behavior. In 2010 5 | jemalloc development efforts broadened to include developer support features 6 | such as heap profiling and extensive monitoring/tuning hooks. Modern jemalloc 7 | releases continue to be integrated back into FreeBSD, and therefore versatility 8 | remains critical. Ongoing development efforts trend toward making jemalloc 9 | among the best allocators for a broad range of demanding applications, and 10 | eliminating/mitigating weaknesses that have practical repercussions for real 11 | world applications. 12 | 13 | The COPYING file contains copyright and licensing information. 14 | 15 | The INSTALL file contains information on how to configure, build, and install 16 | jemalloc. 17 | 18 | The ChangeLog file contains a brief summary of changes for each release. 19 | 20 | URL: http://jemalloc.net/ 21 | -------------------------------------------------------------------------------- /libs/jemalloc/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | for i in autoconf; do 4 | echo "$i" 5 | $i 6 | if [ $? -ne 0 ]; then 7 | echo "Error $? in $i" 8 | exit 1 9 | fi 10 | done 11 | 12 | echo "./configure --enable-autogen $@" 13 | ./configure --enable-autogen $@ 14 | if [ $? -ne 0 ]; then 15 | echo "Error $? in ./configure" 16 | exit 1 17 | fi 18 | -------------------------------------------------------------------------------- /libs/jemalloc/bin/jemalloc.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | 7 | @LD_PRELOAD_VAR@=${libdir}/libjemalloc.@SOREV@ 8 | export @LD_PRELOAD_VAR@ 9 | exec "$@" 10 | -------------------------------------------------------------------------------- /libs/jemalloc/config.stamp.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmarcou/IGoR/0453bb1a0b42acb4137a9a284eea9136984563c3/libs/jemalloc/config.stamp.in -------------------------------------------------------------------------------- /libs/jemalloc/doc/html.xsl.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /libs/jemalloc/doc/manpages.xsl.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/jemalloc/doc/stylesheet.xsl: -------------------------------------------------------------------------------- 1 | 2 | ansi 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/arena_structs_a.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_ARENA_STRUCTS_A_H 2 | #define JEMALLOC_INTERNAL_ARENA_STRUCTS_A_H 3 | 4 | #include "jemalloc/internal/bitmap.h" 5 | 6 | struct arena_slab_data_s { 7 | /* Per region allocated/deallocated bitmap. */ 8 | bitmap_t bitmap[BITMAP_GROUPS_MAX]; 9 | }; 10 | 11 | #endif /* JEMALLOC_INTERNAL_ARENA_STRUCTS_A_H */ 12 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/base_externs.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_BASE_EXTERNS_H 2 | #define JEMALLOC_INTERNAL_BASE_EXTERNS_H 3 | 4 | base_t *b0get(void); 5 | base_t *base_new(tsdn_t *tsdn, unsigned ind, extent_hooks_t *extent_hooks); 6 | void base_delete(base_t *base); 7 | extent_hooks_t *base_extent_hooks_get(base_t *base); 8 | extent_hooks_t *base_extent_hooks_set(base_t *base, 9 | extent_hooks_t *extent_hooks); 10 | void *base_alloc(tsdn_t *tsdn, base_t *base, size_t size, size_t alignment); 11 | extent_t *base_alloc_extent(tsdn_t *tsdn, base_t *base); 12 | void base_stats_get(tsdn_t *tsdn, base_t *base, size_t *allocated, 13 | size_t *resident, size_t *mapped); 14 | void base_prefork(tsdn_t *tsdn, base_t *base); 15 | void base_postfork_parent(tsdn_t *tsdn, base_t *base); 16 | void base_postfork_child(tsdn_t *tsdn, base_t *base); 17 | bool base_boot(tsdn_t *tsdn); 18 | 19 | #endif /* JEMALLOC_INTERNAL_BASE_EXTERNS_H */ 20 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/base_inlines.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_BASE_INLINES_H 2 | #define JEMALLOC_INTERNAL_BASE_INLINES_H 3 | 4 | static inline unsigned 5 | base_ind_get(const base_t *base) { 6 | return base->ind; 7 | } 8 | 9 | #endif /* JEMALLOC_INTERNAL_BASE_INLINES_H */ 10 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/base_types.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_BASE_TYPES_H 2 | #define JEMALLOC_INTERNAL_BASE_TYPES_H 3 | 4 | typedef struct base_block_s base_block_t; 5 | typedef struct base_s base_t; 6 | 7 | #endif /* JEMALLOC_INTERNAL_BASE_TYPES_H */ 8 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/extent_dss_externs.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_EXTENT_DSS_EXTERNS_H 2 | #define JEMALLOC_INTERNAL_EXTENT_DSS_EXTERNS_H 3 | 4 | extern const char *opt_dss; 5 | 6 | dss_prec_t extent_dss_prec_get(void); 7 | bool extent_dss_prec_set(dss_prec_t dss_prec); 8 | void *extent_alloc_dss(tsdn_t *tsdn, arena_t *arena, void *new_addr, 9 | size_t size, size_t alignment, bool *zero, bool *commit); 10 | bool extent_in_dss(void *addr); 11 | bool extent_dss_mergeable(void *addr_a, void *addr_b); 12 | void extent_dss_boot(void); 13 | 14 | #endif /* JEMALLOC_INTERNAL_EXTENT_DSS_EXTERNS_H */ 15 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/extent_dss_structs.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_EXTENT_DSS_STRUCTS_H 2 | #define JEMALLOC_INTERNAL_EXTENT_DSS_STRUCTS_H 3 | 4 | extern const char *dss_prec_names[]; 5 | 6 | #endif /* JEMALLOC_INTERNAL_EXTENT_DSS_STRUCTS_H */ 7 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/extent_dss_types.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_EXTENT_DSS_TYPES_H 2 | #define JEMALLOC_INTERNAL_EXTENT_DSS_TYPES_H 3 | 4 | typedef enum { 5 | dss_prec_disabled = 0, 6 | dss_prec_primary = 1, 7 | dss_prec_secondary = 2, 8 | 9 | dss_prec_limit = 3 10 | } dss_prec_t; 11 | #define DSS_PREC_DEFAULT dss_prec_secondary 12 | #define DSS_DEFAULT "secondary" 13 | 14 | #endif /* JEMALLOC_INTERNAL_EXTENT_DSS_TYPES_H */ 15 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/extent_mmap_externs.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_EXTENT_MMAP_EXTERNS_H 2 | #define JEMALLOC_INTERNAL_EXTENT_MMAP_EXTERNS_H 3 | 4 | extern bool opt_retain; 5 | 6 | void *extent_alloc_mmap(void *new_addr, size_t size, size_t alignment, 7 | bool *zero, bool *commit); 8 | bool extent_dalloc_mmap(void *addr, size_t size); 9 | 10 | #endif /* JEMALLOC_INTERNAL_EXTENT_MMAP_EXTERNS_H */ 11 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/extent_types.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_EXTENT_TYPES_H 2 | #define JEMALLOC_INTERNAL_EXTENT_TYPES_H 3 | 4 | typedef struct extent_s extent_t; 5 | typedef struct extents_s extents_t; 6 | 7 | #define EXTENT_HOOKS_INITIALIZER NULL 8 | 9 | #endif /* JEMALLOC_INTERNAL_EXTENT_TYPES_H */ 10 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/hooks.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_HOOKS_H 2 | #define JEMALLOC_INTERNAL_HOOKS_H 3 | 4 | extern JEMALLOC_EXPORT void (*hooks_arena_new_hook)(); 5 | extern JEMALLOC_EXPORT void (*hooks_libc_hook)(); 6 | 7 | #define JEMALLOC_HOOK(fn, hook) ((void)(hook != NULL && (hook(), 0)), fn) 8 | 9 | #define open JEMALLOC_HOOK(open, hooks_libc_hook) 10 | #define read JEMALLOC_HOOK(read, hooks_libc_hook) 11 | #define write JEMALLOC_HOOK(write, hooks_libc_hook) 12 | #define readlink JEMALLOC_HOOK(readlink, hooks_libc_hook) 13 | #define close JEMALLOC_HOOK(close, hooks_libc_hook) 14 | #define creat JEMALLOC_HOOK(creat, hooks_libc_hook) 15 | #define secure_getenv JEMALLOC_HOOK(secure_getenv, hooks_libc_hook) 16 | /* Note that this is undef'd and re-define'd in src/prof.c. */ 17 | #define _Unwind_Backtrace JEMALLOC_HOOK(_Unwind_Backtrace, hooks_libc_hook) 18 | 19 | #endif /* JEMALLOC_INTERNAL_HOOKS_H */ 20 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_MACROS_H 2 | #define JEMALLOC_INTERNAL_MACROS_H 3 | 4 | #ifdef JEMALLOC_DEBUG 5 | # define JEMALLOC_ALWAYS_INLINE static inline 6 | #else 7 | # define JEMALLOC_ALWAYS_INLINE JEMALLOC_ATTR(always_inline) static inline 8 | #endif 9 | #ifdef _MSC_VER 10 | # define inline _inline 11 | #endif 12 | 13 | #define UNUSED JEMALLOC_ATTR(unused) 14 | 15 | #define ZU(z) ((size_t)z) 16 | #define ZD(z) ((ssize_t)z) 17 | #define QU(q) ((uint64_t)q) 18 | #define QD(q) ((int64_t)q) 19 | 20 | #define KZU(z) ZU(z##ULL) 21 | #define KZD(z) ZD(z##LL) 22 | #define KQU(q) QU(q##ULL) 23 | #define KQD(q) QI(q##LL) 24 | 25 | #ifndef __DECONST 26 | # define __DECONST(type, var) ((type)(uintptr_t)(const void *)(var)) 27 | #endif 28 | 29 | #if !defined(JEMALLOC_HAS_RESTRICT) || defined(__cplusplus) 30 | # define restrict 31 | #endif 32 | 33 | /* Various function pointers are statick and immutable except during testing. */ 34 | #ifdef JEMALLOC_JET 35 | # define JET_MUTABLE 36 | #else 37 | # define JET_MUTABLE const 38 | #endif 39 | 40 | #endif /* JEMALLOC_INTERNAL_MACROS_H */ 41 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/mutex_pool_structs.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_MUTEX_POOL_STRUCTS_H 2 | #define JEMALLOC_INTERNAL_MUTEX_POOL_STRUCTS_H 3 | 4 | #include "jemalloc/internal/mutex.h" 5 | 6 | /* This file really combines "structs" and "types", but only transitionally. */ 7 | 8 | /* We do mod reductions by this value, so it should be kept a power of 2. */ 9 | #define MUTEX_POOL_SIZE 256 10 | 11 | typedef struct mutex_pool_s mutex_pool_t; 12 | struct mutex_pool_s { 13 | malloc_mutex_t mutexes[MUTEX_POOL_SIZE]; 14 | }; 15 | 16 | #endif /* JEMALLOC_INTERNAL_MUTEX_POOL_STRUCTS_H */ 17 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/private_namespace.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | for symbol in `cat "$@"` ; do 4 | echo "#define ${symbol} JEMALLOC_N(${symbol})" 5 | done 6 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/public_namespace.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | for nm in `cat $1` ; do 4 | n=`echo ${nm} |tr ':' ' ' |awk '{print $1}'` 5 | echo "#define je_${n} JEMALLOC_N(${n})" 6 | done 7 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/public_unnamespace.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | for nm in `cat $1` ; do 4 | n=`echo ${nm} |tr ':' ' ' |awk '{print $1}'` 5 | echo "#undef je_${n}" 6 | done 7 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/rtree_ctx.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_RTREE_CTX_H 2 | #define JEMALLOC_INTERNAL_RTREE_CTX_H 3 | 4 | #include "jemalloc/internal/rtree_types.h" 5 | 6 | typedef struct rtree_ctx_cache_elm_s rtree_ctx_cache_elm_t; 7 | struct rtree_ctx_cache_elm_s { 8 | uintptr_t leafkey; 9 | rtree_leaf_elm_t *leaf; 10 | }; 11 | 12 | typedef struct rtree_ctx_s rtree_ctx_t; 13 | struct rtree_ctx_s { 14 | /* Direct mapped cache. */ 15 | rtree_ctx_cache_elm_t cache[RTREE_CTX_NCACHE]; 16 | /* L2 LRU cache. */ 17 | rtree_ctx_cache_elm_t l2_cache[RTREE_CTX_NCACHE_L2]; 18 | }; 19 | 20 | void rtree_ctx_data_init(rtree_ctx_t *ctx); 21 | 22 | #endif /* JEMALLOC_INTERNAL_RTREE_CTX_H */ 23 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/spin.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_SPIN_H 2 | #define JEMALLOC_INTERNAL_SPIN_H 3 | 4 | #ifdef JEMALLOC_SPIN_C_ 5 | # define SPIN_INLINE extern inline 6 | #else 7 | # define SPIN_INLINE inline 8 | #endif 9 | 10 | #define SPIN_INITIALIZER {0U} 11 | 12 | typedef struct { 13 | unsigned iteration; 14 | } spin_t; 15 | 16 | SPIN_INLINE void 17 | spin_adaptive(spin_t *spin) { 18 | volatile uint32_t i; 19 | 20 | if (spin->iteration < 5) { 21 | for (i = 0; i < (1U << spin->iteration); i++) { 22 | CPU_SPINWAIT; 23 | } 24 | spin->iteration++; 25 | } else { 26 | #ifdef _WIN32 27 | SwitchToThread(); 28 | #else 29 | sched_yield(); 30 | #endif 31 | } 32 | } 33 | 34 | #undef SPIN_INLINE 35 | 36 | #endif /* JEMALLOC_INTERNAL_SPIN_H */ 37 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/stats_tsd.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_STATS_TSD_H 2 | #define JEMALLOC_INTERNAL_STATS_TSD_H 3 | 4 | typedef struct tcache_bin_stats_s { 5 | /* 6 | * Number of allocation requests that corresponded to the size of this 7 | * bin. 8 | */ 9 | uint64_t nrequests; 10 | } tcache_bin_stats_t; 11 | 12 | #endif /* JEMALLOC_INTERNAL_STATS_TSD_H */ 13 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/internal/tsd_types.h: -------------------------------------------------------------------------------- 1 | #ifndef JEMALLOC_INTERNAL_TSD_TYPES_H 2 | #define JEMALLOC_INTERNAL_TSD_TYPES_H 3 | 4 | #define MALLOC_TSD_CLEANUPS_MAX 2 5 | 6 | typedef struct tsd_s tsd_t; 7 | typedef struct tsdn_s tsdn_t; 8 | typedef bool (*malloc_tsd_cleanup_t)(void); 9 | 10 | #endif /* JEMALLOC_INTERNAL_TSD_TYPES_H */ 11 | -------------------------------------------------------------------------------- /libs/jemalloc/include/jemalloc/jemalloc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | objroot=$1 4 | 5 | cat < 5 | 6 | /* MSVC doesn't define _Bool or bool in C, but does have BOOL */ 7 | /* Note this doesn't pass autoconf's test because (bool) 0.5 != true */ 8 | /* Clang-cl uses MSVC headers, so needs msvc_compat, but has _Bool as 9 | * a built-in type. */ 10 | #ifndef __clang__ 11 | typedef BOOL _Bool; 12 | #endif 13 | 14 | #define bool _Bool 15 | #define true 1 16 | #define false 0 17 | 18 | #define __bool_true_false_are_defined 1 19 | 20 | #endif /* stdbool_h */ 21 | -------------------------------------------------------------------------------- /libs/jemalloc/include/msvc_compat/windows_extra.h: -------------------------------------------------------------------------------- 1 | #ifndef MSVC_COMPAT_WINDOWS_EXTRA_H 2 | #define MSVC_COMPAT_WINDOWS_EXTRA_H 3 | 4 | #include 5 | 6 | #endif /* MSVC_COMPAT_WINDOWS_EXTRA_H */ 7 | -------------------------------------------------------------------------------- /libs/jemalloc/jemalloc.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | install_suffix=@install_suffix@ 6 | 7 | Name: jemalloc 8 | Description: A general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. 9 | URL: http://jemalloc.net/ 10 | Version: @jemalloc_version@ 11 | Cflags: -I${includedir} 12 | Libs: -L${libdir} -ljemalloc${install_suffix} 13 | -------------------------------------------------------------------------------- /libs/jemalloc/msvc/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | How to build jemalloc for Windows 3 | ================================= 4 | 5 | 1. Install Cygwin with at least the following packages: 6 | * autoconf 7 | * autogen 8 | * gawk 9 | * grep 10 | * sed 11 | 12 | 2. Install Visual Studio 2015 with Visual C++ 13 | 14 | 3. Add Cygwin\bin to the PATH environment variable 15 | 16 | 4. Open "VS2015 x86 Native Tools Command Prompt" 17 | (note: x86/x64 doesn't matter at this point) 18 | 19 | 5. Generate header files: 20 | sh -c "CC=cl ./autogen.sh" 21 | 22 | 6. Now the project can be opened and built in Visual Studio: 23 | msvc\jemalloc_vc2015.sln 24 | 25 | -------------------------------------------------------------------------------- /libs/jemalloc/msvc/projects/vc2015/test_threads/test_threads.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | int test_threads(); 4 | -------------------------------------------------------------------------------- /libs/jemalloc/msvc/projects/vc2015/test_threads/test_threads.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | Source Files 19 | 20 | 21 | 22 | 23 | Header Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libs/jemalloc/msvc/projects/vc2015/test_threads/test_threads_main.cpp: -------------------------------------------------------------------------------- 1 | #include "test_threads.h" 2 | #include 3 | #include 4 | #include 5 | 6 | using namespace std::chrono_literals; 7 | 8 | int main(int argc, char** argv) { 9 | int rc = test_threads(); 10 | return rc; 11 | } 12 | -------------------------------------------------------------------------------- /libs/jemalloc/run_tests.sh: -------------------------------------------------------------------------------- 1 | $(dirname "$)")/scripts/gen_run_tests.py | bash 2 | -------------------------------------------------------------------------------- /libs/jemalloc/src/extent_mmap.c: -------------------------------------------------------------------------------- 1 | #define JEMALLOC_EXTENT_MMAP_C_ 2 | #include "jemalloc/internal/jemalloc_preamble.h" 3 | #include "jemalloc/internal/jemalloc_internal_includes.h" 4 | 5 | #include "jemalloc/internal/assert.h" 6 | 7 | /******************************************************************************/ 8 | /* Data. */ 9 | 10 | bool opt_retain = 11 | #ifdef JEMALLOC_RETAIN 12 | true 13 | #else 14 | false 15 | #endif 16 | ; 17 | 18 | /******************************************************************************/ 19 | 20 | void * 21 | extent_alloc_mmap(void *new_addr, size_t size, size_t alignment, bool *zero, 22 | bool *commit) { 23 | void *ret = pages_map(new_addr, size, ALIGNMENT_CEILING(alignment, 24 | PAGE), commit); 25 | if (ret == NULL) { 26 | return NULL; 27 | } 28 | assert(ret != NULL); 29 | if (*commit) { 30 | *zero = true; 31 | } 32 | return ret; 33 | } 34 | 35 | bool 36 | extent_dalloc_mmap(void *addr, size_t size) { 37 | if (!opt_retain) { 38 | pages_unmap(addr, size); 39 | } 40 | return opt_retain; 41 | } 42 | -------------------------------------------------------------------------------- /libs/jemalloc/src/hash.c: -------------------------------------------------------------------------------- 1 | #define JEMALLOC_HASH_C_ 2 | #include "jemalloc/internal/jemalloc_preamble.h" 3 | #include "jemalloc/internal/jemalloc_internal_includes.h" 4 | -------------------------------------------------------------------------------- /libs/jemalloc/src/hooks.c: -------------------------------------------------------------------------------- 1 | #include "jemalloc/internal/jemalloc_preamble.h" 2 | 3 | /* 4 | * The hooks are a little bit screwy -- they're not genuinely exported in the 5 | * sense that we want them available to end-users, but we do want them visible 6 | * from outside the generated library, so that we can use them in test code. 7 | */ 8 | JEMALLOC_EXPORT 9 | void (*hooks_arena_new_hook)() = NULL; 10 | 11 | JEMALLOC_EXPORT 12 | void (*hooks_libc_hook)() = NULL; 13 | -------------------------------------------------------------------------------- /libs/jemalloc/src/mutex_pool.c: -------------------------------------------------------------------------------- 1 | #define JEMALLOC_MUTEX_POOL_C_ 2 | 3 | #include "jemalloc/internal/jemalloc_preamble.h" 4 | #include "jemalloc/internal/jemalloc_internal_includes.h" 5 | 6 | #include "jemalloc/internal/mutex.h" 7 | 8 | bool 9 | mutex_pool_init(mutex_pool_t *pool, const char *name, witness_rank_t rank) { 10 | for (int i = 0; i < MUTEX_POOL_SIZE; ++i) { 11 | if (malloc_mutex_init(&pool->mutexes[i], name, rank, 12 | malloc_mutex_address_ordered)) { 13 | return true; 14 | } 15 | } 16 | return false; 17 | } 18 | -------------------------------------------------------------------------------- /libs/jemalloc/src/prng.c: -------------------------------------------------------------------------------- 1 | #define JEMALLOC_PRNG_C_ 2 | #include "jemalloc/internal/jemalloc_preamble.h" 3 | #include "jemalloc/internal/jemalloc_internal_includes.h" 4 | -------------------------------------------------------------------------------- /libs/jemalloc/src/spin.c: -------------------------------------------------------------------------------- 1 | #define JEMALLOC_SPIN_C_ 2 | #include "jemalloc/internal/jemalloc_preamble.h" 3 | 4 | #include "jemalloc/internal/spin.h" 5 | -------------------------------------------------------------------------------- /libs/jemalloc/src/ticker.c: -------------------------------------------------------------------------------- 1 | #define JEMALLOC_TICKER_C_ 2 | #include "jemalloc/internal/jemalloc_preamble.h" 3 | #include "jemalloc/internal/jemalloc_internal_includes.h" 4 | -------------------------------------------------------------------------------- /libs/jemalloc/test/include/test/btalloc.h: -------------------------------------------------------------------------------- 1 | /* btalloc() provides a mechanism for allocating via permuted backtraces. */ 2 | void *btalloc(size_t size, unsigned bits); 3 | 4 | #define btalloc_n_proto(n) \ 5 | void *btalloc_##n(size_t size, unsigned bits); 6 | btalloc_n_proto(0) 7 | btalloc_n_proto(1) 8 | 9 | #define btalloc_n_gen(n) \ 10 | void * \ 11 | btalloc_##n(size_t size, unsigned bits) { \ 12 | void *p; \ 13 | \ 14 | if (bits == 0) { \ 15 | p = mallocx(size, 0); \ 16 | } else { \ 17 | switch (bits & 0x1U) { \ 18 | case 0: \ 19 | p = (btalloc_0(size, bits >> 1)); \ 20 | break; \ 21 | case 1: \ 22 | p = (btalloc_1(size, bits >> 1)); \ 23 | break; \ 24 | default: not_reached(); \ 25 | } \ 26 | } \ 27 | /* Intentionally sabotage tail call optimization. */ \ 28 | assert_ptr_not_null(p, "Unexpected mallocx() failure"); \ 29 | return p; \ 30 | } 31 | -------------------------------------------------------------------------------- /libs/jemalloc/test/include/test/jemalloc_test_defs.h.in: -------------------------------------------------------------------------------- 1 | #include "jemalloc/internal/jemalloc_internal_defs.h" 2 | #include "jemalloc/internal/jemalloc_internal_decls.h" 3 | 4 | /* 5 | * For use by SFMT. configure.ac doesn't actually define HAVE_SSE2 because its 6 | * dependencies are notoriously unportable in practice. 7 | */ 8 | #undef HAVE_SSE2 9 | #undef HAVE_ALTIVEC 10 | -------------------------------------------------------------------------------- /libs/jemalloc/test/include/test/mtx.h: -------------------------------------------------------------------------------- 1 | /* 2 | * mtx is a slightly simplified version of malloc_mutex. This code duplication 3 | * is unfortunate, but there are allocator bootstrapping considerations that 4 | * would leak into the test infrastructure if malloc_mutex were used directly 5 | * in tests. 6 | */ 7 | 8 | typedef struct { 9 | #ifdef _WIN32 10 | CRITICAL_SECTION lock; 11 | #elif (defined(JEMALLOC_OS_UNFAIR_LOCK)) 12 | os_unfair_lock lock; 13 | #elif (defined(JEMALLOC_OSSPIN)) 14 | OSSpinLock lock; 15 | #else 16 | pthread_mutex_t lock; 17 | #endif 18 | } mtx_t; 19 | 20 | bool mtx_init(mtx_t *mtx); 21 | void mtx_fini(mtx_t *mtx); 22 | void mtx_lock(mtx_t *mtx); 23 | void mtx_unlock(mtx_t *mtx); 24 | -------------------------------------------------------------------------------- /libs/jemalloc/test/include/test/thd.h: -------------------------------------------------------------------------------- 1 | /* Abstraction layer for threading in tests. */ 2 | #ifdef _WIN32 3 | typedef HANDLE thd_t; 4 | #else 5 | typedef pthread_t thd_t; 6 | #endif 7 | 8 | void thd_create(thd_t *thd, void *(*proc)(void *), void *arg); 9 | void thd_join(thd_t thd, void **ret); 10 | -------------------------------------------------------------------------------- /libs/jemalloc/test/include/test/timer.h: -------------------------------------------------------------------------------- 1 | /* Simple timer, for use in benchmark reporting. */ 2 | 3 | typedef struct { 4 | nstime_t t0; 5 | nstime_t t1; 6 | } timedelta_t; 7 | 8 | void timer_start(timedelta_t *timer); 9 | void timer_stop(timedelta_t *timer); 10 | uint64_t timer_usec(const timedelta_t *timer); 11 | void timer_ratio(timedelta_t *a, timedelta_t *b, char *buf, size_t buflen); 12 | -------------------------------------------------------------------------------- /libs/jemalloc/test/integration/cpp/basic.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "test/jemalloc_test.h" 3 | 4 | TEST_BEGIN(test_basic) { 5 | auto foo = new long(4); 6 | assert_ptr_not_null(foo, "Unexpected new[] failure"); 7 | delete foo; 8 | // Test nullptr handling. 9 | foo = nullptr; 10 | delete foo; 11 | 12 | auto bar = new long; 13 | assert_ptr_not_null(bar, "Unexpected new failure"); 14 | delete bar; 15 | // Test nullptr handling. 16 | bar = nullptr; 17 | delete bar; 18 | } 19 | TEST_END 20 | 21 | int 22 | main() { 23 | return test( 24 | test_basic); 25 | } 26 | -------------------------------------------------------------------------------- /libs/jemalloc/test/integration/extent.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_fill}" = "x1" ] ; then 4 | export MALLOC_CONF="junk:false" 5 | fi 6 | -------------------------------------------------------------------------------- /libs/jemalloc/test/integration/mallocx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_fill}" = "x1" ] ; then 4 | export MALLOC_CONF="junk:false" 5 | fi 6 | -------------------------------------------------------------------------------- /libs/jemalloc/test/integration/xallocx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_fill}" = "x1" ] ; then 4 | export MALLOC_CONF="junk:false" 5 | fi 6 | -------------------------------------------------------------------------------- /libs/jemalloc/test/src/btalloc.c: -------------------------------------------------------------------------------- 1 | #include "test/jemalloc_test.h" 2 | 3 | void * 4 | btalloc(size_t size, unsigned bits) { 5 | return btalloc_0(size, bits); 6 | } 7 | -------------------------------------------------------------------------------- /libs/jemalloc/test/src/btalloc_0.c: -------------------------------------------------------------------------------- 1 | #include "test/jemalloc_test.h" 2 | 3 | btalloc_n_gen(0) 4 | -------------------------------------------------------------------------------- /libs/jemalloc/test/src/btalloc_1.c: -------------------------------------------------------------------------------- 1 | #include "test/jemalloc_test.h" 2 | 3 | btalloc_n_gen(1) 4 | -------------------------------------------------------------------------------- /libs/jemalloc/test/src/math.c: -------------------------------------------------------------------------------- 1 | #define MATH_C_ 2 | #include "test/jemalloc_test.h" 3 | -------------------------------------------------------------------------------- /libs/jemalloc/test/src/mq.c: -------------------------------------------------------------------------------- 1 | #include "test/jemalloc_test.h" 2 | 3 | /* 4 | * Sleep for approximately ns nanoseconds. No lower *nor* upper bound on sleep 5 | * time is guaranteed. 6 | */ 7 | void 8 | mq_nanosleep(unsigned ns) { 9 | assert(ns <= 1000*1000*1000); 10 | 11 | #ifdef _WIN32 12 | Sleep(ns / 1000); 13 | #else 14 | { 15 | struct timespec timeout; 16 | 17 | if (ns < 1000*1000*1000) { 18 | timeout.tv_sec = 0; 19 | timeout.tv_nsec = ns; 20 | } else { 21 | timeout.tv_sec = 1; 22 | timeout.tv_nsec = 0; 23 | } 24 | nanosleep(&timeout, NULL); 25 | } 26 | #endif 27 | } 28 | -------------------------------------------------------------------------------- /libs/jemalloc/test/src/thd.c: -------------------------------------------------------------------------------- 1 | #include "test/jemalloc_test.h" 2 | 3 | #ifdef _WIN32 4 | void 5 | thd_create(thd_t *thd, void *(*proc)(void *), void *arg) { 6 | LPTHREAD_START_ROUTINE routine = (LPTHREAD_START_ROUTINE)proc; 7 | *thd = CreateThread(NULL, 0, routine, arg, 0, NULL); 8 | if (*thd == NULL) { 9 | test_fail("Error in CreateThread()\n"); 10 | } 11 | } 12 | 13 | void 14 | thd_join(thd_t thd, void **ret) { 15 | if (WaitForSingleObject(thd, INFINITE) == WAIT_OBJECT_0 && ret) { 16 | DWORD exit_code; 17 | GetExitCodeThread(thd, (LPDWORD) &exit_code); 18 | *ret = (void *)(uintptr_t)exit_code; 19 | } 20 | } 21 | 22 | #else 23 | void 24 | thd_create(thd_t *thd, void *(*proc)(void *), void *arg) { 25 | if (pthread_create(thd, NULL, proc, arg) != 0) { 26 | test_fail("Error in pthread_create()\n"); 27 | } 28 | } 29 | 30 | void 31 | thd_join(thd_t thd, void **ret) { 32 | pthread_join(thd, ret); 33 | } 34 | #endif 35 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/a0.c: -------------------------------------------------------------------------------- 1 | #include "test/jemalloc_test.h" 2 | 3 | TEST_BEGIN(test_a0) { 4 | void *p; 5 | 6 | p = a0malloc(1); 7 | assert_ptr_not_null(p, "Unexpected a0malloc() error"); 8 | a0dalloc(p); 9 | } 10 | TEST_END 11 | 12 | int 13 | main(void) { 14 | return test_no_malloc_init( 15 | test_a0); 16 | } 17 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/arena_reset_prof.c: -------------------------------------------------------------------------------- 1 | #include "test/jemalloc_test.h" 2 | #define ARENA_RESET_PROF_C_ 3 | 4 | #include "arena_reset.c" 5 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/arena_reset_prof.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export MALLOC_CONF="prof:true,lg_prof_sample:0" 4 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/decay.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export MALLOC_CONF="dirty_decay_ms:1000,muzzy_decay_ms:1000,lg_tcache_max:0" 4 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/hooks.c: -------------------------------------------------------------------------------- 1 | #include "test/jemalloc_test.h" 2 | 3 | static bool hook_called = false; 4 | 5 | static void 6 | hook() { 7 | hook_called = true; 8 | } 9 | 10 | static int 11 | func_to_hook(int arg1, int arg2) { 12 | return arg1 + arg2; 13 | } 14 | 15 | #define func_to_hook JEMALLOC_HOOK(func_to_hook, hooks_libc_hook) 16 | 17 | TEST_BEGIN(unhooked_call) { 18 | hooks_libc_hook = NULL; 19 | hook_called = false; 20 | assert_d_eq(3, func_to_hook(1, 2), "Hooking changed return value."); 21 | assert_false(hook_called, "Nulling out hook didn't take."); 22 | } 23 | TEST_END 24 | 25 | TEST_BEGIN(hooked_call) { 26 | hooks_libc_hook = &hook; 27 | hook_called = false; 28 | assert_d_eq(3, func_to_hook(1, 2), "Hooking changed return value."); 29 | assert_true(hook_called, "Hook should have executed."); 30 | } 31 | TEST_END 32 | 33 | int 34 | main(void) { 35 | return test( 36 | unhooked_call, 37 | hooked_call); 38 | } 39 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/junk.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_fill}" = "x1" ] ; then 4 | export MALLOC_CONF="abort:false,zero:false,junk:true" 5 | fi 6 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/junk_alloc.c: -------------------------------------------------------------------------------- 1 | #include "junk.c" 2 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/junk_alloc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_fill}" = "x1" ] ; then 4 | export MALLOC_CONF="abort:false,zero:false,junk:alloc" 5 | fi 6 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/junk_free.c: -------------------------------------------------------------------------------- 1 | #include "junk.c" 2 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/junk_free.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_fill}" = "x1" ] ; then 4 | export MALLOC_CONF="abort:false,zero:false,junk:free" 5 | fi 6 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/pack.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Immediately purge to minimize fragmentation. 4 | export MALLOC_CONF="dirty_decay_ms:0,muzzy_decay_ms:0" 5 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/pages.c: -------------------------------------------------------------------------------- 1 | #include "test/jemalloc_test.h" 2 | 3 | TEST_BEGIN(test_pages_huge) { 4 | size_t alloc_size; 5 | bool commit; 6 | void *pages, *hugepage; 7 | 8 | alloc_size = HUGEPAGE * 2 - PAGE; 9 | commit = true; 10 | pages = pages_map(NULL, alloc_size, PAGE, &commit); 11 | assert_ptr_not_null(pages, "Unexpected pages_map() error"); 12 | 13 | hugepage = (void *)(ALIGNMENT_CEILING((uintptr_t)pages, HUGEPAGE)); 14 | assert_b_ne(pages_huge(hugepage, HUGEPAGE), have_thp, 15 | "Unexpected pages_huge() result"); 16 | assert_false(pages_nohuge(hugepage, HUGEPAGE), 17 | "Unexpected pages_nohuge() result"); 18 | 19 | pages_unmap(pages, alloc_size); 20 | } 21 | TEST_END 22 | 23 | int 24 | main(void) { 25 | return test( 26 | test_pages_huge); 27 | } 28 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/prof_accum.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_prof}" = "x1" ] ; then 4 | export MALLOC_CONF="prof:true,prof_accum:true,prof_active:false,lg_prof_sample:0" 5 | fi 6 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/prof_active.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_prof}" = "x1" ] ; then 4 | export MALLOC_CONF="prof:true,prof_thread_active_init:false,lg_prof_sample:0" 5 | fi 6 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/prof_gdump.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_prof}" = "x1" ] ; then 4 | export MALLOC_CONF="prof:true,prof_active:false,prof_gdump:true" 5 | fi 6 | 7 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/prof_idump.c: -------------------------------------------------------------------------------- 1 | #include "test/jemalloc_test.h" 2 | 3 | static bool did_prof_dump_open; 4 | 5 | static int 6 | prof_dump_open_intercept(bool propagate_err, const char *filename) { 7 | int fd; 8 | 9 | did_prof_dump_open = true; 10 | 11 | fd = open("/dev/null", O_WRONLY); 12 | assert_d_ne(fd, -1, "Unexpected open() failure"); 13 | 14 | return fd; 15 | } 16 | 17 | TEST_BEGIN(test_idump) { 18 | bool active; 19 | void *p; 20 | 21 | test_skip_if(!config_prof); 22 | 23 | active = true; 24 | assert_d_eq(mallctl("prof.active", NULL, NULL, (void *)&active, 25 | sizeof(active)), 0, 26 | "Unexpected mallctl failure while activating profiling"); 27 | 28 | prof_dump_open = prof_dump_open_intercept; 29 | 30 | did_prof_dump_open = false; 31 | p = mallocx(1, 0); 32 | assert_ptr_not_null(p, "Unexpected mallocx() failure"); 33 | dallocx(p, 0); 34 | assert_true(did_prof_dump_open, "Expected a profile dump"); 35 | } 36 | TEST_END 37 | 38 | int 39 | main(void) { 40 | return test( 41 | test_idump); 42 | } 43 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/prof_idump.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export MALLOC_CONF="tcache:false" 4 | if [ "x${enable_prof}" = "x1" ] ; then 5 | export MALLOC_CONF="${MALLOC_CONF},prof:true,prof_accum:true,prof_active:false,lg_prof_sample:0,lg_prof_interval:0" 6 | fi 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/prof_reset.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_prof}" = "x1" ] ; then 4 | export MALLOC_CONF="prof:true,prof_active:false,lg_prof_sample:0" 5 | fi 6 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/prof_tctx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_prof}" = "x1" ] ; then 4 | export MALLOC_CONF="prof:true,lg_prof_sample:0" 5 | fi 6 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/prof_thread_name.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_prof}" = "x1" ] ; then 4 | export MALLOC_CONF="prof:true,prof_active:false" 5 | fi 6 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/slab.c: -------------------------------------------------------------------------------- 1 | #include "test/jemalloc_test.h" 2 | 3 | TEST_BEGIN(test_arena_slab_regind) { 4 | szind_t binind; 5 | 6 | for (binind = 0; binind < NBINS; binind++) { 7 | size_t regind; 8 | extent_t slab; 9 | const arena_bin_info_t *bin_info = &arena_bin_info[binind]; 10 | extent_init(&slab, NULL, mallocx(bin_info->slab_size, 11 | MALLOCX_LG_ALIGN(LG_PAGE)), bin_info->slab_size, true, 12 | binind, 0, extent_state_active, false, true); 13 | assert_ptr_not_null(extent_addr_get(&slab), 14 | "Unexpected malloc() failure"); 15 | for (regind = 0; regind < bin_info->nregs; regind++) { 16 | void *reg = (void *)((uintptr_t)extent_addr_get(&slab) + 17 | (bin_info->reg_size * regind)); 18 | assert_zu_eq(arena_slab_regind(&slab, binind, reg), 19 | regind, 20 | "Incorrect region index computed for size %zu", 21 | bin_info->reg_size); 22 | } 23 | free(extent_addr_get(&slab)); 24 | } 25 | } 26 | TEST_END 27 | 28 | int 29 | main(void) { 30 | return test( 31 | test_arena_slab_regind); 32 | } 33 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/spin.c: -------------------------------------------------------------------------------- 1 | #include "test/jemalloc_test.h" 2 | 3 | TEST_BEGIN(test_spin) { 4 | spin_t spinner = SPIN_INITIALIZER; 5 | 6 | for (unsigned i = 0; i < 100; i++) { 7 | spin_adaptive(&spinner); 8 | } 9 | } 10 | TEST_END 11 | 12 | int 13 | main(void) { 14 | return test( 15 | test_spin); 16 | } 17 | -------------------------------------------------------------------------------- /libs/jemalloc/test/unit/zero.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x${enable_fill}" = "x1" ] ; then 4 | export MALLOC_CONF="abort:false,junk:false,zero:true" 5 | fi 6 | -------------------------------------------------------------------------------- /m4/utility_empty_file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmarcou/IGoR/0453bb1a0b42acb4137a9a284eea9136984563c3/m4/utility_empty_file -------------------------------------------------------------------------------- /models/heavy_pen_substitution_matrix.csv: -------------------------------------------------------------------------------- 1 | 5,-14,-14,-14,-14,2,-14,2,2,-14,-14,1,1,1,0 2 | -14,5,-14,-14,-14,2,2,-14,-14,2,1,-14,1,1,0 3 | -14,-14,5,-14,2,-14,2,-14,2,-14,1,1,-14,1,0 4 | -14,-14,-14,5,2,-14,-14,2,-14,2,1,1,1,-14,0 5 | -14,-14,2,2,1.5,-14,-12,-12,-12,-12,1,1,-13,-13,0 6 | 2,2,-14,-14,-14,1.5,-12,-12,-12,-12,-13,-13,1,1,0 7 | -14,2,2,-14,-12,-12,1.5,-14,-12,-12,1,-13,-13,1,0 8 | 2,-14,-14,2,-12,-12,-14,1.5,-12,-12,-13,1,1,-13,0 9 | 2,-14,2,-14,-12,-12,-12,-12,1.5,-14,-13,1,-13,1,0 10 | -14,2,-14,2,-12,-12,-12,-12,-14,1.5,1,-13,1,-13,0 11 | -14,1,1,1,1,-13,1,-13,-13,1,0.5,-12,-12,-12,0 12 | 1,-14,1,1,1,-13,-13,1,1,-13,-12,0.5,-12,-12,0 13 | 1,1,-14,1,-13,1,-13,1,-13,1,-12,-12,0.5,-12,0 14 | 1,1,1,-14,-13,1,1,-13,1,-13,-12,-12,-12,0.5,0 15 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 16 | -------------------------------------------------------------------------------- /models/human/IGK/ref_genome/J_gene_CDR3_anchors.csv: -------------------------------------------------------------------------------- 1 | gene;anchor_index 2 | IGKJ1*01;7 3 | IGKJ2*01;8 4 | IGKJ2*02;7 5 | IGKJ2*03;8 6 | IGKJ2*04;8 7 | IGKJ3*01;7 8 | IGKJ4*01;7 9 | IGKJ4*02;7 10 | IGKJ5*01;7 11 | -------------------------------------------------------------------------------- /models/human/IGK/ref_genome/genomicJs.fasta: -------------------------------------------------------------------------------- 1 | >IGKJ1*01 2 | GTGGACGTTCGGCCAAGGGACCAAGGTGGAAATCAAAC 3 | >IGKJ2*01 4 | TGTACACTTTTGGCCAGGGGACCAAGCTGGAGATCAAAC 5 | >IGKJ2*02 6 | GTGCACTTTTGGCCAGGGGACCAAGCTGGAGATCAAAC 7 | >IGKJ2*03 8 | TGTACAGTTTTGGCCAGGGGACCAAGCTGGAGATCAAAC 9 | >IGKJ2*04 10 | TGTGCAGTTTTGGCCAGGGGACCAAGCTGGAGATCAAAC 11 | >IGKJ3*01 12 | ATTCACTTTCGGCCCTGGGACCAAAGTGGATATCAAAC 13 | >IGKJ4*01 14 | GCTCACTTTCGGCGGAGGGACCAAGGTGGAGATCAAAC 15 | >IGKJ4*02 16 | GCTCACGTTCGGCGGAGGGACCAAGGTGGAGATCAAAC 17 | >IGKJ5*01 18 | GATCACCTTCGGCCAAGGGACACGACTGGAGATTAAAC 19 | -------------------------------------------------------------------------------- /models/human/IGL/ref_genome/J_gene_CDR3_anchors.csv: -------------------------------------------------------------------------------- 1 | gene;anchor_index 2 | IGLJ1*01;7 3 | IGLJ2*01;7 4 | IGLJ3*01;7 5 | IGLJ3*02;7 6 | IGLJ6*01;7 7 | IGLJ7*01;7 8 | IGLJ7*02;7 9 | -------------------------------------------------------------------------------- /models/human/IGL/ref_genome/genomicJs.fasta: -------------------------------------------------------------------------------- 1 | >IGLJ1*01 2 | TTATGTCTTCGGAACTGGGACCAAGGTCACCGTCCTAG 3 | >IGLJ2*01 4 | TGTGGTATTCGGCGGAGGGACCAAGCTGACCGTCCTAG 5 | >IGLJ3*01 6 | TGTGGTATTCGGCGGAGGGACCAAGCTGACCGTCCTAG 7 | >IGLJ3*02 8 | TTGGGTGTTCGGCGGAGGGACCAAGCTGACCGTCCTAG 9 | >IGLJ6*01 10 | TAATGTGTTCGGCAGTGGCACCAAGGTGACCGTCCTCG 11 | >IGLJ7*01 12 | TGCTGTGTTCGGAGGAGGCACCCAGCTGACCGTCCTCG 13 | >IGLJ7*02 14 | TGCTGTGTTCGGAGGAGGCACCCAGCTGACCGCCCTCG 15 | -------------------------------------------------------------------------------- /models/human/bcr_heavy/model.info: -------------------------------------------------------------------------------- 1 | Model inferred on NAIVE BCR DNA, from the Adaptive dataset 2 | 3 | Individual used: Blank 4 | 5 | /!\ The genomic templates initially taken from IMGT were modified to match the individual specific alleles /!\ 6 | From: 7 | Inferring processes underlying B-cell repertoire diversity. 8 | Yuval Elhanati, Zachary Sethna, Quentin Marcou, Curtis G Callan, Thierry Mora, Aleksandra M Walczak 9 | doi: https://doi.org/10.1101/015115 10 | Now published in Philosophical Transactions B doi: 10.1098/rstb.2014.0243 11 | 12 | http://biorxiv.org/content/early/2015/02/11/015115 13 | -------------------------------------------------------------------------------- /models/human/bcr_heavy/ref_genome/J_gene_CDR3_anchors.csv: -------------------------------------------------------------------------------- 1 | gene;anchor_index 2 | IGHJ4*01;14 3 | IGHJ1*01;18 4 | IGHJ2*01;19 5 | IGHJ3*01;16 6 | IGHJ6*02;29 7 | IGHJ5*01;17 8 | IGHJ6*01;29 9 | -------------------------------------------------------------------------------- /models/human/bcr_heavy/ref_genome/genomicJs.fasta: -------------------------------------------------------------------------------- 1 | >IGHJ1*01 2 | gctgaatacttccagcactggggccagggcaccctggtcaccgtctcctcag 3 | 4 | >IGHJ2*01 5 | ctactggtacttcgatctctggggccgtggcaccctggtcactgtctcctcag 6 | 7 | >IGHJ3*01 8 | tgatgcttttgatatctggggccaagggacaatggtcaccgtctcttcag 9 | 10 | >IGHJ4*01 11 | actactttgactactggggccagggaaccctggtcaccgtctcctcag 12 | 13 | >IGHJ5*01 14 | acaactggttcgacccctggggccagggaaccctggtcaccgtctcctcag 15 | 16 | >IGHJ6*01 17 | attactactactactactacatggacgtctggggcaaagggaccacggtcaccgtctcctcag 18 | 19 | >IGHJ6*02 20 | attactactactactacggtatggacgtctggggccaagggaccacggtcaccgtctcctcag 21 | 22 | -------------------------------------------------------------------------------- /models/human/bcr_heavy/supplementary_models/models.info: -------------------------------------------------------------------------------- 1 | Hypermutation models inferred from MEMORY_BLANK 2 | -------------------------------------------------------------------------------- /models/human/tcr_alpha/model.info: -------------------------------------------------------------------------------- 1 | This model was learned on TCR alpha chains RNA from: 2 | 3 | Persisting fetal clonotypes influence the structure and overlap of adult human T cell receptor repertoires 4 | Mikhail V Pogorelyy, Yuval Elhanati, Quentin Marcou, Anastasia L Sycheva, Ekaterina A Komech, Vadim I Nazarov, Olga V Britanova, Dmitriy M Chudakov, Ilgar Z Mamedov, Yuri B Lebedev, Thierry Mora, Aleksandra M Walczak 5 | doi: https://doi.org/10.1101/039297 6 | 7 | http://biorxiv.org/content/early/2016/02/09/039297 8 | 9 | Individual used: Azh 10 | -------------------------------------------------------------------------------- /models/human/tcr_alpha/ref_genome/J_gene_CDR3_anchors.csv: -------------------------------------------------------------------------------- 1 | gene;anchor_index 2 | -------------------------------------------------------------------------------- /models/human/tcr_alpha/ref_genome/V_gene_CDR3_anchors.csv: -------------------------------------------------------------------------------- 1 | gene;anchor_index 2 | -------------------------------------------------------------------------------- /models/human/tcr_beta/model.info: -------------------------------------------------------------------------------- 1 | This model was learned on TCR beta chains RNA from: 2 | 3 | Persisting fetal clonotypes influence the structure and overlap of adult human T cell receptor repertoires 4 | Mikhail V Pogorelyy, Yuval Elhanati, Quentin Marcou, Anastasia L Sycheva, Ekaterina A Komech, Vadim I Nazarov, Olga V Britanova, Dmitriy M Chudakov, Ilgar Z Mamedov, Yuri B Lebedev, Thierry Mora, Aleksandra M Walczak 5 | doi: https://doi.org/10.1101/039297 6 | 7 | http://biorxiv.org/content/early/2016/02/09/039297 8 | 9 | Individual used: Azh 10 | -------------------------------------------------------------------------------- /models/human/tcr_beta/ref_genome/genomicDs.fasta: -------------------------------------------------------------------------------- 1 | > TRBD1*01 2 | gggacagggggc 3 | > TRBD2*01 4 | gggactagcggggggg 5 | > TRBD2*02 6 | gggactagcgggaggg -------------------------------------------------------------------------------- /models/human/tcr_beta/supplementary_models/naive_1/model.info: -------------------------------------------------------------------------------- 1 | Model learnt on 60bp DNA sequences 2 | -------------------------------------------------------------------------------- /models/human/tcr_beta/supplementary_models/naive_4/model.info: -------------------------------------------------------------------------------- 1 | Model learnt on 60bp DNA sequences 2 | -------------------------------------------------------------------------------- /models/mouse/tcr_beta/model.info: -------------------------------------------------------------------------------- 1 | This model was learned on TCR beta chains DNA from: http://www.pnas.org/content/114/9/2253.short 2 | Courtesy of Y.Elhanati 3 | The model was obtained using the following alignment parameters: 4 | igor -set_wd $WD/rutgers_DNA_mice -batch rutgers_6Wk_outframe -read_seqs $WD/rutgers_DNA_mice/sequence_outframe.txt -species mouse -chain beta -align --J ---thresh 40 ---offset_bounds 60 80 --V ---thresh 50 ---offset_bounds -300 -150 --D ---thresh 9 5 | 6 | -------------------------------------------------------------------------------- /models/mouse/tcr_beta/ref_genome/J_gene_CDR3_anchors.csv: -------------------------------------------------------------------------------- 1 | gene;anchor_index;function 2 | TRBJ1-1*01;17;F 3 | TRBJ1-2*01;17;F 4 | TRBJ1-3*01;19;F 5 | TRBJ1-4*01;20;F 6 | TRBJ1-5*01;19;F 7 | TRBJ1-6*01;22;ORF 8 | TRBJ1-7*01;15;ORF 9 | TRBJ2-1*01;19;F 10 | TRBJ2-2*01;20;F 11 | TRBJ2-3*01;18;F 12 | TRBJ2-4*01;18;F 13 | TRBJ2-5*01;18;F 14 | TRBJ2-6*01;17;P 15 | TRBJ2-7*01;16;F 16 | -------------------------------------------------------------------------------- /models/mouse/tcr_beta/ref_genome/V_gene_CDR3_anchors.csv: -------------------------------------------------------------------------------- 1 | gene;anchor_index;function 2 | TRBV1*01;270;F 3 | TRBV2*01;270;F 4 | TRBV3*01;273;F 5 | TRBV4*01;270;F 6 | TRBV5*01;267;F 7 | TRBV8*01;270;P 8 | TRBV9*01;273;P 9 | TRBV10*01;273;P 10 | TRBV12-1*01;270;F 11 | TRBV12-2*01;270;F 12 | TRBV13-1*01;270;F 13 | TRBV13-2*01;270;F 14 | TRBV13-3*01;270;F 15 | TRBV14*01;273;F 16 | TRBV15*01;273;F 17 | TRBV16*01;273;F 18 | TRBV17*01;270;F 19 | TRBV19*01;270;F 20 | TRBV20*01;279;F 21 | TRBV21*01;273;ORF 22 | TRBV23*01;273;F 23 | TRBV24*01;273;F 24 | TRBV26*01;273;F 25 | TRBV29*01;270;F 26 | TRBV30*01;276;F 27 | TRBV31*01;270;F 28 | -------------------------------------------------------------------------------- /models/mouse/tcr_beta/ref_genome/genomicDs.fasta: -------------------------------------------------------------------------------- 1 | >TRBD1*01 2 | GGGACAGGGGGC 3 | >TRBD2*01 4 | GGGACTGGGGGGGC 5 | -------------------------------------------------------------------------------- /models/mouse/tcr_beta/ref_genome/genomicJs.fasta: -------------------------------------------------------------------------------- 1 | >TRBJ1-1*01 2 | CAAACACAGAAGTCTTCTTTGGTAAAGGAACCAGACTCACAGTTGTAG 3 | >TRBJ1-2*01 4 | CAAACTCCGACTACACCTTCGGCTCAGGGACCAGGCTTTTGGTAATAG 5 | >TRBJ1-3*01 6 | TTCTGGAAATACGCTCTATTTTGGAGAAGGAAGCCGGCTCATTGTTGTAG 7 | >TRBJ1-4*01 8 | TTTCCAACGAAAGATTATTTTTCGGTCATGGAACCAAGCTGTCTGTCCTGG 9 | >TRBJ1-5*01 10 | TAACAACCAGGCTCCGCTTTTTGGAGAGGGGACTCGACTCTCTGTTCTAG 11 | >TRBJ1-6*01 12 | TTCCTATAATTCGCCCCTCTACTTTGCGGCAGGCACCCGGCTCACTGTGACAG 13 | >TRBJ1-7*01 14 | CCTGTGTTGGATGACCATGGTCTTGGAAAGGAACTTAGGTATAAGA 15 | >TRBJ2-1*01 16 | TAACTATGCTGAGCAGTTCTTCGGACCAGGGACACGACTCACCGTCCTAG 17 | >TRBJ2-2*01 18 | CAAACACCGGGCAGCTCTACTTTGGTGAAGGCTCAAAGCTGACAGTGCTGG 19 | >TRBJ2-3*01 20 | AGTGCAGAAACGCTGTATTTTGGCTCAGGAACCAGACTGACTGTTCTCG 21 | >TRBJ2-4*01 22 | AGTCAAAACACCTTGTACTTTGGTGCGGGCACCCGACTATCGGTGCTAG 23 | >TRBJ2-5*01 24 | AACCAAGACACCCAGTACTTTGGGCCAGGCACTCGGCTCCTCGTGTTAG 25 | >TRBJ2-6*01 26 | CAGCCCTTGCCCTGACTGATTGGCAGCCGATTGAACAGCCTATGCGAG 27 | >TRBJ2-7*01 28 | CTCCTATGAACAGTACTTCGGTCCCGGCACCAGGCTCACGGTTTTAG 29 | -------------------------------------------------------------------------------- /pygor/LICENSE: -------------------------------------------------------------------------------- 1 | # Author: Quentin Marcou 2 | # 3 | # This source code is distributed as part of the IGoR software. 4 | # IGoR (Inference and Generation of Repertoires) is a versatile software to 5 | # analyze and model immune receptors generation, selection, mutation and all 6 | # other processes. 7 | # Copyright (C) 2017 Quentin Marcou 8 | # 9 | # This program is free software: you can redistribute it and/or modify 10 | # it under the terms of the GNU General Public License as published by 11 | # the Free Software Foundation, either version 3 of the License, or 12 | # (at your option) any later version. 13 | # 14 | # This program is distributed in the hope that it will be useful, 15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | # GNU General Public License for more details. 18 | 19 | # You should have received a copy of the GNU General Public License 20 | # along with this program. If not, see . -------------------------------------------------------------------------------- /pygor/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include LICENSE -------------------------------------------------------------------------------- /pygor/pygor/counters/bestscenarios/__init__.py: -------------------------------------------------------------------------------- 1 | # Author: Quentin Marcou 2 | # 3 | # This source code is distributed as part of the IGoR software. 4 | # IGoR (Inference and Generation of Repertoires) is a versatile software to 5 | # analyze and model immune receptors generation, selection, mutation and all 6 | # other processes. 7 | # Copyright (C) 2017 Quentin Marcou 8 | # 9 | # This program is free software: you can redistribute it and/or modify 10 | # it under the terms of the GNU General Public License as published by 11 | # the Free Software Foundation, either version 3 of the License, or 12 | # (at your option) any later version. 13 | # 14 | # This program is distributed in the hope that it will be useful, 15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | # GNU General Public License for more details. 18 | 19 | # You should have received a copy of the GNU General Public License 20 | # along with this program. If not, see . 21 | from . import bestscenarios 22 | 23 | __all__ = ["bestscenarios"] 24 | -------------------------------------------------------------------------------- /pygor/pygor/counters/coverage/__init__.py: -------------------------------------------------------------------------------- 1 | # Author: Quentin Marcou 2 | # 3 | # This source code is distributed as part of the IGoR software. 4 | # IGoR (Inference and Generation of Repertoires) is a versatile software to 5 | # analyze and model immune receptors generation, selection, mutation and all 6 | # other processes. 7 | # Copyright (C) 2017 Quentin Marcou 8 | # 9 | # This program is free software: you can redistribute it and/or modify 10 | # it under the terms of the GNU General Public License as published by 11 | # the Free Software Foundation, either version 3 of the License, or 12 | # (at your option) any later version. 13 | # 14 | # This program is distributed in the hope that it will be useful, 15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | # GNU General Public License for more details. 18 | 19 | # You should have received a copy of the GNU General Public License 20 | # along with this program. If not, see . 21 | 22 | from . import coverage 23 | 24 | __all__ = ["coverage"] 25 | -------------------------------------------------------------------------------- /pygor/pygor/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Author: Quentin Marcou 2 | # 3 | # This source code is distributed as part of the IGoR software. 4 | # IGoR (Inference and Generation of Repertoires) is a versatile software to 5 | # analyze and model immune receptors generation, selection, mutation and all 6 | # other processes. 7 | # Copyright (C) 2017 Quentin Marcou 8 | # 9 | # This program is free software: you can redistribute it and/or modify 10 | # it under the terms of the GNU General Public License as published by 11 | # the Free Software Foundation, either version 3 of the License, or 12 | # (at your option) any later version. 13 | # 14 | # This program is distributed in the hope that it will be useful, 15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | # GNU General Public License for more details. 18 | 19 | # You should have received a copy of the GNU General Public License 20 | # along with this program. If not, see . 21 | 22 | from . import utils 23 | 24 | __all__ = ["utils"] 25 | -------------------------------------------------------------------------------- /pygor/requirements.txt: -------------------------------------------------------------------------------- 1 | pandas>=0.20.1 2 | numpy>=1.9.2 3 | scipy>=1.0.0 4 | matplotlib>=2.0.2 5 | biopython>=1.70 6 | -------------------------------------------------------------------------------- /scripts/igor-compute_pgen: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | args=("$@") 3 | species=${args[0]} #human 4 | chain=${args[1]} #beta 5 | seque=${args[2]} 6 | export tmp_dir=$(mktemp -d) 7 | export tmp_seqfile=$(mktemp ${tmp_dir}/igorSeq.XXXXXXXXXXXXXXXXXXXXXX.txt) 8 | echo ${seque} > ${tmp_seqfile} 9 | export randomBatch=`head /dev/urandom | tr -dc A-Za-z0-9 | head -c10` 10 | echo ${species}" "${chain}" "${tmp_dir}" "${tmp_seqfile} 11 | igor -set_wd ${tmp_dir} -batch ${randomBatch} -read_seqs ${tmp_seqfile} 12 | igor -set_wd ${tmp_dir} -batch ${randomBatch} -species ${species} -chain ${chain} -align --all 13 | igor -set_wd ${tmp_dir} -batch ${randomBatch} -species ${species} -chain ${chain} -evaluate -output --Pgen 14 | #cat ${tmp_dir}/aligns/${randomBatch}_indexed_sequences.csv 15 | #cat ${tmp_dir}/aligns/${randomBatch}_indexed_CDR3.csv 16 | pgenFile=${tmp_dir}/${randomBatch}_output/Pgen_counts.csv 17 | #cat ${pgenFile} 18 | pgenValue=`awk -F ';' 'FNR==2{print $2}' ${pgenFile}` 19 | echo ${pgenValue} 20 | rm -r ${tmp_dir} 21 | 22 | --------------------------------------------------------------------------------