view src/SbpOperators/volumeops/inference_trouble.txt @ 1207:f1c2a4fa0ee1 performance/get_region_type_inference

Merge default
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 03 Feb 2023 22:14:47 +0100
parents b41180efb6c2
children
line wrap: on
line source

Innan ändringarna på den här branchen:

begin
    using Sbplib
    using Sbplib.Grids
    using Sbplib.SbpOperators

    g = EquidistantGrid((10,10),(0.,0.), (1.,1.))
    v = evalOn(g, (x,y)->x^2+y^2+1)
    H = inner_product(g, 1., [1/2])
end

# Not type stable
LazyTensors.apply(H.t1, H.t2*v, 1,2) 
@code_warntype LazyTensors.apply(H.t1, H.t2*v, 1,2)
@code_warntype LazyTensors.apply(H.t1.tm, view(H.t2*v,:,1), 2)

# Nedan är halvdåliga
@code_warntype LazyTensors.apply(H.t1.tm, view(H.t2*v,1,:), 2)
@code_warntype LazyTensors.apply(H.t1.tm, view(v,1,:), 2)
@code_warntype LazyTensors.apply(H.t1.tm, view(v,:,1), 2)
@code_warntype LazyTensors.apply(H.t1.tm, v[:,1], 2)









begin
    using Sbplib
    using Sbplib.Grids
    using Sbplib.SbpOperators
    import Sbplib.SbpOperators: Stencil
    using Sbplib.RegionIndices

    g = EquidistantGrid(10,0., 1.)
    v = evalOn(g, (x)->x^2+1)
    H = inner_product(g, 1., [1/2])
    V = SbpOperators.VolumeOperator(g, Stencil(1.,center=1), (Stencil(1/2,center=1),), SbpOperators.even)
    b = SbpOperators.BoundaryOperator(g, Stencil(1/2,center=1), Lower())
end

@code_warntype LazyTensors.apply(H, H*v, 2)
@code_warntype LazyTensors.apply(V, V*v, 2)