module CacheSim.Update exposing (..) import CacheSim.Model exposing (..) import CacheSim.Raw exposing (..) import CacheSim.IntMap exposing (..) updateChangeRawModel : Int -> (RawCacheModel -> RawCacheModel) -> Model -> (Model, Cmd Msg) updateChangeRawModel l f m = let newModel = { m | rawHierarchy = intMapUpdate l f m.rawHierarchy } cmd = Cmd.none in (newModel, cmd) updateCreateRawModel : Model -> (Model, Cmd Msg) updateCreateRawModel m = let freshRawModel = { blockSize = "", setCount = "", setSize = "" } newModel = { m | rawHierarchy = m.rawHierarchy ++ [ freshRawModel ] } cmd = Cmd.none in (newModel, cmd) updateDeleteRawModel : Int -> Model -> (Model, Cmd Msg) updateDeleteRawModel l m = let newModel = { m | rawHierarchy = intMapDelete l m.rawHierarchy } cmd = Cmd.none in (newModel, cmd)