Skip to content

Commit a579d62

Browse files
author
camilo
committed
doc fixes
1 parent 6888862 commit a579d62

File tree

1 file changed

+60
-11
lines changed

1 file changed

+60
-11
lines changed

src/include/ltisys.hpp

Lines changed: 60 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -83,32 +83,78 @@ namespace qlibs {
8383
};
8484

8585

86+
/**
87+
* @brief Represents a time delay value for use in transportDelay constructor.
88+
*
89+
* This utility provides a convenient way to convert a continuous-time delay
90+
* (in seconds) into a discrete-time delay step count based on a given time step `dt`.
91+
*
92+
* Example usage:
93+
* @code
94+
* transportDelay< 2.5_td(dt) > processDelay;
95+
* @endcode
96+
*/
8697
struct timeDelay {
98+
/// Delay duration in seconds.
8799
real_t value;
100+
101+
/**
102+
* @brief Construct a new timeDelay object.
103+
* @param v The delay value in seconds.
104+
*/
88105
constexpr explicit timeDelay(real_t v) : value(v) {}
89-
/** @cond **/
106+
107+
/**
108+
* @brief Computes the number of discrete steps equivalent to the delay.
109+
* @param dt The time step used in the simulation.
110+
* @return The delay expressed in number of steps, rounded to the nearest integer.
111+
*/
90112
constexpr size_t operator()(const real_t dt) const {
91113
return static_cast<size_t>( ( value/dt ) + 0.5_re);
92114
}
115+
116+
/**
117+
* @brief Alternate syntax to compute delay in steps using indexing operator.
118+
* @param dt The time step used in the simulation.
119+
* @return The delay expressed in number of steps, rounded to the nearest integer.
120+
*/
93121
constexpr size_t operator[](const real_t dt) const {
94122
return static_cast<size_t>( ( value/dt ) + 0.5_re);
95123
}
96-
/** @endcond **/
97124
};
98-
/** @cond **/
125+
126+
/**
127+
* @brief Literal for creating a timeDelay from a floating-point value.
128+
*
129+
* Example:
130+
* @code
131+
* auto d = 0.2_td; // same as timeDelay(0.2_re)
132+
* @endcode
133+
*
134+
* @param v The delay value in seconds.
135+
* @return A timeDelay instance.
136+
*/
99137
constexpr timeDelay operator"" _td(long double v) {
100138
return timeDelay(static_cast<real_t>(v));
101139
}
102140

141+
/**
142+
* @brief Computes the delay in discrete steps using the comma operator.
143+
*
144+
* This allows concise syntax like:
145+
* @code
146+
* constexpr real_t dt = 0.01_re;
147+
* size_t steps = 0.2_td, dt; // same as timeDelay(0.2_re)(dt)
148+
* @endcode
149+
*
150+
* @param td A timeDelay object.
151+
* @param dt The time step.
152+
* @return The delay in steps.
153+
*/
103154
constexpr size_t operator,(const timeDelay td, const real_t dt) {
104155
return static_cast<size_t>( ( td.value/dt ) + 0.5_re );
105156
}
106157

107-
constexpr size_t operator+(const timeDelay td, const real_t dt) {
108-
return static_cast<size_t>( ( td.value/dt ) + 0.5_re );
109-
}
110-
/** @endcond **/
111-
112158
/**
113159
* @brief Computes the number of discrete delays required for a specified
114160
* amount of time using a defined time-step.
@@ -152,11 +198,14 @@ namespace qlibs {
152198
* class to simulate a time delay.
153199
* @see delayFromTime
154200
* @tparam numberOfDelay The number of discrete delays to be used. Use the
155-
* delayFromTime() function to determine the number of discrete delays required
156-
* for a specified amount of time.
201+
* timeDelay facility or delayFromTime() function to determine the number
202+
* of discrete delays required for a specified amount of time.
157203
* Example :
158204
* @code{.cpp}
159-
* transportDelay<delayFromTime( 2.5f, dt )> myDelay1;
205+
* constexpr real_t dt = 0.1_re;
206+
* transportDelay< 2.5_td(dt) )> myDelay1;
207+
* transportDelay< delayFromTime(5.2, dt) )> myDelay2;
208+
* transportDelay< 4.3_td[dt] )> myDelay2;
160209
* @endcode
161210
*/
162211
template<size_t numberOfDelays>

0 commit comments

Comments
 (0)