gravatar
alpar (Alpar Juttner)
alpar@cs.elte.hu
Remove long lines (from all but one file)
0 14 0
default
14 files changed with 123 insertions and 64 deletions:
↑ Collapse diff ↑
Show white space 6 line context
... ...
@@ -89,7 +89,8 @@
89 89

	
90 90
\subsection cs-loc-var Class and instance member variables, auto variables
91 91

	
92
The names of class and instance member variables and auto variables (=variables used locally in methods) should look like the following.
92
The names of class and instance member variables and auto variables
93
(=variables used locally in methods) should look like the following.
93 94

	
94 95
\code
95 96
all_lower_case_with_underscores
Show white space 6 line context
... ...
@@ -227,7 +227,8 @@
227 227
maximum flow is the \f$f_a\f$ solution of the next optimization problem:
228 228

	
229 229
\f[ 0 \le f_a \le c_a \f]
230
\f[ \sum_{v\in\delta^{-}(u)}f_{vu}=\sum_{v\in\delta^{+}(u)}f_{uv} \qquad \forall u \in V \setminus \{s,t\}\f]
230
\f[ \sum_{v\in\delta^{-}(u)}f_{vu}=\sum_{v\in\delta^{+}(u)}f_{uv}
231
\qquad \forall u \in V \setminus \{s,t\}\f]
231 232
\f[ \max \sum_{v\in\delta^{+}(s)}f_{uv} - \sum_{v\in\delta^{-}(s)}f_{vu}\f]
232 233

	
233 234
LEMON contains several algorithms for solving maximum flow problems:
... ...
@@ -267,7 +268,8 @@
267 268
\f$c_a:A\rightarrow\mathbf{R}^+_0\f$ capacity function. The minimum
268 269
cut is the \f$X\f$ solution of the next optimization problem:
269 270

	
270
\f[ \min_{X \subset V, X\not\in \{\emptyset, V\}}\sum_{uv\in A, u\in X, v\not\in X}c_{uv}\f]
271
\f[ \min_{X \subset V, X\not\in \{\emptyset, V\}}
272
\sum_{uv\in A, u\in X, v\not\in X}c_{uv}\f]
271 273

	
272 274
LEMON contains several algorithms related to minimum cut problems:
273 275

	
... ...
@@ -300,7 +302,8 @@
300 302
@ingroup algs
301 303
\brief Algorithms for planarity checking, embedding and drawing
302 304

	
303
This group describes the algorithms for planarity checking, embedding and drawing.
305
This group describes the algorithms for planarity checking,
306
embedding and drawing.
304 307

	
305 308
\image html planar.png
306 309
\image latex planar.eps "Plane graph" width=\textwidth
... ...
@@ -477,7 +480,8 @@
477 480
@ingroup io_group
478 481
\brief Reading and writing \ref lgf-format "Lemon Graph Format".
479 482

	
480
This group describes methods for reading and writing \ref lgf-format "Lemon Graph Format".
483
This group describes methods for reading and writing
484
\ref lgf-format "Lemon Graph Format".
481 485
*/
482 486

	
483 487
/**
Show white space 6 line context
... ...
@@ -395,16 +395,16 @@
395 395
              o!=i->second.opts.end();++o)
396 396
            if(_opts.find(*o)->second.set) ++set;
397 397
          if(i->second.mandatory&&!set) {
398
            std::cerr << _command_name
399
                      << ": At least one of the following arguments is mandatory.\n";
398
            std::cerr << _command_name <<
399
              ": At least one of the following arguments is mandatory.\n";
400 400
            ok=false;
401 401
            for(GroupData::Opts::iterator o=i->second.opts.begin();
402 402
                o!=i->second.opts.end();++o)
403 403
              showHelp(_opts.find(*o));
404 404
          }
405 405
          if(i->second.only_one&&set>1) {
406
            std::cerr << _command_name
407
                      << ": At most one of the following arguments can be given.\n";
406
            std::cerr << _command_name <<
407
              ": At most one of the following arguments can be given.\n";
408 408
            ok=false;
409 409
            for(GroupData::Opts::iterator o=i->second.opts.begin();
410 410
                o!=i->second.opts.end();++o)
Show white space 6 line context
... ...
@@ -151,8 +151,9 @@
151 151
/// - \c LEMON_ASSERT_CUSTOM The user can define own assertion handler
152 152
///   function.
153 153
///   \code
154
///     void custom_assert_handler(const char* file, int line, const char* function,
155
///                                const char* message, const char* assertion);
154
///     void custom_assert_handler(const char* file, int line,
155
///                                const char* function, const char* message,
156
///                                const char* assertion);
156 157
///   \endcode
157 158
///   The name of the function should be defined as the \c
158 159
///   LEMON_CUSTOM_ASSERT_HANDLER macro name.
Show white space 6 line context
... ...
@@ -103,7 +103,8 @@
103 103
    ///Instantiates a DistMap.
104 104

	
105 105
    ///This function instantiates a \ref DistMap.
106
    ///\param G is the digraph, to which we would like to define the \ref DistMap
106
    ///\param G is the digraph, to which we would like to define
107
    ///the \ref DistMap
107 108
    static DistMap *createDistMap(const GR &G)
108 109
    {
109 110
      return new DistMap(G);
... ...
@@ -825,7 +826,8 @@
825 826
    ///Instantiates a DistMap.
826 827

	
827 828
    ///This function instantiates a \ref DistMap.
828
    ///\param g is the digraph, to which we would like to define the \ref DistMap
829
    ///\param g is the digraph, to which we would like to define
830
    ///the \ref DistMap
829 831
#ifdef DOXYGEN
830 832
    static DistMap *createDistMap(const GR &g)
831 833
#else
... ...
@@ -1199,7 +1201,8 @@
1199 1201
  /// class. It works with callback mechanism, the BfsVisit object calls
1200 1202
  /// on every bfs event the \c Visitor class member functions.
1201 1203
  ///
1202
  /// \tparam _Digraph The digraph type the algorithm runs on. The default value is
1204
  /// \tparam _Digraph The digraph type the algorithm runs on.
1205
  /// The default value is
1203 1206
  /// \ref ListDigraph. The value of _Digraph is not used directly by Bfs, it
1204 1207
  /// is only passed to \ref BfsDefaultTraits.
1205 1208
  /// \tparam _Visitor The Visitor object for the algorithm. The
Show white space 6 line context
... ...
@@ -43,7 +43,8 @@
43 43
    public:
44 44
      /// The key type of the map.
45 45
      typedef K Key;
46
      /// The value type of the map. (The type of objects associated with the keys).
46
      /// \brief The value type of the map.
47
      /// (The type of objects associated with the keys).
47 48
      typedef T Value;
48 49

	
49 50
      /// Returns the value associated with the given key.
... ...
@@ -82,7 +83,8 @@
82 83
    public:
83 84
      /// The key type of the map.
84 85
      typedef K Key;
85
      /// The value type of the map. (The type of objects associated with the keys).
86
      /// \brief The value type of the map.
87
      /// (The type of objects associated with the keys).
86 88
      typedef T Value;
87 89

	
88 90
      /// Sets the value associated with the given key.
... ...
@@ -121,7 +123,8 @@
121 123
    public:
122 124
      /// The key type of the map.
123 125
      typedef K Key;
124
      /// The value type of the map. (The type of objects associated with the keys).
126
      /// \brief The value type of the map.
127
      /// (The type of objects associated with the keys).
125 128
      typedef T Value;
126 129

	
127 130
      /// Returns the value associated with the given key.
... ...
@@ -154,7 +157,8 @@
154 157
      typedef True ReferenceMapTag;
155 158
      /// The key type of the map.
156 159
      typedef K Key;
157
      /// The value type of the map. (The type of objects associated with the keys).
160
      /// \brief The value type of the map.
161
      /// (The type of objects associated with the keys).
158 162
      typedef T Value;
159 163
      /// The reference type of the map.
160 164
      typedef R Reference;
Show white space 6 line context
... ...
@@ -105,7 +105,8 @@
105 105
    ///Instantiates a DistMap.
106 106

	
107 107
    ///This function instantiates a \ref DistMap.
108
    ///\param G is the digraph, to which we would like to define the \ref DistMap
108
    ///\param G is the digraph, to which we would like to define
109
    ///the \ref DistMap
109 110
    static DistMap *createDistMap(const GR &G)
110 111
    {
111 112
      return new DistMap(G);
... ...
@@ -808,7 +809,8 @@
808 809
    ///Instantiates a DistMap.
809 810

	
810 811
    ///This function instantiates a \ref DistMap.
811
    ///\param g is the digraph, to which we would like to define the \ref DistMap
812
    ///\param g is the digraph, to which we would like to define
813
    ///the \ref DistMap
812 814
#ifdef DOXYGEN
813 815
    static DistMap *createDistMap(const GR &g)
814 816
#else
... ...
@@ -1193,7 +1195,8 @@
1193 1195
  /// class. It works with callback mechanism, the DfsVisit object calls
1194 1196
  /// on every dfs event the \c Visitor class member functions.
1195 1197
  ///
1196
  /// \tparam _Digraph The digraph type the algorithm runs on. The default value is
1198
  /// \tparam _Digraph The digraph type the algorithm runs on.
1199
  /// The default value is
1197 1200
  /// \ref ListDigraph. The value of _Digraph is not used directly by Dfs, it
1198 1201
  /// is only passed to \ref DfsDefaultTraits.
1199 1202
  /// \tparam _Visitor The Visitor object for the algorithm. The
Show white space 6 line context
... ...
@@ -173,7 +173,8 @@
173 173
    ///Instantiates a DistMap.
174 174

	
175 175
    ///This function instantiates a \ref DistMap.
176
    ///\param G is the digraph, to which we would like to define the \ref DistMap
176
    ///\param G is the digraph, to which we would like to define
177
    ///the \ref DistMap
177 178
    static DistMap *createDistMap(const GR &G)
178 179
    {
179 180
      return new DistMap(G);
... ...
@@ -392,7 +393,8 @@
392 393
    template <class T>
393 394
    struct DefProcessedMapToBeDefaultMap
394 395
      : public Dijkstra< Digraph, LengthMap, DefDigraphProcessedMapTraits> {
395
      typedef Dijkstra< Digraph, LengthMap, DefDigraphProcessedMapTraits> Create;
396
      typedef Dijkstra< Digraph, LengthMap, DefDigraphProcessedMapTraits>
397
      Create;
396 398
    };
397 399

	
398 400
    template <class H, class CR>
... ...
@@ -976,7 +978,8 @@
976 978
    ///Instantiates a DistMap.
977 979

	
978 980
    ///This function instantiates a \ref DistMap.
979
    ///\param g is the digraph, to which we would like to define the \ref DistMap
981
    ///\param g is the digraph, to which we would like to define
982
    ///the \ref DistMap
980 983
#ifdef DOXYGEN
981 984
    static DistMap *createDistMap(const GR &g)
982 985
#else
Show white space 6 line context
... ...
@@ -142,7 +142,8 @@
142 142
  ///Constructor
143 143
  ///\param _g  Reference to the graph to be printed.
144 144
  ///\param _os Reference to the output stream.
145
  ///\param _os Reference to the output stream. By default it is <tt>std::cout</tt>.
145
  ///\param _os Reference to the output stream.
146
  ///By default it is <tt>std::cout</tt>.
146 147
  ///\param _pros If it is \c true, then the \c ostream referenced by \c _os
147 148
  ///will be explicitly deallocated by the destructor.
148 149
  DefaultGraphToEpsTraits(const G &_g,std::ostream& _os=std::cout,
... ...
@@ -781,9 +782,11 @@
781 782
    //x1 y1 x2 y2 x3 y3 cr cg cb w
782 783
    os << "/lb { setlinewidth setrgbcolor newpath moveto\n"
783 784
       << "      4 2 roll 1 index 1 index curveto stroke } bind def\n";
784
    os << "/l { setlinewidth setrgbcolor newpath moveto lineto stroke } bind def\n";
785
    os << "/l { setlinewidth setrgbcolor newpath moveto lineto stroke }"
786
       << " bind def\n";
785 787
    //x y r
786
    os << "/c { newpath dup 3 index add 2 index moveto 0 360 arc closepath } bind def\n";
788
    os << "/c { newpath dup 3 index add 2 index moveto 0 360 arc closepath }"
789
       << " bind def\n";
787 790
    //x y r
788 791
    os << "/sq { newpath 2 index 1 index add 2 index 2 index add moveto\n"
789 792
       << "      2 index 1 index sub 2 index 2 index add lineto\n"
... ...
@@ -811,8 +814,10 @@
811 814
       << " 1.5 mul mul setlinewidth\n"
812 815
       << "  newpath 5 index 5 index moveto "
813 816
       << "5 index 5 index 5 index 3.01 mul sub\n"
814
       << "  lineto 5 index 4 index .7 mul sub 5 index 5 index 2.2 mul sub moveto\n"
815
       << "  5 index 4 index .7 mul add 5 index 5 index 2.2 mul sub lineto stroke\n"
817
       << "  lineto 5 index 4 index .7 mul sub 5 index 5 index 2.2 mul sub"
818
       << " moveto\n"
819
       << "  5 index 4 index .7 mul add 5 index 5 index 2.2 mul sub lineto "
820
       << "stroke\n"
816 821
       << "  5 index 5 index 5 index c fill\n"
817 822
       << "  setrgbcolor " << 1+_nodeBorderQuotient << " div c fill\n"
818 823
       << "  } bind def\n";
... ...
@@ -826,7 +831,8 @@
826 831
       << "  1 index 1 index lineto\n"
827 832
       << "  1 index 1 index 7 index sub moveto\n"
828 833
       << "  1 index 1 index lineto\n"
829
       << "  exch 5 index 3 sqrt .5 mul mul sub exch 5 index .5 mul sub lineto\n"
834
       << "  exch 5 index 3 sqrt .5 mul mul sub exch 5 index .5 mul sub"
835
       << " lineto\n"
830 836
       << "  stroke\n"
831 837
       << "  5 index 5 index 5 index c fill\n"
832 838
       << "  setrgbcolor " << 1+_nodeBorderQuotient << " div c fill\n"
... ...
@@ -838,7 +844,8 @@
838 844
    // l dx_norm dy_norm
839 845
    os << "/lrl { 2 index mul exch 2 index mul exch rlineto pop} bind def\n";
840 846
    //len w dx_norm dy_norm x1 y1 cr cg cb
841
    os << "/arr { setrgbcolor /y1 exch def /x1 exch def /dy exch def /dx exch def\n"
847
    os << "/arr { setrgbcolor /y1 exch def /x1 exch def /dy exch def /dx "
848
       << "exch def\n"
842 849
       << "       /w exch def /len exch def\n"
843 850
      //         << "       0.1 setlinewidth x1 y1 moveto dx len mul dy len mul rlineto stroke"
844 851
       << "       newpath x1 dy w 2 div mul add y1 dx w 2 div mul sub moveto\n"
... ...
@@ -902,7 +909,8 @@
902 909
          //\todo better 'epsilon' would be nice here.
903 910
          dim2::Point<double> d(dvec/std::max(l,EPSILON));
904 911
           dim2::Point<double> m;
905
//           m=dim2::Point<double>(mycoords[g.target(*i)]+mycoords[g.source(*i)])/2.0;
912
//           m=dim2::Point<double>(mycoords[g.target(*i)]+
913
//                                 mycoords[g.source(*i)])/2.0;
906 914

	
907 915
//            m=dim2::Point<double>(mycoords[g.source(*i)])+
908 916
//             dvec*(double(_nodeSizes[g.source(*i)])/
... ...
@@ -938,7 +946,8 @@
938 946
//               node_shape=_nodeShapes[g.source(*e)];
939 947
//               t1=0;t2=1;
940 948
//               for(int i=0;i<INTERPOL_PREC;++i)
941
//                 if(isInsideNode(bez((t1+t2)/2)-t,rn,node_shape)) t1=(t1+t2)/2;
949
//                 if(isInsideNode(bez((t1+t2)/2)-t,rn,node_shape))
950
//                   t1=(t1+t2)/2;
942 951
//                 else t2=(t1+t2)/2;
943 952
//               bez=bez.after((t1+t2)/2);
944 953
              os << _arcWidths[*e]*_arcWidthScale << " setlinewidth "
Show white space 6 line context
... ...
@@ -444,7 +444,8 @@
444 444
  /// set into an \e ArcSet class (\c SmartArcSet or \c ListArcSet).
445 445
  /// The previously read label node map should be passed to the \c
446 446
  /// useNodes() functions. Another application of multipass reading when
447
  /// paths are given as a node map or an arc map. It is impossible to read this in
447
  /// paths are given as a node map or an arc map.
448
  /// It is impossible to read this in
448 449
  /// a single pass, because the arcs are not constructed when the node
449 450
  /// maps are read.
450 451
  template <typename _Digraph>
Show white space 6 line context
... ...
@@ -314,7 +314,8 @@
314 314
    ///but it provides a bit finer control on the execution.
315 315
    ///The \ref Timer also counts the number of \ref start()
316 316
    ///executions, and is stops only after the same amount (or more)
317
    ///\ref stop() "stop()"s. This can be useful e.g. to compute the running time
317
    ///\ref stop() "stop()"s. This can be useful e.g. to compute
318
    ///the running time
318 319
    ///of recursive functions.
319 320
    ///
320 321

	
Show white space 6 line context
... ...
@@ -110,8 +110,10 @@
110 110
  for(ArcIt e(G); e!=INVALID; ++e) {
111 111
    Node u=G.source(e);
112 112
    Node v=G.target(e);
113
    check( !dijkstra_test.reached(u) || (dijkstra_test.dist(v) - dijkstra_test.dist(u) <= length[e]),
114
           "dist(target)-dist(source)-arc_length= " << dijkstra_test.dist(v) - dijkstra_test.dist(u) - length[e]);
113
    check( !dijkstra_test.reached(u) ||
114
           (dijkstra_test.dist(v) - dijkstra_test.dist(u) <= length[e]),
115
           "dist(target)-dist(source)-arc_length= " <<
116
           dijkstra_test.dist(v) - dijkstra_test.dist(u) - length[e]);
115 117
  }
116 118

	
117 119
  for(NodeIt v(G); v!=INVALID; ++v){
... ...
@@ -121,7 +123,8 @@
121 123
      Node u=G.source(e);
122 124
      check(u==dijkstra_test.predNode(v),"Wrong tree.");
123 125
      check(dijkstra_test.dist(v) - dijkstra_test.dist(u) == length[e],
124
            "Wrong distance! Difference: " << std::abs(dijkstra_test.dist(v) - dijkstra_test.dist(u) - length[e]));
126
            "Wrong distance! Difference: " <<
127
            std::abs(dijkstra_test.dist(v)-dijkstra_test.dist(u)-length[e]));
125 128
    }
126 129
  }
127 130

	
Show white space 6 line context
... ...
@@ -92,12 +92,15 @@
92 92
        Arc con2 = al2(src, trg);
93 93
        Arc con3 = al3(src, trg);
94 94
        Arc con4 = findArc(fg, src, trg);
95
        check(con1 == con2 && con2 == con3 && con3 == con4, "Different results.")
95
        check(con1 == con2 && con2 == con3 && con3 == con4,
96
              "Different results.")
96 97
        check(con1 != INVALID, "There is no connecting arc.");
97 98
        check(fg.source(con1) == src, "Wrong source.");
98 99
        check(fg.target(con1) == trg, "Wrong target.");
99
        check(al3(src, trg, con3) == INVALID, "There is more connecting arc.");
100
        check(findArc(fg, src, trg, con4) == INVALID, "There is more connecting arc.");
100
        check(al3(src, trg, con3) == INVALID,
101
              "There is more connecting arc.");
102
        check(findArc(fg, src, trg, con4) == INVALID,
103
              "There is more connecting arc.");
101 104
      }
102 105
    }
103 106
  }
... ...
@@ -123,7 +126,8 @@
123 126
    for (NodeIt trg(graph); trg != INVALID; ++trg) {
124 127
      for (ConEdgeIt<Graph> con(graph, src, trg); con != INVALID; ++con) {
125 128
        check( (graph.u(con) == src && graph.v(con) == trg) ||
126
               (graph.v(con) == src && graph.u(con) == trg), "Wrong end nodes.");
129
               (graph.v(con) == src && graph.u(con) == trg),
130
               "Wrong end nodes.");
127 131
        ++found[con];
128 132
        check(found[con] <= 2, "The edge found more than twice.");
129 133
      }
Show white space 6 line context
... ...
@@ -103,7 +103,8 @@
103 103
    ConstMap<A,Const<int,10> > map7 = map6;
104 104
    map6 = constMap<A,int,10>();
105 105
    map7 = constMap<A,Const<int,10> >();
106
    check(map6[A()] == 10 && map7[A()] == 10, "Something is wrong with ConstMap");
106
    check(map6[A()] == 10 && map7[A()] == 10,
107
          "Something is wrong with ConstMap");
107 108
  }
108 109

	
109 110
  // IdentityMap
... ...
@@ -114,7 +115,8 @@
114 115
    map1 = identityMap<A>();
115 116

	
116 117
    checkConcept<ReadMap<double,double>, IdentityMap<double> >();
117
    check(identityMap<double>()[1.0] == 1.0 && identityMap<double>()[3.14] == 3.14,
118
    check(identityMap<double>()[1.0] == 1.0 &&
119
          identityMap<double>()[3.14] == 3.14,
118 120
          "Something is wrong with IdentityMap");
119 121
  }
120 122

	
... ...
@@ -155,10 +157,12 @@
155 157
    SparseMap<double, int> map7 = sparseMap(m);
156 158
    SparseMap<double, int> map8 = sparseMap(m,10);
157 159

	
158
    check(map5[1.0] == 0 && map5[3.14] == 0 && map6[1.0] == 10 && map6[3.14] == 10,
160
    check(map5[1.0] == 0 && map5[3.14] == 0 &&
161
          map6[1.0] == 10 && map6[3.14] == 10,
159 162
          "Something is wrong with SparseMap");
160 163
    map5[1.0] = map6[3.14] = 100;
161
    check(map5[1.0] == 100 && map5[3.14] == 0 && map6[1.0] == 10 && map6[3.14] == 100,
164
    check(map5[1.0] == 100 && map5[3.14] == 0 &&
165
          map6[1.0] == 10 && map6[3.14] == 100,
162 166
          "Something is wrong with SparseMap");
163 167
  }
164 168

	
... ...
@@ -171,7 +175,8 @@
171 175

	
172 176
    SparseMap<double, bool> m1(false); m1[3.14] = true;
173 177
    RangeMap<double> m2(2); m2[0] = 3.0; m2[1] = 3.14;
174
    check(!composeMap(m1,m2)[0] && composeMap(m1,m2)[1], "Something is wrong with ComposeMap")
178
    check(!composeMap(m1,m2)[0] && composeMap(m1,m2)[1],
179
          "Something is wrong with ComposeMap")
175 180
  }
176 181

	
177 182
  // CombineMap
... ...
@@ -196,9 +201,12 @@
196 201
    checkConcept<ReadMap<A,B>, MapToFunctor<ReadMap<A,B> > >();
197 202
    MapToFunctor<ReadMap<A,B> > map(ReadMap<A,B>());
198 203

	
199
    check(functorToMap(&func)[A()] == 3, "Something is wrong with FunctorToMap");
200
    check(mapToFunctor(constMap<A,int>(2))(A()) == 2, "Something is wrong with MapToFunctor");
201
    check(mapToFunctor(functorToMap(&func))(A()) == 3 && mapToFunctor(functorToMap(&func))[A()] == 3,
204
    check(functorToMap(&func)[A()] == 3,
205
          "Something is wrong with FunctorToMap");
206
    check(mapToFunctor(constMap<A,int>(2))(A()) == 2,
207
          "Something is wrong with MapToFunctor");
208
    check(mapToFunctor(functorToMap(&func))(A()) == 3 &&
209
          mapToFunctor(functorToMap(&func))[A()] == 3,
202 210
          "Something is wrong with FunctorToMap or MapToFunctor");
203 211
    check(functorToMap(mapToFunctor(constMap<A,int>(2)))[A()] == 2,
204 212
          "Something is wrong with FunctorToMap or MapToFunctor");
... ...
@@ -206,7 +214,8 @@
206 214

	
207 215
  // ConvertMap
208 216
  {
209
    checkConcept<ReadMap<double,double>, ConvertMap<ReadMap<double, int>, double> >();
217
    checkConcept<ReadMap<double,double>,
218
      ConvertMap<ReadMap<double, int>, double> >();
210 219
    ConvertMap<RangeMap<bool>, int> map1(rangeMap(1, true));
211 220
    ConvertMap<RangeMap<bool>, int> map2 = convertMap<int>(rangeMap(2, false));
212 221
  }
... ...
@@ -224,7 +233,8 @@
224 233
    ForkMap<RM, SM> map1(m1,m2);
225 234
    ForkMap<SM, RM> map2 = forkMap(m2,m1);
226 235
    map2.set(5, 10);
227
    check(m1[1] == -1 && m1[5] == 10 && m2[1] == -1 && m2[5] == 10 && map2[1] == -1 && map2[5] == 10,
236
    check(m1[1] == -1 && m1[5] == 10 && m2[1] == -1 &&
237
          m2[5] == 10 && map2[1] == -1 && map2[5] == 10,
228 238
          "Something is wrong with ForkMap");
229 239
  }
230 240

	
... ...
@@ -241,10 +251,14 @@
241 251
    ConstMap<int, double> c1(1.0), c2(3.14);
242 252
    IdentityMap<int> im;
243 253
    ConvertMap<IdentityMap<int>, double> id(im);
244
    check(addMap(c1,id)[0] == 1.0  && addMap(c1,id)[10] == 11.0, "Something is wrong with AddMap");
245
    check(subMap(id,c1)[0] == -1.0 && subMap(id,c1)[10] == 9.0,  "Something is wrong with SubMap");
246
    check(mulMap(id,c2)[0] == 0    && mulMap(id,c2)[2]  == 6.28, "Something is wrong with MulMap");
247
    check(divMap(c2,id)[1] == 3.14 && divMap(c2,id)[2]  == 1.57, "Something is wrong with DivMap");
254
    check(addMap(c1,id)[0] == 1.0  && addMap(c1,id)[10] == 11.0,
255
          "Something is wrong with AddMap");
256
    check(subMap(id,c1)[0] == -1.0 && subMap(id,c1)[10] == 9.0,
257
          "Something is wrong with SubMap");
258
    check(mulMap(id,c2)[0] == 0    && mulMap(id,c2)[2]  == 6.28,
259
          "Something is wrong with MulMap");
260
    check(divMap(c2,id)[1] == 3.14 && divMap(c2,id)[2]  == 1.57,
261
          "Something is wrong with DivMap");
248 262

	
249 263
    checkConcept<DoubleMap, ShiftMap<DoubleMap> >();
250 264
    checkConcept<DoubleWriteMap, ShiftWriteMap<DoubleWriteMap> >();
... ...
@@ -256,11 +270,13 @@
256 270

	
257 271
    check(shiftMap(id, 2.0)[1] == 3.0 && shiftMap(id, 2.0)[10] == 12.0,
258 272
          "Something is wrong with ShiftMap");
259
    check(shiftWriteMap(id, 2.0)[1] == 3.0 && shiftWriteMap(id, 2.0)[10] == 12.0,
273
    check(shiftWriteMap(id, 2.0)[1] == 3.0 &&
274
          shiftWriteMap(id, 2.0)[10] == 12.0,
260 275
          "Something is wrong with ShiftWriteMap");
261 276
    check(scaleMap(id, 2.0)[1] == 2.0 && scaleMap(id, 2.0)[10] == 20.0,
262 277
          "Something is wrong with ScaleMap");
263
    check(scaleWriteMap(id, 2.0)[1] == 2.0 && scaleWriteMap(id, 2.0)[10] == 20.0,
278
    check(scaleWriteMap(id, 2.0)[1] == 2.0 &&
279
          scaleWriteMap(id, 2.0)[10] == 20.0,
264 280
          "Something is wrong with ScaleWriteMap");
265 281
    check(negMap(id)[1] == -1.0 && negMap(id)[-10] == 10.0,
266 282
          "Something is wrong with NegMap");
... ...
@@ -289,12 +305,16 @@
289 305
    FalseMap<int> fm;
290 306
    RangeMap<bool> rm(2);
291 307
    rm[0] = true; rm[1] = false;
292
    check(andMap(tm,rm)[0] && !andMap(tm,rm)[1] && !andMap(fm,rm)[0] && !andMap(fm,rm)[1],
308
    check(andMap(tm,rm)[0] && !andMap(tm,rm)[1] &&
309
          !andMap(fm,rm)[0] && !andMap(fm,rm)[1],
293 310
          "Something is wrong with AndMap");
294
    check(orMap(tm,rm)[0] && orMap(tm,rm)[1] && orMap(fm,rm)[0] && !orMap(fm,rm)[1],
311
    check(orMap(tm,rm)[0] && orMap(tm,rm)[1] &&
312
          orMap(fm,rm)[0] && !orMap(fm,rm)[1],
295 313
          "Something is wrong with OrMap");
296
    check(!notMap(rm)[0] && notMap(rm)[1], "Something is wrong with NotMap");
297
    check(!notWriteMap(rm)[0] && notWriteMap(rm)[1], "Something is wrong with NotWriteMap");
314
    check(!notMap(rm)[0] && notMap(rm)[1],
315
          "Something is wrong with NotMap");
316
    check(!notWriteMap(rm)[0] && notWriteMap(rm)[1],
317
          "Something is wrong with NotWriteMap");
298 318

	
299 319
    ConstMap<int, double> cm(2.0);
300 320
    IdentityMap<int> im;
... ...
@@ -310,7 +330,8 @@
310 330
    typedef std::vector<int> vec;
311 331
    vec v1;
312 332
    vec v2(10);
313
    LoggerBoolMap<std::back_insert_iterator<vec> > map1(std::back_inserter(v1));
333
    LoggerBoolMap<std::back_insert_iterator<vec> >
334
      map1(std::back_inserter(v1));
314 335
    LoggerBoolMap<vec::iterator> map2(v2.begin());
315 336
    map1.set(10, false);
316 337
    map1.set(20, true);   map2.set(20, true);
... ...
@@ -318,7 +339,8 @@
318 339
    map1.set(50, true);   map2.set(50, true);
319 340
    map1.set(60, true);   map2.set(60, true);
320 341
    check(v1.size() == 3 && v2.size() == 10 &&
321
          v1[0]==20 && v1[1]==50 && v1[2]==60 && v2[0]==20 && v2[1]==50 && v2[2]==60,
342
          v1[0]==20 && v1[1]==50 && v1[2]==60 &&
343
          v2[0]==20 && v2[1]==50 && v2[2]==60,
322 344
          "Something is wrong with LoggerBoolMap");
323 345

	
324 346
    int i = 0;
0 comments (0 inline)