The roll_quantile function now throws an exception instead of causing a segfault
State: closed

The roll_quantile function in window.pyx now raises a ValueError when the quantile value is not in [0.0, 1.0]. Also added tests for the new exception and extended test cases for the roll_quantile function.

 - [x] closes #15463
 - [x] tests added / passed
 - [ ] does not pass ``git diff upstream/master | flake8 --diff`` because of some cdef code blocks in the file but my code does not generate any errors
 - [x] two EOL spaces removed by my editor


Labels:
name: Error Reporting
description: Incorrect or improved errors from pandas
name: Algos
description: Non-arithmetic algos: value_counts, factorize, sorting, isin, clip, shift, diff

Comments:
@csizsek great! please add a whatsnew note in Bug Fixes (0.20.0). otherwise lgtm. (FYI, you can also tests this (already works, but just to have  a test)

```
In [2]: Series([1,2,3]).rolling(2).quantile('foo')
TypeError: a float is required

```
@jreback Thanks for the quick review and the help, I added the test you suggested, but I'm not sure how to do this: "please add a whatsnew note in Bug Fixes (0.20.0)". What file do I need to modify?
https://github.com/pandas-dev/pandas/blob/master/doc/source/whatsnew/v0.20.0.txt

use a blank line in the Bug Fix section (not at the end)
Thanks, done.

Do I need to do anything else or can we consider this as fixed?
next step is to ping on green. lgtm otherwise though.
@kernc @jreback All green.
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/15476?src=pr&el=h1) Report
> Merging [#15476](https://codecov.io/gh/pandas-dev/pandas/pull/15476?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/486e384a0525dc348ae8cfc30da3de6f1dc9c500?src=pr&el=desc) will **increase** coverage by `<.01%`.
> The diff coverage is `n/a`.


```diff
@@            Coverage Diff             @@
##           master   #15476      +/-   ##
==========================================
+ Coverage   90.35%   90.36%   +<.01%     
==========================================
  Files         135      135              
  Lines       49513    49519       +6     
==========================================
+ Hits        44739    44747       +8     
+ Misses       4774     4772       -2
```


| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/15476?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/indexes/category.py](https://codecov.io/gh/pandas-dev/pandas/compare/486e384a0525dc348ae8cfc30da3de6f1dc9c500...e31e5be062839244505ccbc3289c0be775052e46?src=pr&el=tree#diff-cGFuZGFzL2luZGV4ZXMvY2F0ZWdvcnkucHk=) | `98.59% <ø> (ø)` | :white_check_mark: |
| [pandas/types/concat.py](https://codecov.io/gh/pandas-dev/pandas/compare/486e384a0525dc348ae8cfc30da3de6f1dc9c500...e31e5be062839244505ccbc3289c0be775052e46?src=pr&el=tree#diff-cGFuZGFzL3R5cGVzL2NvbmNhdC5weQ==) | `98.06% <ø> (+0.01%)` | :white_check_mark: |
| [pandas/core/categorical.py](https://codecov.io/gh/pandas-dev/pandas/compare/486e384a0525dc348ae8cfc30da3de6f1dc9c500...e31e5be062839244505ccbc3289c0be775052e46?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvY2F0ZWdvcmljYWwucHk=) | `96.87% <ø> (+0.02%)` | :white_check_mark: |
| [pandas/core/groupby.py](https://codecov.io/gh/pandas-dev/pandas/compare/486e384a0525dc348ae8cfc30da3de6f1dc9c500...e31e5be062839244505ccbc3289c0be775052e46?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZ3JvdXBieS5weQ==) | `94.98% <ø> (+0.09%)` | :white_check_mark: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/15476?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/15476?src=pr&el=footer). Last update [486e384...e31e5be](https://codecov.io/gh/pandas-dev/pandas/compare/486e384a0525dc348ae8cfc30da3de6f1dc9c500...e31e5be062839244505ccbc3289c0be775052e46?el=footer&src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
thanks @csizsek !

keep em coming!
Sure. Thanks for the help!