# Strange inclusive range issue

**URL:** <https://discourse.julialang.org/t/strange-inclusive-range-issue/64175>\
**Category:** New to Julia\
**Created:** [July 6, 2021, 8:17pm UTC](https://discourse.julialang.org/t/strange-inclusive-range-issue/64175 "2021-07-06T20:17:55Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ribeiro](https://avatars.discourse-cdn.com/v4/letter/r/d9b06d/32.png) [@Ribeiro](https://discourse.julialang.org/u/Ribeiro)\
**Post date:** [July 6, 2021, 8:17pm UTC](https://discourse.julialang.org/t/strange-inclusive-range-issue/64175/1 "2021-07-06T20:17:55Z")

</div>

Hi, folks.  
Bumped into this today and it forced me to switch do degrees.

```julia
(0:(2π/101):2π)[end] # 6.283185307179586
(0:(2π/102):2π)[end] # 6.283185307179586
(0:(2π/100):2π)[end]# 6.220353454107791

```

Note that the last result is `2π-2π/100`, meaning it’s as if the series does not include the last value.  
I noticed this also for 50.  
Is this a bug or some weird floating point artefact?  
Thanks!  
(Julia 1.5.3)

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [July 6, 2021, 8:36pm UTC](https://discourse.julialang.org/t/strange-inclusive-range-issue/64175/2 "2021-07-06T20:36:20Z")

</div>

> [@Ribeiro](#):
>
> `2π/100`

this parts make a float first, and then you just lose to float point error.

do this instead:

```julia
julia> range(0, stop=2pi, length=100)[end]
6.283185307179586

julia> range(0, stop=2pi, length=101)[end]
6.283185307179586

julia> range(0, stop=2pi, length=102)[end]
6.283185307179586

```

---

<div class="post-metadata">

**Author:** ![Ribeiro](https://avatars.discourse-cdn.com/v4/letter/r/d9b06d/32.png) [@Ribeiro](https://discourse.julialang.org/u/Ribeiro)\
**Post date:** [July 6, 2021, 8:47pm UTC](https://discourse.julialang.org/t/strange-inclusive-range-issue/64175/3 "2021-07-06T20:47:11Z")

</div>

Thanks! I didn’t know that syntax.

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [July 6, 2021, 9:17pm UTC](https://discourse.julialang.org/t/strange-inclusive-range-issue/64175/4 "2021-07-06T21:17:14Z")

</div>

You don’t need to write `stop`, and very soon `length` isn’t needed either.

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [July 6, 2021, 9:31pm UTC](https://discourse.julialang.org/t/strange-inclusive-range-issue/64175/5 "2021-07-06T21:31:07Z")

</div>

@DNF, there is already `LinRange` with such syntax.

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [July 6, 2021, 9:59pm UTC](https://discourse.julialang.org/t/strange-inclusive-range-issue/64175/6 "2021-07-06T21:59:08Z")

</div>

you just mean that they don’t need to be keyword. But I can’t remember the combination of 4 pick 3 and what position means what, so I will keep writing so readers are clear of it too.

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [July 6, 2021, 10:36pm UTC](https://discourse.julialang.org/t/strange-inclusive-range-issue/64175/7 "2021-07-06T22:36:25Z")

</div>

To me the order is so natural, I can’t wait to get rid of the ugly keywords.

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [July 6, 2021, 10:40pm UTC](https://discourse.julialang.org/t/strange-inclusive-range-issue/64175/8 "2021-07-06T22:40:31Z")

</div>

> [@rafael.guerra](#):
>
> LinRange

Yes, I am very much aware. It always seemed like some internal hackery, though I know it’s documented now. It somehow seems wrong to use a type constructor to do a function’s job.
