Пример #1
0
int test_levels(int map_layout [MAX_X][MAX_Y]) // function for agreagate testing
{
    //printf("Drawing test\n");

    int selected_option, control;
    int wrong_input = 0;
    do
    {
        if (wrong_input == 1)
        {
            printf("The chosen option is not valid.\nNumber of desired option: ");
            control = scanf("%d", &selected_option);
            fflush(stdin);
        }
        else
        {
            printf("Choose the level of difficulty: ");
            printf("\nEASY LEVEL - 1 ");
            printf("\nMEDIUM LEVEL - 2 ");
            printf("\nHARD LEVEL - 3 ");
            printf("\nNumber of desired option: ");
            control = scanf("%d", &selected_option);
            fflush(stdin);
            wrong_input = 1;
        }
    }
    while (selected_option < 1 || selected_option > 3 || control == 0);
//    selected_level = level_set (selected_option); Problem with this function

            if(selected_option == 1)
            {
                //Load EASY LEVEL
                levels(1);
                create_mountain_map(map_layout);
                //test_drawing_map(map_layout);
                //test_drawing_units(map_layout);
            }
            else if(selected_option == 2)
            {
                //Load MEDIUM LEVEL
                levels(2);
                create_mountain_map(map_layout);
                //test_drawing_map(map_layout);
                //test_drawing_units(map_layout);
            }
            else if(selected_option == 3)
            {
                //Load HARD LEVEL
                levels(3);
                create_mountain_map(map_layout);
                //test_drawing_map(map_layout);
                //test_drawing_units(map_layout);
            }

            game_loop(map_layout);


       return selected_option;

}
Пример #2
0
QRect
WPiano::rect2qrect(const Rect &rect) const
{
	int l = time2x(rect.time_beg);
	int r = time2x(rect.time_end);
	int t = rect.level_end > levels(track()) ? 0 : level2y(rect.level_end);
	int b = rect.level_end > levels(track()) ? height() : level2y(rect.level_beg);
	return QRect(l, t, r-l, b-t);
}
Пример #3
0
  void reachFst(Hg const& hg, RemainingInArcs &remainIn, StateId tail) {
    std::size_t nLevels = levels().size();
    assert(tail<nLevels);
    Level headLevel = levels()[tail]+1;
    for (ArcId aid = 0, nArcs = hg.numOutArcs(tail); aid!=nArcs; ++aid) {
      StateId head = hg.outArc(tail, aid)->head();
      if (--remainIn[head]==0) {
        Util::maxEq(Util::atExpand(levels(), head), headLevel);
        reachFst(hg, remainIn, head);
      }

    }
  }
Пример #4
0
static int shift_ll(LIKELIHOOD **** ll_pym,
		    struct Region *region, int block_size)
{
    static int first = 1;
    static int xoffset[20];
    static int yoffset[20];

    int xdelta;
    int ystart, ystop, ydelta;
    int D;
    int k, i;
    int block_size_k;
    struct Region region_buff;

    /* if first time, set offsets to 0 */
    if (first) {
	D = levels(block_size, block_size);
	for (k = 0; k <= D; k++)
	    xoffset[k] = yoffset[k] = 0;
	first = 0;
    }

    /* save region information */
    copy_reg(region, &region_buff);

    /* subtract pointer offsets for each scale */
    D = levels(block_size, block_size);
    block_size_k = block_size;
    for (k = 0; k <= D; k++) {
	xdelta = region->xmin - xoffset[k];
	ydelta = region->ymin - yoffset[k];
	xoffset[k] = region->xmin;
	yoffset[k] = region->ymin;

	ystart = region->ymin;
	ystop = ystart + block_size_k;

	ll_pym[k] -= ydelta;
	for (i = ystart; i < ystop; i++)
	    ll_pym[k][i] -= xdelta;
	dec_reg(region);
	block_size_k = block_size_k / 2;
    }

    /* replace region information */
    copy_reg(&region_buff, region);

    return 0;
}
Пример #5
0
void
Fingerprint::CalculateFP(OpenBabel::OBMol* mol, std::vector<unsigned int> & _fp) 
{
   _fp.clear();
   _fp.resize(1024 / _bitsPerInt, 0);
   _fragset.clear();
   _ringset.clear();

   OpenBabel::OBAtom* atom;
   std::vector<OpenBabel::OBAtom*>::iterator i;
   for (atom = mol->BeginAtom(i); atom; atom = mol->NextAtom(i))
   {
      std::vector<int> curfrag;
      std::vector<int> levels(mol->NumAtoms() + 1, 0);
      _getFragments(levels, curfrag, 1, atom, NULL);
   }
   
   _doRings();
   _doReverses();
   
   // Hash into fingerprint
   std::set<std::vector<int> >::iterator itr;
   for (itr = _fragset.begin(); itr != _fragset.end(); ++itr)
   {
      unsigned int hash = _calcHash(*itr);
      _setBit(_fp, hash);
   }
}
Пример #6
0
void LevelsFilter::filterImage()
{
    ImageLevels levels(m_orgImage.sixteenBit());

    for (int i = 0 ; i < 5 ; ++i)
    {
        postProgress(i * 10);
        levels.setLevelLowInputValue(i,   m_settings.lInput[i]);
        levels.setLevelHighInputValue(i,  m_settings.hInput[i]);
        levels.setLevelLowOutputValue(i,  m_settings.lOutput[i]);
        levels.setLevelHighOutputValue(i, m_settings.hOutput[i]);
        levels.setLevelGammaValue(i,      m_settings.gamma[i]);
    }

    postProgress(50);

    m_destImage = DImg(m_orgImage.width(), m_orgImage.height(), m_orgImage.sixteenBit(), m_orgImage.hasAlpha());
    postProgress(60);

    levels.levelsCalculateTransfers();
    postProgress(70);

    // Process all channels Levels
    levels.levelsLutSetup(AlphaChannel);
    postProgress(80);

    levels.levelsLutProcess(m_orgImage.bits(), m_destImage.bits(), m_orgImage.width(), m_orgImage.height());
    postProgress(90);
}
Пример #7
0
WPiano::Rect
WPiano::selectionRect(bool returnAllIfEmpty) const
{
	Rect ret;

	if (!returnAllIfEmpty && (!pivot_enabled_ || (pivot_time_ == cursor_time_ && pivot_level_ == cursor_level_)))
		return ret;

	if (!pivot_enabled_ || pivot_time_ == cursor_time_) {
		ret.time_beg = 0;
		ret.time_end = VMD_MAX_TIME;
	} else {
		ret.time_beg = std::min(pivot_time_, cursor_time_);
		ret.time_end = std::max(pivot_time_, cursor_time_);
	}

	if (!pivot_enabled_ || pivot_level_ == cursor_level_) {
		ret.level_beg = 0;
		ret.level_end = levels(track()) + 1;
	} else if (pivot_level_ < cursor_level_) {
		ret.level_beg = pivot_level_;
		ret.level_end = cursor_level_;
	} else if (pivot_level_ > cursor_level_) {
		ret.level_beg = cursor_level_ + 1;
		ret.level_end = pivot_level_ + 1;
	}

	return ret;
}
Пример #8
0
//TODO: refactor
static vmd_pitch_t
level2pitch(const vmd_track_t *track, int level, bool round_up = false)
{
	if (level < 0)
		return round_up ? 0 : -1;
	if (level >= levels(track))
		return round_up ? VMD_MAX_PITCH : -1;
	const vmd_notesystem_t *ns = &track->notesystem;
	int octaves = level / (vmd_notesystem_levels(ns) + 1);
	level %= (vmd_notesystem_levels(ns) + 1);

	vmd_pitch_t octave_pitch;
	if (level == 0) {
		if (round_up)
			octave_pitch = 0;
		else
			return -1;
	} else {
		while ((octave_pitch = vmd_notesystem_level2pitch(ns, level - 1)) < 0) {
			if (round_up)
				level++;
			else
				return -1;
		}
	}
	return octaves * ns->size + octave_pitch;
}
static optional<pair<expr, expr>> mk_op(environment const & env, old_local_context & ctx, type_checker_ptr & tc,
                                        name const & op, unsigned nunivs, unsigned nargs, std::initializer_list<expr> const & explicit_args,
                                        constraint_seq & cs, tag g) {
    levels lvls;
    for (unsigned i = 0; i < nunivs; i++)
        lvls = levels(mk_meta_univ(mk_fresh_name()), lvls);
    expr c = mk_constant(op, lvls);
    expr op_type = instantiate_type_univ_params(env.get(op), lvls);
    buffer<expr> args;
    for (unsigned i = 0; i < nargs; i++) {
        if (!is_pi(op_type))
            return optional<pair<expr, expr>>();
        expr arg = ctx.mk_meta(some_expr(binding_domain(op_type)), g);
        args.push_back(arg);
        op_type  = instantiate(binding_body(op_type), arg);
    }
    expr r = mk_app(c, args, g);
    for (expr const & explicit_arg : explicit_args) {
        if (!is_pi(op_type))
            return optional<pair<expr, expr>>();
        r = mk_app(r, explicit_arg);
        expr type = tc->infer(explicit_arg, cs);
        justification j = mk_app_justification(r, op_type, explicit_arg, type);
        if (!tc->is_def_eq(binding_domain(op_type), type, j, cs))
            return optional<pair<expr, expr>>();
        op_type  = instantiate(binding_body(op_type), explicit_arg);
    }
    return some(mk_pair(r, op_type));
}
Пример #10
0
void WaldBoost::detect(Ptr<CvFeatureEvaluator> eval,
            const Mat& img, const std::vector<float>& scales,
            std::vector<Rect>& bboxes, std::vector<double>& confidences)
{
    bboxes.clear();
    confidences.clear();

    Mat resized_img;
    int step = 4;
    float h;
    for (size_t i = 0; i < scales.size(); ++i) {
        float scale = scales[i];
        resize(img, resized_img, Size(), scale, scale, INTER_LINEAR_EXACT);
        eval->setImage(resized_img, 0, 0, feature_indices_);
        int n_rows = (int)(24 / scale);
        int n_cols = (int)(24 / scale);
        for (int r = 0; r + 24 < resized_img.rows; r += step) {
            for (int c = 0; c + 24 < resized_img.cols; c += step) {
                eval->setWindow(Point(c, r));
                if (predict(eval, &h) == +1) {
                    int row = (int)(r / scale);
                    int col = (int)(c / scale);
                    bboxes.push_back(Rect(col, row, n_cols, n_rows));
                    confidences.push_back(h);
                }
            }
        }
    }
    std::vector<int> levels(bboxes.size(), 0);
    groupRectangles(bboxes, levels, confidences, 3, 0.7);
}
Пример #11
0
// Takes color image and set of points provided by Python, outputs relative
// position and orientation
void find_totes_depth(cv::Mat color, cv::Mat depth, std::vector<Target> &r_targets, std::vector<cv::Point> points, double effective_height, double depth_correction, int hfov, int vfov)
{
  /* Separate image into depth layers and discard bottom layer */
  cv::Mat levels(depth);
  levels.convertTo(levels, CV_8UC1);
  for (int i = 0; i < levels.size().width; i++) {
    for (int j = 0; j < levels.size().height; j++) {
      uchar tmp = int(levels.at<uchar>(i,j) - round((depth.size().height-j)*(depth_correction/depth.size().height)));
      if (tmp >= 220) {
        levels.at<uchar>(i,j) = 0;
      } else if (tmp >= 208 && tmp < 220) {
        levels.at<uchar>(i,j) = 1;
      } else if (tmp >= 180 && tmp < 208) {
        levels.at<uchar>(i,j) = 2;
      } else {
        levels.at<uchar>(i,j) = 3;
      }
    }
  }
  /* Designate one point in the background at level 0 as a point so that the algorithm works */
  bool done = false;
  for (int i = 0; i < levels.size().width && !done; i++) {
    for (int j = 0; j < levels.size().height && !done; j++) {
      if (levels.at<uchar>(i,j) == 0) {
        points.push_back(cv::Point(i,j));
        done = true;
      }
    }
  }

  /* Discard bottom level of color image */
  cv::Mat processed;
  cv::bitwise_and(color, color, processed, levels);

  /* Apply watershed to color */
  int height = depth.size().height;
  int width = depth.size().width;
  cv::Mat markers(height, width, CV_32F);
  for (int i = 0; i < points.size(); i++) {
      cv::Scalar color(i, i*100, i);
      cv::circle(markers, points[i], 1, color, 20);
  }
  cv::watershed(color, markers);

  for (int i = 0; i < points.size()-1 /* all but background point */; i++) {
    acv::Target target;
    target.type = "kinect tote";
    // Set level (orientation) for tote.
    target.orientation = std::to_string(levels.at<uchar>(points[i].x,points[i].y));
    // Set angle for each tote.
    /* TODO Build std::vector<cv::Point> containing all points within tote */
    
    //cv::Rect min_rect = cv::minAreaRect(
    /* TODO Take bottom left and right points and get angle of tote from trig */

    // TODO Set coords with:
    // int fov_to_pix_per_ft(int frame_dim, double effective_height, int hfov, int vfov);
  }
}
Пример #12
0
//Load a unit from the input stream
Unit Unit::load(std::istream& in)
{
    in.exceptions(std::istream::failbit | std::istream::eofbit);
    std::vector<int> levels(7);
    std::string iacode;
    std::for_each(levels.begin(), levels.end(), [&in](int& level) {
        in >> level;
    });
Пример #13
0
static int
avg_level(vmd_track_t *track, vmd_time_t beg, vmd_time_t end)
{
	avg_note_arg arg = {
		track,
		levels(track),
		0
	};
	vmd_track_for_range(track, beg, end, avg_note_clb, &arg);
	return (arg.min + arg.max) / 2;
}
Пример #14
0
Spectrogram* Spectrogram::copy()
{
Spectrogram *new_s = new Spectrogram(matrix());
new_s->setDisplayMode(QwtPlotSpectrogram::ImageMode, testDisplayMode(QwtPlotSpectrogram::ImageMode));
new_s->setDisplayMode(QwtPlotSpectrogram::ContourMode, testDisplayMode(QwtPlotSpectrogram::ContourMode));
new_s->setColorMap (colorMap());
new_s->setAxis(xAxis(), yAxis());
new_s->setDefaultContourPen(defaultContourPen());
new_s->setLevelsNumber(levels());
new_s->color_map_policy = color_map_policy;
return new_s;
}
Пример #15
0
void
SortWidget::trimToLevel( const int level )
{
    for( int i = m_ribbon->count() - 1 ; i > level; i-- )
    {
        BreadcrumbItem *item = qobject_cast< BreadcrumbItem * >( m_ribbon->itemAt( i )->widget() );
        m_ribbon->removeWidget( item );
        item->deleteLater();
    }
    updateSortScheme();
    m_addButton->updateMenu( levels() );
}
Пример #16
0
MetaData::MetaData (Rcpp::List md)
/*
 * Construct meta data from the R list of meta data.
 *
 * Used for prediction.
 *
 * Format:
 * [[0]] ---- Number of variables
 * [[1]] ---- Index of target variable
 * [[2]] ---- Target variable name
 * [[3]] ---- Variable name vector
 * [[4]] ---- Variable type vector
 * [[5]] ---- Discrete variable value list
 */
{

    nvars_         = Rcpp::as<int>(md[NVARS]);
    var_types_     = type_vec(Rcpp::as<vector<int> >(md[VAR_TYPES]));

    feature_vars_ = idx_vec(nvars_);
    var_names_    = name_vec(nvars_);

    Rcpp::CharacterVector varnames((SEXP)(md[VAR_NAMES]));
    for (int vindex = 0; vindex < nvars_; vindex++) {
        string name = Rcpp::as<string>((SEXPREC*)varnames[vindex]);
        var_names_[vindex] = name;
    }

    Rcpp::List valuenames((SEXP)(md[VAL_NAMES]));
    for (int i = 0; i < valuenames.size(); i++) {
        Rcpp::List lst(valuenames[i]);
        int vindex = Rcpp::as<int>((SEXPREC*)lst[0]);
        Rcpp::CharacterVector levels(lst[1]);
        int nlevels = levels.size();

        name_vec levnames(nlevels);
        name_value_map namevals;
        for (int lindex = 0; lindex < nlevels; lindex++) {
            string name = Rcpp::as<string>((SEXPREC*)levels[lindex]);
            namevals.insert(name_value_map::value_type(name, lindex));
            levnames[lindex] = name;
        }
        var_values_[vindex].swap(namevals);
        val_names_[vindex].swap(levnames);
    }

    for (int i = 0; i < nvars_; ++i)
        feature_vars_[i] = i;

    nlabels_ = val_names_[nvars_].size();

}
Пример #17
0
QString Spectrogram::saveToString()
{
QString s = "<spectrogram>\n";
s += "\t<matrix>" + QString(d_matrix->objectName()) + "</matrix>\n";

if (color_map_policy != Custom)
	s += "\t<ColorPolicy>" + QString::number(color_map_policy) + "</ColorPolicy>\n";
else
	{
	s += "\t<ColorMap>\n";
	s += "\t\t<Mode>" + QString::number(color_map.mode()) + "</Mode>\n";
	s += "\t\t<MinColor>" + color_map.color1().name() + "</MinColor>\n";
	s += "\t\t<MaxColor>" + color_map.color2().name() + "</MaxColor>\n";
	QwtArray <double> colors = color_map.colorStops();
	int stops = (int)colors.size();
	s += "\t\t<ColorStops>" + QString::number(stops - 2) + "</ColorStops>\n";
	for (int i = 1; i < stops - 1; i++)
		{
		s += "\t\t<Stop>" + QString::number(colors[i]) + "\t";
		s += QColor(color_map.rgb(QwtDoubleInterval(0,1), colors[i])).name();
		s += "</Stop>\n";
		}
	s += "\t</ColorMap>\n";
	}
s += "\t<Image>"+QString::number(testDisplayMode(QwtPlotSpectrogram::ImageMode))+"</Image>\n";

bool contourLines = testDisplayMode(QwtPlotSpectrogram::ContourMode);
s += "\t<ContourLines>"+QString::number(contourLines)+"</ContourLines>\n";
if (contourLines)
	{
	s += "\t\t<Levels>"+QString::number(levels())+"</Levels>\n";
	bool defaultPen = defaultContourPen().style() != Qt::NoPen;
	s += "\t\t<DefaultPen>"+QString::number(defaultPen)+"</DefaultPen>\n";
	if (defaultPen)
		{
		s += "\t\t\t<PenColor>"+defaultContourPen().color().name()+"</PenColor>\n";
		s += "\t\t\t<PenWidth>"+QString::number(defaultContourPen().widthF())+"</PenWidth>\n";
		s += "\t\t\t<PenStyle>"+QString::number(defaultContourPen().style() - 1)+"</PenStyle>\n";
		}
	}
QwtScaleWidget *colorAxis = plot()->axisWidget(color_axis);
if (colorAxis && colorAxis->isColorBarEnabled())
	{
	s += "\t<ColorBar>\n\t\t<axis>" + QString::number(color_axis) + "</axis>\n";
	s += "\t\t<width>" + QString::number(colorAxis->colorBarWidth()) + "</width>\n";
	s += "\t</ColorBar>\n";
	}
s += "\t<Visible>"+ QString::number(isVisible()) + "</Visible>\n";
return s+"</spectrogram>\n";
}
Пример #18
0
void
SortWidget::addLevel( QString internalColumnName, Qt::SortOrder sortOrder )  //private slot
{
    BreadcrumbLevel *bLevel = new BreadcrumbLevel( internalColumnName );
    BreadcrumbItem *item = new BreadcrumbItem( bLevel, this );
    m_ribbon->addWidget( item );
    connect( item, SIGNAL(clicked()), this, SLOT(onItemClicked()) );
    connect( item->menu(), SIGNAL(actionClicked(QString)), this, SLOT(onItemSiblingClicked(QString)) );
    connect( item->menu(), SIGNAL(shuffleActionClicked()), this, SLOT(onShuffleSiblingClicked()) );
    connect( item, SIGNAL(orderInverted()), this, SLOT(updateSortScheme()) );
    if( sortOrder != item->sortOrder() )
        item->invertOrder();
    m_addButton->updateMenu( levels() );
    updateSortScheme();
}
Пример #19
0
void Spectrogram::updateData()
{
	if (!d_matrix || !d_graph)
		return;

	setData(MatrixData(d_matrix, d_use_matrix_formula));
	setLevelsNumber(levels());

	QwtScaleWidget *colorAxis = d_graph->axisWidget(color_axis);
	if (colorAxis)
		colorAxis->setColorMap(data().range(), colorMap());

	d_graph->setAxisScale(color_axis, data().range().minValue(), data().range().maxValue());
	d_graph->replot();
}
Пример #20
0
CharacterVector reencode_factor(IntegerVector x) {
  CharacterVector levels(reencode_char(get_levels(x)));
  CharacterVector ret(x.length());

  R_xlen_t nlevels = levels.length();

  R_xlen_t len = x.length();
  for (R_xlen_t i = 0; i < len; ++i) {
    int xi = x[i];
    if (xi <= 0 || xi > nlevels)
      ret[i] = NA_STRING;
    else
      ret[i] = levels[xi - 1];
  }

  return ret;
}
Пример #21
0
//Provide a randomly muteted version of the current unit
Unit Unit::mutate()const
{
    int index = std::rand()%7;
    std::vector<int> levels(7);
    for(int i = 0; i < 7; ++i) {
        levels[i] = capacities_[i]->getLevel();
    }
    while(levels[index]==0) {
        index = std::rand()%7;
    }
    int index2 = std::rand()%7;
    while(index == index2) {
        index2 = std::rand()%7;
    }
    levels[index]--;
    levels[index2]++;
    return Unit(iaCode_,levels);
}
Пример #22
0
void Spectrogram::updateData(Matrix *m)
{
if (!m)
	return;

QwtPlot *plot = this->plot();
if (!plot)
	return;

setData(MatrixData(m));
setLevelsNumber(levels());

QwtScaleWidget *colorAxis = plot->axisWidget(color_axis);
if (colorAxis)
	colorAxis->setColorMap(data().range(), colorMap());

plot->setAxisScale(color_axis, data().range().minValue(), data().range().maxValue());
plot->replot();
}
Пример #23
0
//Star operator overloading, providing a random crossing of the current
//unit and the one provided in parameter.
Unit Unit::operator*(const Unit& unit)const
{
    std::vector<int> maxLevels(7);
    for(int i = 0; i < 7; ++i) {
        maxLevels[i] = std::max(capacities_[i]->getLevel(), unit.getCapacity(i)->getLevel());
    }
    int gA = this->getLevel();
    int gB = unit.getLevel();
    int global = gA;
    if(gA!=gB)
        global = std::min(gA, gB)+std::rand()%std::abs(gA-gB);
    std::vector<int> levels(7,0);
    while(global) {
        int index = std::rand()%7;
        if(levels[index]<maxLevels[index]) {
            levels[index]++;
            global--;
        }
	}
	std::string ia;
	std::string ia2 = tree->getCode();
	if (std::rand() % 2)
	{
		ia = std::string(iaCode_);
		std::string oldIaPart = getRandomIATreeSonCode();
		size_t start_pos = ia.find(oldIaPart);
		if (start_pos != std::string::npos)
		{
			ia.replace(start_pos, oldIaPart.size(), unit.getRandomIATreeSonCode());
		}
	}
	else
	{
		ia = std::string(unit.getIACode());
		std::string oldIaPart = unit.getRandomIATreeSonCode();
		size_t start_pos = ia.find(oldIaPart);
		if (start_pos != std::string::npos)
		{
			ia.replace(start_pos, oldIaPart.size(), getRandomIATreeSonCode());
		}
	}
    return Unit(ia,levels);
}
Пример #24
0
bool fingerprint2::GetFingerprint(OBBase* pOb, vector<unsigned int>&fp, int nbits)
{
	OBMol* pmol = dynamic_cast<OBMol*>(pOb);
	if(!pmol) return false;
	fp.resize(1024/Getbitsperint());
	fragset.clear();//needed because now only one instance of fp class
	ringset.clear();
 
	//identify fragments starting at every atom
	OBAtom *patom;
	vector<OBNodeBase*>::iterator i;
	for (patom = pmol->BeginAtom(i);patom;patom = pmol->NextAtom(i))
	{
		if(patom->GetAtomicNum() == OBElements::Hydrogen) continue;
		vector<int> curfrag;
		vector<int> levels(pmol->NumAtoms());
		getFragments(levels, curfrag, 1, patom, NULL);
	}

//	TRACE("%s %d frags before; ",pmol->GetTitle(),fragset.size());

	//Ensure that each chemically identical fragment is present only in a single
	DoRings();
	DoReverses();

	SetItr itr;
  _ss.str("");
	for(itr=fragset.begin();itr!=fragset.end();++itr)
	{
		//Use hash of fragment to set a bit in the fingerprint
		int hash = CalcHash(*itr);
		SetBit(fp,hash);
		if(!(Flags() & FPT_NOINFO))
      PrintFpt(*itr,hash);
	}
	if(nbits)
		Fold(fp, nbits);

//	TRACE("%d after\n",fragset.size());
	return true;
}
Пример #25
0
void CEnv::SetData(Rcpp::IntegerMatrix x_, Rcpp::IntegerMatrix mcz_) {
	int J = x_.nrow();
	int n = x_.ncol();
	int nZeroMC = mcz_.ncol();
	if (mcz_.nrow() != J) { // no mcz
		nZeroMC = 0; 
	}
  	
	intvec x = Rcpp::as<intvec>(x_);
	intvec mcz = Rcpp::as<intvec>(mcz_);
  
	Rcpp::List something(x_.attr("levels"));
	intvec levels(something.size());
	for (unsigned int i = 0; i < levels.size(); i++) {
		SEXP exp = something[i];
		Rcpp::CharacterVector v(exp);
		levels[i] = v.size();
		//Rprintf( "%d\n", levels[i]) ;
	}
	SetData(x, J, n, mcz, nZeroMC, levels);	
}
int main() {
  int level = 14;
  //time stuff
  struct timeval t1, t2;
  double elapsedTime1, elapsedTime2;

  printf("Starting none threaded\n");

  // start timer
  gettimeofday(&t1, NULL);

  levels(level);

  // stop timer
  gettimeofday(&t2, NULL);
  elapsedTime1 = (t2.tv_sec - t1.tv_sec);



  threadpool thpool = thpool_init(2);

  // start timer
  gettimeofday(&t1, NULL);
  level--;
  for (int i = 0; i < level; i++) {
    thpool_add_work(thpool, (void*)levels, level);
  }

  thpool_wait(thpool);

  // stop timer
  gettimeofday(&t2, NULL);
  elapsedTime2 = (t2.tv_sec - t1.tv_sec);

  printf("done\n");
  printf("None threaded seconds: %f\n", elapsedTime1);
  printf("Threaded seconds: %f\n", elapsedTime2);
}
Пример #27
0
void UserManagement::readLevelData(QString fileName)
{

    //READS THE LEVELS INFORMATION AND PARSES IT ACORDDINGLY
    QFile levels(fileName);
    if (levels.open(QIODevice::ReadOnly))
    {
        QTextStream reader(&levels);
        QString data=reader.readLine();
        QStringList values;
        while(!data.isNull())
        {
            values=data.split(":");
            levelLevel.append(values[0]);
            QStringList sequenceValues;//used to append in for loop
            sequenceValues=values[1].split(",");
            for(int i=0;i<sequenceValues.size();i++)
            {
                levelSequence.append(sequenceValues[i]);
            }
            levelSequenceNumber.append(levelSequence);//MAKES A LIST OF SEQUENCES
            levelSequence.clear();
            levelRows.append(values[2]);
            levelStart.append(values[3]);
            levelInterval.append(values[4]);
            levelDecrement.append(values[5]);
             data = reader.readLine();
        }
        levels.close();
    }
    else
    {
        close=true;
    }

}
Пример #28
0
WPiano::WPiano(File *_file, vmd_track_t *_track, vmd_time_t time, Player *_player)
	:file_(_file),
	track_(_track),
	grid_size_(file()->division),
	mouse_captured_(false),
	cursor_time_(grid_snap_left(this, time)),
	cursor_size_(file()->division),
	cursor_level_(0),
	pivot_enabled_(false),
	selection_(NULL),
	player_(_player)
{
	int w = time2x(vmd_file_length(file()));
	int h = margin * 2 + level_height * levels(track());
	setMinimumSize(w, h);
	setPalette(PianoPalette());
	setFocusPolicy(Qt::StrongFocus);

	connect(file_, SIGNAL(acted()), this, SLOT(update()));
	connect(player_, SIGNAL(started()), this, SLOT(playStarted()));
	connect(player_, SIGNAL(finished()), this, SLOT(playStopped()));
	if (playing())
		playStarted();
}
Пример #29
0
 void* pixels() { return levels() + fLevelCount; }
Пример #30
0
 const void* pixels() const { return levels() + fLevelCount; }