Commit a95142bf5d952d57faf175b6f4096cc9d3cceb2f
1 parent
7056f9dd
Linspace helper function
Showing
2 changed files
with
17 additions
and
0 deletions
openbr/core/common.cpp
| @@ -63,3 +63,15 @@ QList<int> Common::RandSample(int n, const QSet<int> &values, bool unique) | @@ -63,3 +63,15 @@ QList<int> Common::RandSample(int n, const QSet<int> &values, bool unique) | ||
| 63 | } | 63 | } |
| 64 | return samples; | 64 | return samples; |
| 65 | } | 65 | } |
| 66 | + | ||
| 67 | +QList<float> linspace(float start, float stop, int n) { | ||
| 68 | + float delta = (stop - start) / (n - 1); | ||
| 69 | + float curValue = start; | ||
| 70 | + QList<float> spaced; | ||
| 71 | + spaced.reserve(n); | ||
| 72 | + spaced.append(start); | ||
| 73 | + for (int i = 1; i < (n - 1); i++) { | ||
| 74 | + spaced.append(curValue += delta); | ||
| 75 | + } | ||
| 76 | + spaced.append(stop); | ||
| 77 | +} |
openbr/core/common.h
| @@ -253,6 +253,11 @@ QList<int> RandSample(int n, const QList<T> &weights, bool unique = false) | @@ -253,6 +253,11 @@ QList<int> RandSample(int n, const QList<T> &weights, bool unique = false) | ||
| 253 | } | 253 | } |
| 254 | 254 | ||
| 255 | /*! | 255 | /*! |
| 256 | + * \brief See Matlab function linspace() for documentation. | ||
| 257 | + */ | ||
| 258 | +QList<float> linspace(float start, float stop, int n); | ||
| 259 | + | ||
| 260 | +/*! | ||
| 256 | * \brief See Matlab function unique() for documentation. | 261 | * \brief See Matlab function unique() for documentation. |
| 257 | */ | 262 | */ |
| 258 | template <typename T> | 263 | template <typename T> |