[devel] [PATCH] apt virtual packages
Hihin Ruslan
=?iso-8859-1?q?ruslandh_=CE=C1_altlinux=2Eru?=
Вс Дек 17 20:05:06 MSK 2006
Здравствуйте Alexey Tourbin
В сообщении от Sunday 17 December 2006 19:15 Alexey Tourbin
написал(a):
> On Sun, Dec 17, 2006 at 07:09:33PM +0300, Alexey Tourbin wrote:
> > 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) := !(b<a)
>
> Тут у меня логическая ошибка, кажется должно быть
>
>
>
> (>=)(a,b) := !(b<=a)||(b==a)
>
> Но не суть. Суть в том что нестрогий порядок позволяет доопределить
>
> равенство, а строгий не позволяет.
Что-то я не очень пойму к чему это всё , но
!(>=)(a,b) := (<)(a,b) := (a<b)
и обратно
!(>)(a,b) := (<=)(a,b) := (a<=b)
(>)(a,b) := !( (<)(a,b)||(==)(a,b) ) = !(a<=b)
т.е. строгий и нестрогий порядок - суть просто обратные действия
(отношения).
> > (!=)(a,b) := !(a==b)
> >
> > (<)(a,b) := (a<=b)&&(a!=b)
> >
> > (>)(a,b) := (a>=b)&&(a!=b)
--
С уважением Xихин Руслан
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/520e6cb3/attachment-0001.bin>
Подробная информация о списке рассылки Devel