@@ -278,21 +278,21 @@ function Base.show(io::IO, kernel::WendlandKernel{Dim}) where {Dim}
278278 kernel. shape_parameter, " , d = " , kernel. d, " )" )
279279end
280280
281- function phi (kernel:: WendlandKernel , r:: Real )
281+ function phi (kernel:: WendlandKernel , r:: RealT ) where {RealT <: Real }
282282 a_r = kernel. shape_parameter * r
283283 if a_r >= 1
284- return 0.0
284+ return RealT ( 0.0 )
285285 end
286- l = floor (kernel. d / 2 ) + kernel. k + 1
286+ l = floor (Int, kernel. d / 2 ) + kernel. k + 1
287287 if kernel. k == 0
288288 return (1 - a_r)^ l
289289 elseif kernel. k == 1
290290 return (1 - a_r)^ (l + 1 ) * ((l + 1 ) * a_r + 1 )
291291 elseif kernel. k == 2
292- return 1 / 3 * (1 - a_r)^ (l + 2 ) *
292+ return 1 // 3 * (1 - a_r)^ (l + 2 ) *
293293 ((l^ 2 + 4 * l + 3 ) * a_r^ 2 + (3 * l + 6 ) * a_r + 3 )
294294 elseif kernel. k == 3
295- return 1 / 15 * (1 - a_r)^ (l + 3 ) *
295+ return 1 // 15 * (1 - a_r)^ (l + 3 ) *
296296 ((l^ 3 + 9 * l^ 2 + 23 * l + 15 ) * a_r^ 3 + (6 * l^ 2 + 36 * l + 45 ) * a_r^ 2 +
297297 (15 * l + 45 ) * a_r + 15 )
298298 end
@@ -346,10 +346,10 @@ function Base.show(io::IO, kernel::WuKernel{Dim}) where {Dim}
346346 " , shape_parameter = " , kernel. shape_parameter, " )" )
347347end
348348
349- function phi (kernel:: WuKernel , r:: Real )
349+ function phi (kernel:: WuKernel , r:: RealT ) where {RealT <: Real }
350350 a_r = kernel. shape_parameter * r
351351 if a_r >= 1
352- return 0.0
352+ return RealT ( 0.0 )
353353 end
354354 if kernel. l == 0
355355 # k = 0
@@ -358,29 +358,29 @@ function phi(kernel::WuKernel, r::Real)
358358 if kernel. k == 0
359359 return (1 - a_r)^ 3 * (a_r^ 2 + 3 * a_r + 1 )
360360 elseif kernel. k == 1
361- return 1 / 2 * (1 - a_r)^ 2 * (a_r + 2 )
361+ return 1 // 2 * (1 - a_r)^ 2 * (a_r + 2 )
362362 end
363363 elseif kernel. l == 2
364364 if kernel. k == 0
365365 return (1 - a_r)^ 5 * (a_r^ 4 + 5 * a_r^ 3 + 9 * a_r^ 2 + 5 * a_r + 1 )
366366 elseif kernel. k == 1
367- return 1 / 4 * (1 - a_r)^ 4 * (3 * a_r^ 3 + 12 * a_r^ 2 + 16 * a_r + 4 )
367+ return 1 // 4 * (1 - a_r)^ 4 * (3 * a_r^ 3 + 12 * a_r^ 2 + 16 * a_r + 4 )
368368 elseif kernel. k == 2
369- return 1 / 8 * (1 - a_r)^ 3 * (3 * a_r^ 2 + 9 * a_r + 8 )
369+ return 1 // 8 * (1 - a_r)^ 3 * (3 * a_r^ 2 + 9 * a_r + 8 )
370370 end
371371 elseif kernel. l == 3
372372 if kernel. k == 0
373- return 1 / 5 * (1 - a_r)^ 7 *
373+ return 1 // 5 * (1 - a_r)^ 7 *
374374 (5 * a_r^ 6 + 35 * a_r^ 5 + 101 * a_r^ 4 + 147 * a_r^ 3 + 101 * a_r^ 2 +
375375 35 * a_r + 5 )
376376 elseif kernel. k == 1
377- return 1 / 6 * (1 - a_r)^ 6 *
377+ return 1 // 6 * (1 - a_r)^ 6 *
378378 (5 * a_r^ 5 + 30 * a_r^ 4 + 72 * a_r^ 3 + 82 * a_r^ 2 + 36 * a_r + 6 )
379379 elseif kernel. k == 2
380- return 1 / 8 * (1 - a_r)^ 5 *
380+ return 1 // 8 * (1 - a_r)^ 5 *
381381 (5 * a_r^ 4 + 25 * a_r^ 3 + 48 * a_r^ 2 + 40 * a_r + 8 )
382382 elseif kernel. k == 3
383- return 1 / 16 * (1 - a_r)^ 4 * (5 * a_r^ 3 + 20 * a_r^ 2 + 29 * a_r + 16 )
383+ return 1 // 16 * (1 - a_r)^ 4 * (5 * a_r^ 3 + 20 * a_r^ 2 + 29 * a_r + 16 )
384384 end
385385 end
386386end
@@ -544,8 +544,8 @@ function Base.show(io::IO, kernel::Matern32Kernel{Dim}) where {Dim}
544544 kernel. shape_parameter, " )" )
545545end
546546
547- function phi (kernel:: Matern32Kernel , r:: Real )
548- y = sqrt (3 ) * kernel. shape_parameter * r
547+ function phi (kernel:: Matern32Kernel , r:: RealT ) where {RealT <: Real }
548+ y = RealT ( sqrt (3 ) ) * kernel. shape_parameter * r
549549 return (1 + y) * exp (- y)
550550end
551551order (:: Matern32Kernel ) = 0
@@ -580,9 +580,9 @@ function Base.show(io::IO, kernel::Matern52Kernel{Dim}) where {Dim}
580580 print (io, " Matern52Kernel{" , Dim, " }(shape_parameter = " , kernel. shape_parameter, " )" )
581581end
582582
583- function phi (kernel:: Matern52Kernel , r:: Real )
584- y = sqrt (5 ) * kernel. shape_parameter * r
585- return 1 / 3 * (3 + 3 * y + y^ 2 ) * exp (- y)
583+ function phi (kernel:: Matern52Kernel , r:: RealT ) where {RealT <: Real }
584+ y = RealT ( sqrt (5 ) ) * kernel. shape_parameter * r
585+ return 1 // 3 * (3 + 3 * y + y^ 2 ) * exp (- y)
586586end
587587order (:: Matern52Kernel ) = 0
588588
@@ -616,8 +616,8 @@ function Base.show(io::IO, kernel::Matern72Kernel{Dim}) where {Dim}
616616 print (io, " Matern72Kernel{" , Dim, " }(shape_parameter = " , kernel. shape_parameter, " )" )
617617end
618618
619- function phi (kernel:: Matern72Kernel , r:: Real )
620- y = sqrt (7 ) * kernel. shape_parameter * r
619+ function phi (kernel:: Matern72Kernel , r:: RealT ) where {RealT <: Real }
620+ y = RealT ( sqrt (7 ) ) * kernel. shape_parameter * r
621621 return (1 + y + 6 * y^ 2 / 15 + y^ 3 / 15 ) * exp (- y)
622622end
623623order (:: Matern72Kernel ) = 0
0 commit comments