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
/
CHANGES.34
< prev
next >
Wrap
Text File
|
1996-09-03
|
6KB
|
224 lines
-------------------------------------------------------------------------------
GENERAL
-------------------------------------------------------------------------------
IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
Name of window library has changed
OLD name: libWx (-lWx)
NEW name: libW (-lW)
AND it now has to appear in front of all other libraries
... -lW -lP -lG -lL -lX11 ....
-------------------------------------------------------------------------------
Print and Read
-------------------------------------------------------------------------------
Functions "Print" and "Read" are no longer used to implement
user defined I/O routines. Now, the usual output and input stream
operators (operator<< and opertor>>) are used. For backward
compatibility Print and Read functions will still work but
should be avoided. Missing I/O operators will be reported at
compile time.
-------------------------------------------------------------------------------
Linear Orders (compare)
-------------------------------------------------------------------------------
There is no default implementation of "int compare(const T&, const T&)
giving an error message at run time. Now <LEDA/param_types.h>
only contains a template {\bf declaration} for compare. The effect is
that missing compare functions will be reported by the linker. Now
the use of a compare functions (e.g. in a parameterized data type as
in dictionary<key,inf>) and its definition can be located in different
source files (which was not possible in the previous version
with many compilers).
Example:
#include <LEDA/list.h>
class pair {
double x;
double y;
public:
pair(double a=0, double b=0) : x(a), y(b) {}
pair(const pair& p) x(p.x), y(p.y) {}
friend istream& operator>>(istream& is, pair& p)
{ return is >> p.x >> p.y; }
friend ostream& operator<<(ostream& os, const pair& p)
{ return os << p.x << " " << p.y; }
friend int compare(const pair& p, const pair& q);
};
main()
{ list<pair> L;
L.read("list of pairs: ");
L.sort();
L.print("sorted:\n",'\n');
return 0;
}
int compare(const pair& p, const pair& q)
{ if (p.x < q.x) return -1;
if (p.x > q.x) return 1;
if (p.y < q.y) return -1;
if (p.y > q.y) return 1;
return 0;
}
-------------------------------------------------------------------------------
New Compilers/Platforms (lconfig)
-------------------------------------------------------------------------------
Win32 (NT, Win95)
- Borland C++
- Microsoft Viusal C++
- Watcom C++
(please contact LEDA GmbH for DLL's)
LINUX: shared Libraries
-------------------------------------------------------------------------------
Documentation and manual tools
-------------------------------------------------------------------------------
please see section 1.12 of the LEDA manual
-------------------------------------------------------------------------------
Memory Management
-------------------------------------------------------------------------------
encapsulated into class memory_manager
- multiple managers
- table size parameter
-------------------------------------------------------------------------------
multi-threads
-------------------------------------------------------------------------------
Multithread safety is available for posix, cps package and solaris package.
To use the right package, please edit the file incl/LEDA/thread.h
-------------------------------------------------------------------------------
Graphs & Planar Maps
-------------------------------------------------------------------------------
G.move_edge(edge e, node v, node w)
G.move_edge(edge e, edge e1, edge e2)
G.move_edge(edge e, edge e1, node w)
Reversals and Faces
G.make_map()
G.reversal(e);
G.face_cycle_succ();
G.face_cycle_pred();
G.compute_faces();
...
face_array, face_map
See the section on graphs and related data types in the user manual
for more details.
-------------------------------------------------------------------------------
Graph Algorithms
-------------------------------------------------------------------------------
MIN_COST_FLOW(G,lcap,ucap, cost,supply,flow)
MIN_COST_FLOW(G,cap, cost,supply,flow)
MIN_COST_MAX_FLOW(G,s,t,cap,cost,flow)
-------------------------------------------------------------------------------
GEOMETRY
-------------------------------------------------------------------------------
all objects now both with floating point and exact rational arithmetic
- new types
ray
rat_ray
rat_circle
rat_line
- name changes
x.vertical() --> x.is_vertical()
x.horizontal() --> x.is_horizontal()
- new transformations
x.reflect(p,q)
x.reflect(p)
- delaunay_tree removed
( replaced by a more efficient and robust data structure base
on LEDA graphs and exact arithmetic )
- new algorithms (plane_alg.h)
all algorithms for both float and rational objects
Balaban
Mulmuley
DELAUNAY_FLIPPING
VORONOI
-------------------------------------------------------------------------------
windows and graphics
-------------------------------------------------------------------------------
many bugs fixed
improved panels and menues
choice_items with bitmap buttons
graphwin (experimental)
-------------------------------------------------------------------------------
New Demos
-------------------------------------------------------------------------------
segment intersection
delaunay and voronoi diagrams
graphwin demo