Skip to content

Instantly share code, notes, and snippets.

Status quo

Currently the AbstractArray type hierarchy has three major subtype trees:

  • DenseArray
  • AbstractSparseArray
  • AbstractRange

In addition, we have the StridedArray typealias, which effectively “adds” strided SubArrays and ReshapedArrays as pseudo-subtypes of DenseArrays.

We also have the IndexStyle trait.

$ ack -C 5 '\bslicedim\b'
AutoGrad/src/base/abstractarraymath.jl
13-# imag
14-# +
15-# *
16-# /
17-# \
18:# slicedim
19-# flipdim
20-# circshift
{
"name": "mycsv",
"title": "Mycsv",
"resources": [
{
"name": "etp_participant_data",
"title": "Etp Participant Data",
"schema": {
"fields": [
{
This file has been truncated, but you can view the full file.
JULIA test/all
WARNING: general linear indexing is deprecated; use reshape(A, Val{1}) before indexing
!atcaller!> in *(::UpperTriangular{Float32,Array{Float32,2}}, ::Array{BigFloat,1}) at triangular.jl:1559 in /Users/mbauman/Code/julia-0.6/test/linalg/triangular.jl at 17
Stacktrace:
[1] depwarn(::String, ::Tuple{Symbol,Symbol,Symbol}) at ./deprecated.jl:64
[2] _to_linear_index(::Array{BigFloat,1}, ::Int64, ::Int64, ::Vararg{Int64,N}) at ./abstractarray.jl:850
[3] _getindex at ./abstractarray.jl:837 [inlined]
[4] getindex at ./multidimensional.jl:184 [inlined]
[5] A_mul_B!(::UpperTriangular{BigFloat,Array{BigFloat,2}}, ::Array{BigFloat,1}) at ./linalg/triangular.jl:582
diff --git a/base/array.jl b/base/array.jl
index 7c3b978..b28837d 100644
--- a/base/array.jl
+++ b/base/array.jl
@@ -289,8 +289,17 @@ done(a::Array,i) = (i > length(a))
## Indexing: getindex ##
-getindex(A::Array, i::Int, I::Int...) = arrayref(A, i, I...)
-unsafe_getindex(A::Array, i::Int, I::Int...) = @inbounds return arrayref(A, i, I...)
diff --git a/base/array.jl b/base/array.jl
index 7c3b978..501693f 100644
--- a/base/array.jl
+++ b/base/array.jl
@@ -289,8 +289,17 @@ done(a::Array,i) = (i > length(a))
## Indexing: getindex ##
-getindex(A::Array, i::Int, I::Int...) = arrayref(A, i, I...)
-unsafe_getindex(A::Array, i::Int, I::Int...) = @inbounds return arrayref(A, i, I...)
@mbauman
mbauman / filtfilt_gustafsson.jl
Created July 7, 2014 14:10
Forward-backward IIR filter that uses Gustafsson's method.
# Forward-backward IIR filter that uses Gustafsson's method.
#
# Apply the IIR filter defined by `(b,a)` to `x` twice, first forward
# then backward, using Gustafsson's initial conditions [1]_.
#
# Let `y_fb` be the result of filtering first forward and then backward,
# and let `y_bf` be the result of filtering first backward then forward.
# Gustafsson's method is to compute initial conditions for the forward
# pass and the backward pass such that `y_fb == y_bf`.
#
@mbauman
mbauman / .juliarc.jl
Last active August 29, 2015 14:03
juliarc
module RC
## Method sorting: https://github.com/JuliaLang/julia/pull/6119 (closed wontfix)
Base.isless(a::Method, b::Method) = isless(a.func.code.name, b.func.code.name)
## Simplify life when calling methodswith. I always do it wrong.
Base.methodswith(x, showparents::Bool=false) = methodswith(typeof(x), showparents)
if VERSION < v"0.3-"
ENV["JULIA_HISTORY"] = joinpath(homedir(), "~/.julia_history_v0.2")
julia> {"key$(i)" => randn(i,i) for i = 1:10}
{"key8"=>8x8 Array{Float64,2}:
-2.12749 -0.752214 0.492932 … -1.15896 -0.469876 -0.473766
0.591607 0.781237 -0.882523 -1.04401 -0.847492 1.46561
0.261209 1.07582 1.38244 2.45793 -1.72707 1.86853
1.77907 1.49788 -1.9545 -0.0986327 -1.00464 0.265882
0.890266 0.151234 0.0375418 0.250334 -0.857636 0.593363
-0.0338993 -0.465015 0.342204 … 0.701575 -0.506198 -1.8893
-1.1662 0.318207 0.961944 0.514062 -0.301675 0.768447
-0.946939 0.823065 1.35655 -0.55687 -0.28025 -0.125624,"key6"=>6x6 Array{Float64,2}:
julia> showall({"key$(i)" => randn(i,i) for i = 1:10})
Dict{Any,Any} with 10 entries:
"key6" => [0.7995137897612783 0.30301616050643354 -1.8242713165721007 -0.12085866079321517 -0.40016169770670645 -0.5231178478762234
1.328503819968753 0.452169193705579 0.11451815072694968 0.0018399482002831712 -1.846160890880193 0.4004558749903179
-1.7262858694496896 1.0163474789812468 0.7067600121148212 -0.4325724176628864 1.4279773418198034 0.6912539911447593
-1.4639758553884066 0.0962424010955328 1.0407232303631846 0.2340051334746554 0.46459256657155956 2.078259553003987
0.3073885311320213 0.8293793724443539 0.173905175998053 1.0541936463592403 1.6442529959343 -0.48446355061672663
-0.28691097504615776 0.23344891866376682 -0.6616365768644663 -0.49540419054307655 0.6288523988607045 -0.609976438451507]
"key9" => [-0.5551848781968902 -1.212184407152184 -0.028042351757473567 0.5194117970945017 -0.6460925612400668 0.4332683925961238 1.7095535835793614 -0.6682514118077872 1.6739508392869977
-1.4666570108790773 0.103742