This might fall under:
https://github.com/JuliaLang/julia/issues/2625
On Thursday, 11 February 2016 02:54:42 UTC, Andy Ferris wrote:
>
> OK thanks Tim!
>
> Is there some way/plan to fix this in the future, to make it more
> convenient?
>
> Andy
>
> On Wednesday, February 10, 2016 at 10:27:38 PM UTC+10, Tim Holy wrote:
>>
>> Slightly modifying an example from the docs:
>>
>> julia> function mysub2ind_gen(N)
>> ex = :(I[$N] - 1)
>> for i = N-1:-1:1
>> ex = :(I[$i] - 1 + dims[$i]*$ex)
>> end
>> return :($ex + 1)
>> end
>> mysub2ind_gen (generic function with 1 method)
>>
>> julia> @generated function mysub2ind{N}(dims::NTuple{N}, I::Integer...)
>> length(I) == N || error("wrong number of indexes")
>> mysub2ind_gen(N)
>> end
>> mysub2ind (generic function with 1 method)
>>
>> julia> mysub2ind_gen(3)
>> :(((I[1] - 1) + dims[1] * ((I[2] - 1) + dims[2] * (I[3] - 1))) + 1)
>>
>> julia> mysub2ind((5,5,5), 1, 2, 3)
>> 56
>>
>> julia> sub2ind((5,5,5), 1, 2, 3)
>> 56
>>
>>
>> On Wednesday, February 10, 2016 03:31:15 AM Jeffrey Sarnoff wrote:
>> > Tim -- would you repeat that with some simple content illustrative of a
>> > useful use for generation --- thx
>> >
>> > On Wednesday, February 10, 2016 at 5:27:12 AM UTC-5, Tim Holy wrote:
>> > > On Tuesday, February 09, 2016 08:52:22 PM Andy Ferris wrote:
>> > > > What's the best way to find the code generated by a @generated
>> function?
>> > >
>> > > This isn't easy unless you (or the author) provides a function to do
>> so:
>> > > @generated function foo(x, y)
>> > >
>> > > foo_generator(x, y)
>> > >
>> > > end
>> > >
>> > > function foo_generator{Tx,Ty}(::Type{Tx}, ::Type{Ty})
>> > >
>> > > # generate and return the expression for the function body
>> > >
>> > > end
>> > >
>> > > Then you can call `foo_generator(typeof(x), typeof(y))` to see the
>> > > returned
>> > > code.
>> > >
>> > > Best,
>> > > --Tim
>>
>>