|
3 | 3 | (and possibly TimedeltaArray/PeriodArray)
|
4 | 4 | """
|
5 | 5 |
|
| 6 | +from typing import Tuple |
| 7 | + |
6 | 8 | import numpy as np
|
7 | 9 |
|
8 | 10 | from pandas._libs.tslibs import OutOfBoundsDatetime, Timestamp
|
9 | 11 |
|
10 |
| -from pandas.tseries.offsets import Tick, generate_range |
| 12 | +from pandas.tseries.offsets import DateOffset, Tick, generate_range |
11 | 13 |
|
12 | 14 |
|
13 |
| -def generate_regular_range(start, end, periods, freq): |
| 15 | +def generate_regular_range(start: Timestamp, |
| 16 | + end: Timestamp, |
| 17 | + periods: int, |
| 18 | + freq: DateOffset) -> Tuple[np.ndarray, str]: |
14 | 19 | """
|
15 | 20 | Generate a range of dates with the spans between dates described by
|
16 | 21 | the given `freq` DateOffset.
|
@@ -79,7 +84,10 @@ def generate_regular_range(start, end, periods, freq):
|
79 | 84 | return values, tz
|
80 | 85 |
|
81 | 86 |
|
82 |
| -def _generate_range_overflow_safe(endpoint, periods, stride, side='start'): |
| 87 | +def _generate_range_overflow_safe(endpoint: int, |
| 88 | + periods: int, |
| 89 | + stride: int, |
| 90 | + side: str = 'start') -> int: |
83 | 91 | """
|
84 | 92 | Calculate the second endpoint for passing to np.arange, checking
|
85 | 93 | to avoid an integer overflow. Catch OverflowError and re-raise
|
@@ -146,7 +154,10 @@ def _generate_range_overflow_safe(endpoint, periods, stride, side='start'):
|
146 | 154 | return _generate_range_overflow_safe(midpoint, remaining, stride, side)
|
147 | 155 |
|
148 | 156 |
|
149 |
| -def _generate_range_overflow_safe_signed(endpoint, periods, stride, side): |
| 157 | +def _generate_range_overflow_safe_signed(endpoint: int, |
| 158 | + periods: int, |
| 159 | + stride: int, |
| 160 | + side: str) -> int: |
150 | 161 | """
|
151 | 162 | A special case for _generate_range_overflow_safe where `periods * stride`
|
152 | 163 | can be calculated without overflowing int64 bounds.
|
|
0 commit comments