TEUCHOS_UNIT_TEST_TEMPLATE_3_DECL( DefaultSparseOps, ResubmitMatrix, Ordinal, Scalar, Node ) { RCP<Node> node = getNode<Node>(); typedef typename DefaultKernels<Scalar,Ordinal,Node>::SparseOps DSM; typedef typename DSM::template bind_scalar<Scalar>::other_type OPS; typedef typename OPS::template matrix<Scalar,Ordinal,Node>::matrix_type MAT; typedef typename OPS::template graph<Ordinal,Node>::graph_type GRPH; typedef MultiVector<Scalar,Node> MV; typedef Teuchos::ScalarTraits<Scalar> ST; const Ordinal numRows = 0; Teuchos::ArrayRCP<size_t> ptrs(1); ptrs[0] = 0; RCP<GRPH> G = rcp( new GRPH(numRows,numRows,node,null) ); RCP<MAT> A = rcp( new MAT(G,null) ); G->setStructure(ptrs,null); A->setValues(null); OPS::finalizeGraphAndMatrix(Teuchos::UNDEF_TRI,Teuchos::NON_UNIT_DIAG,*G,*A,null); Teuchos::EDiag diag; Teuchos::EUplo uplo; G->getMatDesc(uplo,diag); TEST_EQUALITY_CONST( uplo, Teuchos::UNDEF_TRI ); TEST_EQUALITY_CONST( diag, Teuchos::NON_UNIT_DIAG ); out << "\n**\n** Can't submit the data twice\n**\n"; OPS dsm(node); dsm.setGraphAndMatrix(G,A); TEST_THROW( dsm.setGraphAndMatrix(G,A), std::runtime_error ); }
RouterContext::RouterContext(std::shared_ptr<Database> const &db, boost::asio::io_service &ios) : m_db(db), m_ios(ios), m_inMsgDispatcher(ios, *this), m_outMsgDispatcher(*this), m_signals(ios), m_tunnelManager(ios, *this), m_profileManager(*this), m_peerManager(ios, *this) { // Load the private keys from the database Botan::AutoSeeded_RNG rng; std::string encryptingKeyPEM = m_db->getConfigValue("private_encryption_key"); Botan::DataSource_Memory dsm((unsigned char *)encryptingKeyPEM.data(), encryptingKeyPEM.size()); m_encryptionKey = std::shared_ptr<Botan::ElGamal_PrivateKey>(dynamic_cast<Botan::ElGamal_PrivateKey *>(Botan::PKCS8::load_key(dsm, rng, (std::string)""))); std::string signingKeyPEM = m_db->getConfigValue("private_signing_key"); Botan::DataSource_Memory dsm2((unsigned char *)signingKeyPEM.data(), signingKeyPEM.size()); m_signingKey = std::shared_ptr<Botan::DSA_PrivateKey>(dynamic_cast<Botan::DSA_PrivateKey *>(Botan::PKCS8::load_key(dsm2, rng, (std::string)""))); Botan::BigInt encryptionKeyPublic, signingKeyPublic; encryptionKeyPublic = m_encryptionKey->get_y(); signingKeyPublic = m_signingKey->get_y(); ByteArray encryptionKeyBytes = Botan::BigInt::encode(encryptionKeyPublic), signingKeyBytes = Botan::BigInt::encode(signingKeyPublic); m_identity = std::make_shared<RouterIdentity>(encryptionKeyBytes, signingKeyBytes, Certificate()); m_dht = std::make_shared<DHT::DHTFacade>(ios, m_identity->getHash(), db->getAllHashes(), *this); }
TEUCHOS_UNIT_TEST_TEMPLATE_3_DECL( DefaultSparseOps, NodeTest, Ordinal, Scalar, Node ) { RCP<Node> node = getNode<Node>(); typedef typename DefaultKernels<Scalar,Ordinal,Node>::SparseOps DSM; typedef typename DSM::template bind_scalar<Scalar>::other_type OPS; typedef typename OPS::template matrix<Scalar,Ordinal,Node>::matrix_type MAT; typedef typename OPS::template graph<Ordinal,Node>::graph_type GRPH; typedef MultiVector<Scalar,Node> MV; typedef Teuchos::ScalarTraits<Scalar> ST; OPS dsm(node); TEST_EQUALITY(dsm.getNode(), node); }
int main(int argc, char * argv[]) { std::cout<<"Common LAAS Raster library"<<std::endl; if (argc < 3) { std::cerr<<"usage: "<<argv[0]<<" dsm.tif region.tif"<<std::endl; return EXIT_FAILURE; } gdalwrap::gdal dsm(argv[1]); const gdalwrap::gdal& region = dsm_to_region( dsm ); region.save(argv[2]); return EXIT_SUCCESS; }