static int fastqtobampar(libmaus2::util::ArgInfo const & arginfo) { std::ostream & out = std::cout; uint64_t const numlogcpus = arginfo.getValue<int>("threads",libmaus2::parallel::NumCpus::getNumLogicalProcessors()); int const level = arginfo.getValue<int>("level",Z_DEFAULT_COMPRESSION); std::string const rgid = writeHeader(arginfo,out); libmaus2::parallel::SimpleThreadPool STP(numlogcpus); uint64_t const outblocks = 1024; uint64_t const inputblocksize = 1024*1024*64; uint64_t const inblocks = 64; libmaus2::aio::PosixFdInputStream PFIS(STDIN_FILENO); libmaus2::bambam::parallel::FastqToBamControl FTBC(PFIS,out,STP,inblocks,inputblocksize,outblocks,level,rgid); FTBC.enqueReadPackage(); FTBC.waitCompressionFinished(); STP.terminate(); STP.join(); return EXIT_SUCCESS; }
float Det3x3(matrix4x4 val) { return STP(val[0],val[1],val[2]); }