for documentation, see

http://docs.julialang.org/en/release-0.4/manual/documentation/#functions-methods

so, you could put that last sentence of your documentation above the
array implementation, and in single double quotes. When someone uses
?calcWindAtHeight in REPL, both documentation texts will be displayed
one after another

note that you mixed up the words "function" and "method" in your email;
a method is a specific implementation for a type, and a function is the
entirety of all its methods. so in your example you have a function
"calcWindAtHeight", which has two methods.

Am 28.02.2016 um 21:12 schrieb Uwe Fechner:
> Thank's a lot!
> 
> My code looks now like this:
> 
> const Z_REF = 10.0    # reference height for wind profile law
> const ALPHA = 0.23375 # exponent of the wind profile law for Cabauw
> 
> """
> calcWindAtHeight(v_wind_gnd, z)
> 
> Calculate the average wind speed for the given ground wind speed
> `v_wind_gnd` at a given height `z`.
> The ground wind speed is measured at the height `Z_REF`, a constant,
> that must have been defined
> before. The exponential wind profile law is used in combination with the
> exponent `ALPHA`, that must
> have been defined before, too. If `z` is an array, the method will
> return an array.
> """
> function calcWindAtHeight(v_wind_gnd, z::AbstractFloat)
>     v_wind_gnd * (z / Z_REF)^ALPHA
> end
> 
> function calcWindAtHeight(v_wind_gnd, Z::AbstractArray)
>     [calcWindAtHeight(v_wind_gnd, z) for z in Z]
> end
> 
> I tried to write the comment only once, now. Is this the correct way to
> document
> a method with two functions?
> 
> Uwe
> 
> On Sunday, February 28, 2016 at 8:56:57 PM UTC+1, FQ wrote:
> 
>     you can get the vectorized version in one line using a comprehension:
> 
>     calcWindAtHeight(v_wind_gnd, Z::AbstractArray) =
>     [calcWindAtHeight(v_wind_gnd,z) for z in Z]
> 
>     i did a quick test and it seems to be about the same speed/slightly
>     faster than your version.
> 
>     you could also use map and a lambda function:
>     calcWindAtHeight(v_wind_gnd, Z::AbstractArray) =
>     map((z)->calcWindAtHeight(v_wind_gnd,z),Z)
> 
>     this seems to be significantly slower though, so i'd recommend the
>     comprehension.
> 
>     PS: if you do want to do speed tests, you can use the @time macro, just
>     put it in front of your function call
> 

Reply via email to