packages feed

fregel-1.2.0: sample-programs/sssp2.fgl

data SSSP = SSSP { dist :: Int, modified :: Bool} deriving (Eq, Show)
sssp2 g = 
  let step v prev curr = let d = prev v .^ dist `min` minimum [ prev u .^ dist + e | (e, u) <- is v, prev u .^ modified] ;
                             m = prev v .^ dist != d
                         in SSSP d m  ;
      init v = SSSP (if vid v == 1 then 0 else 1000000) (vid v == 1) 
  in fregel init step Fix g