| 134 | * @note The caller will ensure that ah is always non-null. |
| 135 | **/ |
| 136 | template<class T> static T __max( |
| 137 | ArrayHandle<T> ah, size_t start, size_t len){ |
| 138 | const T * array = ah.ptr() + start; |
| 139 | return *std::max_element(array, array + len); |
| 140 | } |
| 141 | template<class T> static T __max(ArrayHandle<T> ah){ |
| 142 | return __max(ah, 0, ah.size()); |
| 143 | } |