コード例 #1
0
 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 );
 }
コード例 #2
0
ファイル: RouterContext.cpp プロジェクト: anastiel/i2pcpp
    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);
    }
コード例 #3
0
 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);
 }
コード例 #4
0
ファイル: dsm_to_region.cpp プロジェクト: pierriko/clara
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;
}