From bf8e4cf03038a3d9052a85ad8a185d7d1d99a55f Mon Sep 17 00:00:00 2001 From: ovainola Date: Thu, 25 Jun 2015 19:13:28 +0300 Subject: [PATCH] Added type template to interpolate function and added test for interpolate --- src/elasticity_solver.jl | 4 ++-- test/test_elasticity_solver.jl | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/elasticity_solver.jl b/src/elasticity_solver.jl index f9a429b..8d277a3 100644 --- a/src/elasticity_solver.jl +++ b/src/elasticity_solver.jl @@ -25,11 +25,11 @@ basis :: Function ip :: Array{Number, 1} Point to interpolate """ -> -function interpolate(field::Array{Float64,1}, basis::Function, ip) +function interpolate{T<:Real}(field::Array{T,1}, basis::Function, ip) result = dot(field, basis(ip)) return result end -function interpolate(field::Array{Float64,2}, basis::Function, ip) +function interpolate{T<:Real}(field::Array{T,2}, basis::Function, ip) m, n = size(field) bip = basis(ip) tmp = size(bip) diff --git a/test/test_elasticity_solver.jl b/test/test_elasticity_solver.jl index cc29d23..e51d306 100644 --- a/test/test_elasticity_solver.jl +++ b/test/test_elasticity_solver.jl @@ -154,6 +154,7 @@ facts("test interpolation of different field variables") do F3 = F2' F4 = [0.0 0.0; 10.0 0.0; 10.0 1.0; 0.0 1.0]' F5 = F4' + F6 = [36, 36, 36, 36] @fact interpolate(F1, N, [0.0, 0.0]) => 36.0 @fact interpolate(F2, N, [0.0, 0.0]) => 36.0