| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod Read (Algorithm algorithm, String id) const as Duration | 
| { | 
|   Description: 'Get the current duration from the stopwatch with the given id.' | 
|   TextBody: | 
|   [* | 
|     value := Duration::Zero(); | 
|      | 
|     if( LibOpt_AlgorithmStopwatch::HasValue( algorithm, id ) ) | 
|     { | 
|      | 
|       time := guard( algorithm.RetrieveReal( LibOpt_AlgorithmStopwatch::StrTimeStored( id ) ), 0.0 ); | 
|       if( LibOpt_AlgorithmStopwatch::IsRunning( algorithm, id ) ) | 
|       { | 
|         time := time + guard( OS::PrecisionCounter() - algorithm.RetrieveReal( LibOpt_AlgorithmStopwatch::StrTimeStart( id ) ), 0.0 ); | 
|       } | 
|        | 
|       value := Duration::Seconds( time / OS::PrecisionCounterFrequency() ); | 
|     } | 
|      | 
|     return value; | 
|   *] | 
| } |