packages feed

tree-edit-distance-0.1.0.0: app/Main.hs

module Main (main, zhangShasha, sArray, testGraph0, testGraph1, testGraph2, testGraph3) where

import TreeEditDistance
import Data.Array

main :: IO ()
main = do putStrLn ("testGraph0 testGraph1" ++ show (zhangShasha testGraph0 testGraph1))
          putStrLn ("testGraph1 testGraph2" ++ show (zhangShasha testGraph1 testGraph2))

------------------------------------------------------------------------------------------------

sArray :: [Int] -> [Int] -> (Array (Int, Int) Int, Int, Int, [Int])
sArray l0 l1 = (listArray ((0,0),(length l0, length l1)) (take (((length l0)+1) * ((length l1)+1)) (repeat 0)),
               (length l0)+1,
               (length l1)+1,
               take (((length l0)+1) * ((length l1)+1)) (repeat 0))

--labels = Map.fromList []

testGraph0 :: AGraph
testGraph0 = fromAdj (extractNodes gr) gr
  where
    gr =
      [ (0, [1,2], dEdge),
        (1, [3,4], dEdge),
        (4, [5], dEdge)
      ]

testGraph1 :: AGraph
testGraph1 = fromAdj (extractNodes gr) gr
  where
    gr =
      [ (0, [1,2], dEdge),
        (1, [3], dEdge),
        (3, [4,5], dEdge)
      ]

testGraph2 :: AGraph
testGraph2 = fromAdj (extractNodes gr) gr
  where
    gr =
      [ (0, [1,2], dEdge),
        (1, [3,4,5], dEdge)
      ]

testGraph3 :: AGraph
testGraph3 = fromAdj (extractNodes gr) gr
  where
    gr =
      [ (0, [1,2], dEdge),
        (1, [3,4], dEdge),
        (4, [5], dEdge),
        (2, [6], dEdge),
        (6, [7,8], dEdge),
        (8, [9,10], dEdge)
      ]