home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
ledar34.zip
/
leda-r-3_4_tar
/
LEDA-3.4
/
FIXES
< prev
next >
Wrap
Text File
|
1996-09-03
|
15KB
|
515 lines
------------------------------------------------------------------------------
LEDA-3.4 (02.09.1996)
------------------------------------------------------------------------------
the following problems have been fixed:
- Color allocation problem
- memory problem in graph
- round for rationals
- rotation bug in rb_tree
- uninitialized memory
- missing constructors for p_queue and r_heap
- bug in k_heap for k>2
- shared libs for LINUX
- Bug in hashing
- Bug in panel::int_item("...",x,1,1);
- Bug in integer bitwise or
- Bug in line::perpendicular
- Bug im sweep Algorihtmus
- Bug Tree Collection
- Bug when using colors without opening window
- problem with m_heap::print
- Iterators and g++ warnings
------------------------------------------------------------------------------
LEDA-3.3.1 (09.04.1996)
------------------------------------------------------------------------------
BUG: lconfig script
FIX: replace in lines 104 and 107 of <LEDA>/lconfig
src/Make.pro by prog/Make.pro
BUG: memory leak in graph copy constructor and assignment
FIX: delete or comment out lines 70 and 77 in <LEDA>/src/_graph.c
(70) memory_allocate_block(sizeof(node_struct),n);
(77) memory_allocate_block(sizeof(edge_struct),m);
BUG: window destructor should be declared virtual
FIX: replace in line 288 of <LEDA>/incl/LEDA/base_window.h
~BASE_WINDOW();
by
virtual ~BASE_WINDOW();
BUG: planar_map(const planar_map&) copy constructor missing
FIX: insert after line 140 in <LEDA>/incl/LEDA/planar_map.h the line
planar_map(const planar_map& M) : graph(M) { make_planar_map(); }
BUG: memory leak in Karatsuba multiplication (_integer.c)
FIX: insert in <LEDA>/src/numbers/_integer.c after line 813 the line
delete[] trp;
BUG: problem with grid_mode cursor in windows in presence of
other (panel) windows
FIX: insert in file <LEDA>/src/window/_base_window.c the following
two lines at the beginning of function void BASE_WINDOW::cursor(void)
if (this != read_window) return;
x_set_read_gc(draw_win);
PROBLEM: "shadow" warnings by g++ (2.7.2)
FIX: remove the definition of the __NEW_SCOPE_RULES__ macro
in <LEDA/system.h>
BUG: error in gen_array::binary_search
FIX: replace in <LEDA>/src/basic/_array.c the gen_array::binary_search by
int gen_array::binary_search(GenPtr x)
{ int l = 0;
int r = sz-1;
if (int_type())
{ int x_i = LEDA_ACCESS(int,x);
while (l <= r)
{ int m = (l+r)/2;
int m_i = LEDA_ACCESS(int,v[m]);
if (x_i == m_i) return m+Low;
if (x_i > m_i)
l = m+1;
else
r = m-1;
}
}
else
while (l <= r)
{ int m = (l+r)/2;
int c = cmp(x,v[m]);
if (c == 0) return m+Low;
if (c > 0)
l = m+1;
else
r = m-1;
}
return Low-1;
}
PROBLEM: conflicts with "node_data" and "edge_data" macros
in REDEFINE_NAMES.h and <LEDA/node/edge_map.h>
FIX: delete all occurences of these two macros
PROBLEM: cannot construct and delete interval sets in the dynamic memory
using the new and delete operators
FIX: remove "LEDA_MEMORY(range_tree)" from <LEDA/impl/range_tree.h>
PROBLEM: compilation problems with microsoft visual c++
FIX: replace <strstream.h> by <strstrea.h>, undefine __TEMPLATE_FUNCTIONS__
in <LEDA/system.h>, use /c option before /Tp option in make.src
PROBLEM: missing documentation of set join,intersect,difference operations
FIX: added manual descriptions in <LEDA/set.h>
PROBLEM: output statement (cout << ...) in _rational.c
FIX: remove it
PROBLEM: memory leak in graph::clear()
FIX: replace in <LEDA>/src/graph/_graph.c line 193
forall(v,v_list) delete v;
by
forall(v,v_free) delete v;
PROBLEM: plan_demo program crashes in presence of a K5 Kuratowski graph
FIX: substitute in file prog/demo/plan_demo.c line 342
forall_nodes(v,G) if (G.degree(v) == 3) break;
by
forall_nodes(v,G)
if (v == G.last_node() || G.degree(v) == 3) break;
------------------------------------------------------------------------------
LEDA-3.3 (15.02.96)
------------------------------------------------------------------------------
Bugs have been fixed in
- basic
string::operator[](int)
string::string(const char*, const char*)
real/bigfloat (pow2 problem)
integer::random
- dictionaries
h_array
map
- graph
read/write
copy_graph
operator=
make_directed()
clear
generators
- planar_map
operator=
copy constructor
-graph_alg
bellman_ford
planarity test
min_cut
-geometry
rat_point
circle::intersection
line::perpendicular
segment::intersection
polygon::unite
DELAUNAY_TRIANG
- windows
panel string item
nested panels (menues)
- installation
problem with REDEFINE.h fixed
------------------------------------------------------------------------------
LEDA 3.2.3 (18.9.95)
------------------------------------------------------------------------------
- bug in sweep_segments fixed
- missing initialization in function template "Convert"
- bug in string::operator[] fixed
- bug in integer cmp fixed
------------------------------------------------------------------------------
LEDA 3.2.2 (01.9.95)
------------------------------------------------------------------------------
- node_pq::member returned always true
- rat_segment::intersection(rat_segment)
- intersection(rat_segment,rat_segment) for vertical segments
- array2: missing copy-constructor and assignment operator inserted
- ugraph::first_adj_edge(node v)
- ugraph::last_adj_edge(node v)
- point,rat_point,segment,rat_segment (sign of the orientation primitive)
- h_array (empty array now has default size of 1 instead of 512)
- polygon::unite
------------------------------------------------------------------------------
LEDA 3.2.1 (27.7.95)
------------------------------------------------------------------------------
- segment: orientation
- missing destructor for handle_base
- forall - macro
- list::split operation
- iteration for constant sets
- bug in MIN_CUT graph algorithm
- bug in orientation(segment,point)
- polygon::intersection and polygon::inside rewritten
- bug in window grid drawing
------------------------------------------------------------------------------
LEDA 3.2 (7.7.95)
------------------------------------------------------------------------------
- SEGMENT_INTERSECTION
now also works in case of "degenerate" input
- graphs
graph::cyclic_in_succ, graph::cyclic_in_pred,
graph::first_adj_edge, and graph::last_adj_edge fixed
new_edge(e1,e2,dir1,dir2) fixed
copy constructor and assingment now preserve order of
adjacency lists
missing implementation of graph::in_edges(v) included
bug in copy constructor of node/edge_array and node/edge_map fixed
b_node_pq: first insert now initalizes minimum correctly
planar_map::split_edge fixed
- param_types
one-word class types
64 bit architectures
- h_array
iteration (forall_defined) now works
- set
copy constructor and operator=
(bug in bin_tree::copy_tree fixed)
- map<I,E> destructor now deletes E's
bug in rehash fixed
- array
array::read(istream in) replaced by array::read(istream& in)
- panel
panel("...",w,h) now creates a panel with width w and height h
- skiplist change_inf now destroys old and copies new information
- matrix memory leak in triang fixed
------------------------------------------------------------------------------
Version 3.1.2 (3.02.95)
------------------------------------------------------------------------------
-list.h: made list_item list::operator[](int i) const
-string.h: made operator+ a friend function
-map.h: replace int(x) by int(Convert(x))
-graph.h: replace in line 258 and 268 "next_power(i)" by "next_power(i+1)"
-integer.c: replace line 1752 { cout << "0"; by { out << "0";
replace line 1769 if (x.PTR->sign == NEGATIVE) cout << "-";
-real.c: many changes
SUNPRO C++ (use 4.0.1 NOT 4.0, use -pto flag )
- do not use assembler code in _string.c
- define __svr4__ if __SVR4 is defined
- use format_string variant of string constructor
- changes to avoid some of the "something hides something" warnings
------------------------------------------------------------------------------
Version 3.1.1 (27.01.95)
------------------------------------------------------------------------------
array.h: operator[] now calls gen_array::entry (instead of inf)
edge_set.h: node_array<list_item> replaced by edge_array<list_item>
list.h: cmp_ptr set to nil in list::search()
list.h: missing app - function inserted.
node_pq.h print_inf now prints index of node
dlist.h: replaced EOF by char(EOF) (problems with EOF <0)
_g_inout.c: read & write for user defined node/edge types fixed
_g_update.c: infinite loop in insert_reverse_edges eliminated
_skiplist.c: locate_succ, locate fixed
_integer.c: memory leak in integert:integer(double) fixed
_real.c: special floating point functions calls replaced
_random.c: BSD Code for random/srandom included
_basic.c: usleep replaced by sleep
_g_map.c: table is deleted only if table_size > 0
_bin_tree.c: copy constructor now sets corr-pointer of rightmost leaf
Type_Name function defined for basic LEDA types (point,string, ...)
Makefiles: _sparc.s will be assembled only on sparc machines
------------------------------------------------------------------------------
Version 3.1
------------------------------------------------------------------------------
16.01.95 array::operator= fixed
13.01.95 graph::read and graph::write did not work for unparameterized
graphs, fixed.
13.01.95 node_set edge_set rewritten
int_set: hard coded word size replaced by sizeof-call
6.01.95 list<T>::sort(cmp_func), list<T>::bucket_sort(ord_func)
list<T>::min(cmp_func), list<T>::max(cmp_func),
list<T>::apply(app_func) did not work for types with
sizof(T) > sizeof(void*); bug is fixed.
array::sort(cmp_func), array::sort(l,h,cmp_func)
array::binary_search(cmp_func), same problem as in lists fixed
21.11.94 bug in vector::operator=(const vector&) fixed
(old (d) and new (n) dimensions exchanged)
17.11.94 bug in rs_tree (set<T>) copy constructor fixed
15.11.94 LEDA_MEMORY: operator new & delete now use the size argument
07.10.94 bug in array copy constructor fixed
memory leak in list::assign() fixed
polygon CONVEX_HULL(list<point>) new algorithm (Graham's Scan)
bugs in segment::intersection() and line::intersection() fixed
29.09.94 bug in binary heaps (negative integer keys) fixed
28.09.94 UGRAPH::assign(node/edge,...) fixed
6.09.94 bug in list<node> graph::adj_nodes() (undirected graphs) fixed
8.08.94 Iteration (forall_defined) for h_arrays
4.08.94 some problems in _leda_panel.c fixed (slider items, buttons, ...)
11.07.94 Multi-definition problem with read_mouse(window, ...) and g++ fixed
22.03.94 bug in skiplist copy constructor fixed
22.12.93 memory leaks in leda panels
21.12.93 nested forall-loops
17.12.93 string::read now can read strings of arbitrary length
11.10.93 made dlist::bucket_sort stable
corrected return value of COMPUTE_CORRESPONDENCE
08.09.93 memory bug in dp_hash (dynamic perfect hashing) fixed
12.08.93 k_heap::del_item fixed
25.06.93 made rs_tree::change_inf (dictionary) clear old and copy new
information
16.06.93 dlist::search (replaced != by call of virtual cmp function)
07.06.93 line::intersection (used to report intersection of parallel lines)
01.06.93 fixed bug in queue::append (replaced Convert by Copy)
05.05.93 bugs in MAX_WEIGHT_BIPARTITE_MATCHING fixed (by M. Paul)
05.04.93 prio.h: added missing ostream argument cout to Print calls
12.03.93 stack::push(x) replaced Convert(x) by Copy(x)
09.03.93 segment::angle() returns zero for segments of length zero
05.03.93 memory leak in draw_(filled_)polygon fixed
25.01.93 bug in ab_tree::clear() fixed (forgot to set counter to zero)
30.12.92 made dlist update operations protected
20.12.92 changed type "SIG_PF" in basic.h to "LEDA_SIG_PF"
07.12.92 missing operation ugraph::read(istream&) inserted
------------------------------------------------------------------------------
Version 3.0
------------------------------------------------------------------------------
09.11.92 Convert and Access for parameter types of size smaller than
pointers (e.g. char, short) fixed
16.07.92 bug with colinear points in delaunay_tree, VORONOI, point_set, ...
fixed
27.05.92 MAX_WEIGHT_BIPARTITE_MATCHING(double) (_mwb_matching.c)
fixed precicision problem that caused a negative loop in DIJKSTRA
19.05.92 list::sort now works for lists of length 1
12.05.92 type conversion for "char" (Copy,Convert,Access, ...) fixed
------------------------------------------------------------------------------
Version 2.2
------------------------------------------------------------------------------
27.04.92 matrix::operator=(const matrix&)
matrix::triang()
17.04.92 lost memory bug in string::operator+ fixed (Nicolas Caillaud)
16.04.92 made all destructors virtual
13.04.92 bug in GRAPH::assign(node/edge,vtype/etype) fixed
made operator<< and operator>> for circles reverse ops
11.04.92 copy-bug in graph::operator=() and graph(const graph&) fixed
------------------------------------------------------------------------------
Version 2.1
------------------------------------------------------------------------------
16.12.91 fixed Copy bug for list, GRAPH, and UGRAPH
10.12.91 defined read(write)_node(edge)_entry for UGRAPH
28.11.91 made void*-functions (append,push, ....) in dlist, graph
and ugraph protected
12.11.91 vector/matrix subtypes for arrays
operator= & operator== now may be called for objects with
differnt dimensions
11.11.91 Copy(vector&) ---> Copy(const vector&)
Copy(matrix&) ---> Copy(const matrix&)
31.10.91 string& string::operator=(const char* s)
Bug: Zugriff auf deallocierten Speicher fuer p->s = s
28.10.91 in bool line::operator==(const line&)
Bug: funktionierte nicht fuer 2 vertikale Linien