| Ticket UUID: | 722132 | |||
| Title: | struct prioqueue fails its testsuite | |||
| Type: | Bug | Version: | None | |
| Submitter: | andreas_kupries | Created on: | 2003-04-15 22:06:50 | |
| Subsystem: | struct :: prioqueue | Assigned To: | andreas_kupries | |
| Priority: | 8 | Severity: | ||
| Status: | Closed | Last Modified: | 2003-04-17 02:45:19 | |
| Resolution: | Fixed | Closed By: | andreas_kupries | |
| Closed on: | 2003-04-16 19:45:19 | |||
| Description: |
The newly added priority queue fails its testsuite. | |||
| User Comments: |
andreas_kupries added on 2003-04-17 02:45:19:
Logged In: YES user_id=75003 Accepted change and committed to head. mic42 added on 2003-04-16 12:55:40: Logged In: YES
user_id=302287
Trivial bug in __elementcompare ( ">" should be "<")
This fixes it:
# ::struct::prioqueue::__elementcompare
#
# Compare helper with the sort options.
#
#
proc ::struct::prioqueue::__elementcompare {prio newPrio
sortopt sortdir} {
if {[string equal $sortopt "-integer"] || [string equal
$sortopt "-real"]} {
set result [expr {$prio < $newPrio}]
} elseif {[string equal $sortopt "-ascii"]} {
set result [expr {[string compare $prio $newPrio] < 0}]
} elseif {[string equal $sortopt "-dictionary"]} {
# need to use lsort to access -dictionary sorting
set result [string equal $prio [lindex \
[lsort -increasing -dictionary [list
$prio $newPrio]] 0]]
}
return [expr {[string equal $sortdir "-decreasing"] ?
$result : !$result}]
}
andreas_kupries added on 2003-04-16 05:06:50: File Added - 47876: prioqueue.FAILED | |||
Attachments:
- prioqueue.FAILED [download] added by andreas_kupries on 2003-04-16 05:06:50. [details]
