alpar@119: /* -*- C++ -*- alpar@119: * alpar@119: * This file is a part of LEMON, a generic C++ optimization library alpar@119: * alpar@119: * Copyright (C) 2003-2008 alpar@119: * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport alpar@119: * (Egervary Research Group on Combinatorial Optimization, EGRES). alpar@119: * alpar@119: * Permission to use, modify and distribute this software is granted alpar@119: * provided that this copyright notice appears in all copies. For alpar@119: * precise terms see the accompanying LICENSE file. alpar@119: * alpar@119: * This software is provided "AS IS" with no warranty of any kind, alpar@119: * express or implied, and with no claim as to its suitability for any alpar@119: * purpose. alpar@119: * alpar@119: */ alpar@119: alpar@119: #include alpar@119: alpar@119: ///\file \brief Test cases for time_measure.h alpar@119: /// alpar@119: ///\todo To be extended alpar@119: alpar@119: alpar@119: int fibonacci(int f) alpar@119: { alpar@119: static lemon::Counter count("Fibonacci steps: "); alpar@119: count++; alpar@119: if(f<1) return 0; alpar@119: else if(f==1) return 1; alpar@119: else return fibonacci(f-1)+fibonacci(f-2); alpar@119: } alpar@119: alpar@119: int main() alpar@119: { alpar@119: fibonacci(10); alpar@119: alpar@119: { alpar@119: typedef lemon::Counter MyCounter; alpar@119: MyCounter c("Main counter: "); alpar@119: c++; alpar@119: c++; alpar@119: MyCounter::SubCounter d(c,"Subcounter: "); alpar@119: d++; alpar@119: d++; alpar@119: MyCounter::SubCounter::SubCounter e(d,"SubSubCounter: "); alpar@119: e++; alpar@119: e++; alpar@119: } alpar@119: alpar@119: { alpar@119: typedef lemon::NoCounter MyCounter; alpar@119: MyCounter c("Main counter: "); alpar@119: c++; alpar@119: c++; alpar@119: MyCounter::SubCounter d(c,"Subcounter: "); alpar@119: d++; alpar@119: d++; alpar@119: MyCounter::SubCounter::SubCounter e(d,"SubSubCounter: "); alpar@119: e++; alpar@119: e++; alpar@119: } alpar@119: alpar@119: return 0; alpar@119: }