Ejemplo n.º 1
0
Node *Viterbi::analyze(const char *str, size_t len) {
  if (!partial_ && copy_sentence_) {
    sentence_.resize(len + 1);
    std::strncpy(&sentence_[0], str, len);
    str = &sentence_[0];
  }

  end_node_list_.resize(len + 4);
  begin_node_list_.resize(len + 4);

  std::memset(&end_node_list_[0],   0,
              sizeof(end_node_list_[0]) * (len + 4));
  std::memset(&begin_node_list_[0], 0,
              sizeof(begin_node_list_[0]) *(len + 4));

  clear();

  if (partial_ && !initConstraints(&str, &len))
    return 0;

  if (!(this->*analyze_)(str, len))
    return 0;

  return(this->*buildLattice_)();
}
Ejemplo n.º 2
0
Caches::Caches(): Singleton<Caches>(), mInitialized(false) {
    init();
    initFont();
    initExtensions();
    initConstraints();
    initProperties();

    mDebugLevel = readDebugLevel();
    ALOGD("Enabling debug mode %d", mDebugLevel);
}
Ejemplo n.º 3
0
Table* TableFactory::getPersistentTable(
            voltdb::CatalogId databaseId,
            ExecutorContext *ctx,
            const std::string &name,
            TupleSchema* schema,
            const std::string* columnNames,
            const TableIndexScheme &pkeyIndex,
            const std::vector<TableIndexScheme> &indexes,
            int partitionColumn,
            bool exportEnabled,
            bool exportOnly)
{
    Table *table = NULL;

    if (exportOnly) {
        table = new StreamedTable(ctx, exportEnabled);
        TableFactory::initCommon(databaseId, table, name, schema, columnNames, true);
    }
    else {
        /**
         *  Choosing whether to use MMAP_PersistentTable
         */

        if(!ctx->isMMAPEnabled())
            table = new PersistentTable(ctx, name, exportEnabled);
        else
            table = new MMAP_PersistentTable(ctx, name, exportEnabled);

        VOLT_DEBUG("MMAP Enabled : %d \n", (int)ctx->isMMAPEnabled());

        PersistentTable *pTable = dynamic_cast<PersistentTable*>(table);
        pTable->m_pkeyIndex = TableIndexFactory::getInstance(pkeyIndex);
        TableFactory::initCommon(databaseId, pTable, name, schema, columnNames, true);
        pTable->m_partitionColumn = partitionColumn;

        // one for pkey + all the other indexes
        pTable->m_indexCount = 1 + (int)indexes.size();
        pTable->m_indexes = new TableIndex*[1 + indexes.size()];
        pTable->m_indexes[0] = pTable->m_pkeyIndex;

        for (int i = 0; i < indexes.size(); ++i) {
            pTable->m_indexes[i + 1] = TableIndexFactory::getInstance(indexes[i]);
        }
        initConstraints(pTable);
    }

    configureStats(databaseId, ctx, name, table);

    return dynamic_cast<Table*>(table);
}