[devel] [PATCH] apt virtual packages
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Дек 17 19:09:33 MSK 2006
On Sun, Dec 17, 2006 at 05:14:14PM +0300, Alexey Tourbin wrote:
> On Sun, Dec 17, 2006 at 04:43:40PM +0300, Alexey Tourbin wrote:
> > +static inline bool
> > +vercmpOrder(const pkgCache::VerIterator &a, const pkgCache::VerIterator &b)
> > +{
> > + return a.CompareVer(b) < 0;
> > +}
>
> Кстати вот тут должно быть "<" или "<="?
> Что-то у Страуса примера на сортировку с предикатом порядка нету.
Ага, тут похоже должно быть "<=". Дело в том, что всего одной операции
"<=" достаточно, чтобы логически вывести все остальные операции сравнения.
(==)(a,b) := (a<=b)&&(b<=a)
(>=)(a,b) := !(b<=a)
(!=)(a,b) := !(a==b)
(<)(a,b) := (a<=b)&&(a!=b)
(>)(a,b) := (a>=b)&&(a!=b)
А в случае с одной только операцией "<" такой ляпоты не получается,
потому что не удается логически вывести равенство.
А может я чего-то не понимаю? Кто точно знает?
> > +done:
> > + // best versions go first
> > + found.sort(vercmpOrder);
> > + found.unique();
> > + found.reverse();
> > + return found;
> > +}
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20061217/9c22740f/attachment-0001.bin>
Подробная информация о списке рассылки Devel