# Default length for abstract array

**URL:** <https://discourse.julialang.org/t/default-length-for-abstract-array/13586>\
**Category:** General Usage\
**Created:** [August 16, 2018, 8:49pm UTC](https://discourse.julialang.org/t/default-length-for-abstract-array/13586 "2018-08-16T20:49:26Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![bramtayl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bramtayl/32/3614_2.png) [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Post date:** [August 16, 2018, 8:49pm UTC](https://discourse.julialang.org/t/default-length-for-abstract-array/13586/1 "2018-08-16T20:49:26Z")

</div>

I noticed the default definition for the length of an abstract array is `prod(size(A))`. Shouldn’t it be something more like `prod(length.(axes(x)))` to account for non-zero indexing?

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [August 16, 2018, 8:54pm UTC](https://discourse.julialang.org/t/default-length-for-abstract-array/13586/2 "2018-08-16T20:54:23Z")

</div>

```julia
julia> y = OffsetArray{Float64}(undef, -1:1, -7:7, -128:512, -5:5, -1:1, -3:3, -2:2, -1:1);

julia> prod(length.(axes(y)))
99947925

julia> prod(size(y))
99947925

```
