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 >
Text File  |  1996-09-03  |  6KB  |  224 lines

  1.  
  2. -------------------------------------------------------------------------------
  3. GENERAL
  4. -------------------------------------------------------------------------------
  5.  
  6. IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
  7.  
  8. Name of window library has changed  
  9.  
  10.       OLD name:  libWx  (-lWx)
  11.       NEW name:  libW   (-lW)
  12.  
  13. AND it now has to  appear in front of all other libraries 
  14.  
  15.      ... -lW -lP -lG -lL -lX11  ....
  16.  
  17.  
  18.  
  19. -------------------------------------------------------------------------------
  20. Print and Read
  21. -------------------------------------------------------------------------------
  22.  
  23. Functions "Print" and "Read"  are no longer used to implement
  24. user defined I/O routines. Now, the usual output and input stream 
  25. operators (operator<< and opertor>>) are used. For backward
  26. compatibility Print and Read functions will still work but 
  27. should be avoided. Missing I/O operators will be reported at
  28. compile time.
  29.  
  30.  
  31.  
  32. -------------------------------------------------------------------------------
  33. Linear Orders (compare)
  34. -------------------------------------------------------------------------------
  35.  
  36. There is no default implementation of "int compare(const T&, const T&)
  37. giving an error message at run time. Now <LEDA/param_types.h>
  38. only contains a template {\bf declaration} for compare. The effect is
  39. that missing compare functions will be reported by the linker. Now 
  40. the use of a compare functions (e.g. in a parameterized data type as
  41. in dictionary<key,inf>) and its definition can be located in different 
  42. source files (which was not possible in the previous version
  43. with many compilers).
  44.  
  45. Example:
  46.  
  47. #include <LEDA/list.h>
  48.  
  49. class pair {
  50.  
  51.  double  x;
  52.  double  y;
  53.  
  54. public:
  55.  
  56. pair(double a=0, double b=0) : x(a), y(b) {}
  57. pair(const pair& p) x(p.x), y(p.y) {}
  58.  
  59. friend istream& operator>>(istream& is, pair& p)
  60. { return is >> p.x >> p.y; }
  61.  
  62. friend ostream& operator<<(ostream& os, const pair& p)
  63. { return os << p.x << " " << p.y; }
  64.  
  65. friend int compare(const pair& p, const pair& q);
  66. };
  67.  
  68. main()
  69. { list<pair> L;
  70.   L.read("list of pairs: ");
  71.   L.sort();
  72.   L.print("sorted:\n",'\n');
  73.   return 0;
  74. }
  75.  
  76. int compare(const pair& p, const pair& q)
  77. {  if (p.x < q.x) return -1; 
  78.    if (p.x > q.x) return  1; 
  79.    if (p.y < q.y) return -1; 
  80.    if (p.y > q.y) return  1; 
  81.    return 0;  
  82. }
  83.  
  84.  
  85.  
  86.  
  87. -------------------------------------------------------------------------------
  88. New Compilers/Platforms   (lconfig)
  89. -------------------------------------------------------------------------------
  90.  
  91.   Win32 (NT, Win95) 
  92.  
  93.     - Borland C++
  94.     - Microsoft Viusal C++ 
  95.     - Watcom C++
  96.  
  97.   (please contact LEDA GmbH for DLL's)
  98.  
  99.  
  100.   LINUX: shared Libraries
  101.    
  102.  
  103. -------------------------------------------------------------------------------
  104. Documentation and manual tools
  105. -------------------------------------------------------------------------------
  106.  
  107.    please see section 1.12 of the LEDA manual
  108.  
  109. -------------------------------------------------------------------------------
  110. Memory Management
  111. -------------------------------------------------------------------------------
  112.  
  113.    encapsulated into class memory_manager
  114.    - multiple managers
  115.    - table size parameter
  116.  
  117.  
  118.  
  119. -------------------------------------------------------------------------------
  120. multi-threads
  121. -------------------------------------------------------------------------------
  122.  
  123.   Multithread safety is available for posix, cps package and solaris package.
  124.   To use the right package, please edit the file incl/LEDA/thread.h  
  125.  
  126. -------------------------------------------------------------------------------
  127. Graphs & Planar Maps
  128. -------------------------------------------------------------------------------
  129.  
  130.   G.move_edge(edge e, node v,  node w)
  131.   G.move_edge(edge e, edge e1, edge e2)
  132.   G.move_edge(edge e, edge e1, node w)
  133.  
  134.   Reversals and Faces
  135.  
  136.   G.make_map()
  137.  
  138.   G.reversal(e);
  139.   G.face_cycle_succ();
  140.   G.face_cycle_pred();
  141.  
  142.   G.compute_faces();
  143.   ...
  144.  
  145.   face_array, face_map
  146.  
  147.  
  148. See the section on graphs and related data types in the user manual 
  149. for more details. 
  150.  
  151.  
  152. -------------------------------------------------------------------------------
  153. Graph Algorithms
  154. -------------------------------------------------------------------------------
  155.  
  156.    MIN_COST_FLOW(G,lcap,ucap, cost,supply,flow)
  157.    MIN_COST_FLOW(G,cap, cost,supply,flow)
  158.    MIN_COST_MAX_FLOW(G,s,t,cap,cost,flow)
  159.  
  160.  
  161.  
  162. -------------------------------------------------------------------------------
  163. GEOMETRY
  164. -------------------------------------------------------------------------------
  165.  
  166.    all objects now both with floating point and exact rational arithmetic
  167.  
  168.  -  new types  
  169.      ray 
  170.      rat_ray
  171.      rat_circle
  172.      rat_line
  173.  
  174.  -  name changes
  175.  
  176.      x.vertical()    --> x.is_vertical()
  177.      x.horizontal()  --> x.is_horizontal()
  178.  
  179.  
  180.  - new transformations
  181.  
  182.    x.reflect(p,q)
  183.    x.reflect(p)
  184.  
  185.  
  186.  - delaunay_tree removed 
  187.    ( replaced by a more efficient and robust data structure base 
  188.      on LEDA graphs and exact arithmetic )
  189.  
  190.  
  191.  
  192.  - new algorithms (plane_alg.h)
  193.  
  194.    all algorithms for both float and rational objects 
  195.  
  196.    Balaban
  197.    Mulmuley
  198.  
  199.    DELAUNAY_FLIPPING
  200.    VORONOI
  201.  
  202.  
  203.  
  204.  
  205. -------------------------------------------------------------------------------
  206. windows and graphics
  207. -------------------------------------------------------------------------------
  208.  
  209.    many bugs fixed
  210.    improved panels and menues
  211.    choice_items with bitmap buttons
  212.    graphwin (experimental)
  213.  
  214.  
  215. -------------------------------------------------------------------------------
  216. New Demos
  217. -------------------------------------------------------------------------------
  218.  
  219.     segment intersection
  220.     delaunay and voronoi diagrams
  221.     graphwin demo
  222.  
  223.  
  224.