src/Util.jl

changeset 19
63849571a046
parent 18
0253c5881812
child 28
ffd693c381f2
equal deleted inserted replaced
18:0253c5881812 19:63849571a046
10 # Our exports 10 # Our exports
11 ############## 11 ##############
12 12
13 export map_first_slice!, 13 export map_first_slice!,
14 reduce_first_slice, 14 reduce_first_slice,
15 norm₁,
15 norm₂, 16 norm₂,
16 γnorm₂, 17 γnorm₂,
17 norm₂w, 18 norm₂w,
18 norm₂², 19 norm₂²,
19 norm₂w², 20 norm₂w²,
133 134
134 @inline function norm₂(y) 135 @inline function norm₂(y)
135 return √(norm₂²(y)) 136 return √(norm₂²(y))
136 end 137 end
137 138
139 @inline function norm₁(y)
140 accum=0
141 for i=1:length(y)
142 @inbounds accum=accum+abs(y[i])
143 end
144 return accum
145 end
146
138 @inline function γnorm₂(y, γ) 147 @inline function γnorm₂(y, γ)
139 hubersq = xsq -> begin 148 hubersq = xsq -> begin
140 x=√xsq 149 x=√xsq
141 return if x > γ 150 return if x > γ
142 x-γ/2 151 x-γ/2

mercurial