// construct an appropriate Spacing_problem and solve it.
svec<Real>
-PScore::solve_line(svec<const PCol *> curline) const
+PScore::solve_line(svec< PCol *> curline) const
{
Spacing_problem sp;
}
bool
-PScore::feasible(svec<const PCol *> curline) const
+PScore::feasible(svec< PCol *> curline) const
{
Real l =0;
for (int i=0; i < curline.sz(); i++)
}
struct Col_configuration {
- svec<const PCol*> line;
+ svec< PCol*> line;
svec<Real> config;
Real energy;
Col_configuration() {
energy = INFTY;
}
- void add(const PCol*c) { line.add(c);}
+ void add( PCol*c) { line.add(c);}
void setsol(svec<Real> sol) {
config = sol;
energy = config.last();
problem_OK();
PCursor<PCol *> curcol(cols);
- svec<const PCol *> breakpoints(find_breaks());
+ svec<PCol *> breakpoints(find_breaks());
assert(breakpoints.sz()>=2);
for (int i=0 ; i < breakpoints.sz() -1; ) {
Col_configuration minimum;
void
-PScore::add_line(svec<const PCol *> curline, svec<Real> config)
+PScore::add_line(svec< PCol *> curline, svec<Real> config)
{
Line_of_score *p = new Line_of_score(curline,this);
lines.bottom().add(p);
int
-PScore::compare_pcols(const PCol*a, const PCol*b)const
+PScore::compare_pcols(PCol*a, PCol*b)const
{
PCursor<PCol*> ac(find_col(a));
PCursor<PCol*> bc(find_col(b));
/*
return all breakable columns
*/
-svec<const PCol *>
+svec< PCol *>
PScore::find_breaks() const
{
- svec<const PCol *> retval;
+ svec< PCol *> retval;
for (PCursor<PCol *> c(cols); c.ok(); c++)
if (c->breakable())
retval.add(c);
}
PCursor<PCol *>
-PScore::find_col(const PCol *c)const
+PScore::find_col(PCol *c)const
{
PCol*what = (PCol*)c;
if (what->daddy )