CacheSim/src/CacheSim/Update.elm

30 lines
908 B
Elm
Raw Normal View History

2019-05-28 19:37:22 -07:00
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 }
2019-05-28 19:37:22 -07:00
cmd = Cmd.none
in
(newModel, cmd)
updateCreateRawModel : Model -> (Model, Cmd Msg)
updateCreateRawModel m =
let
freshRawModel = { blockSize = "", setCount = "", setSize = "" }
newModel = { m | rawHierarchy = m.rawHierarchy ++ [ freshRawModel ] }
2019-05-28 19:37:22 -07:00
cmd = Cmd.none
in
(newModel, cmd)
updateDeleteRawModel : Int -> Model -> (Model, Cmd Msg)
updateDeleteRawModel l m =
let
newModel = { m | rawHierarchy = intMapDelete l m.rawHierarchy }
2019-05-28 19:37:22 -07:00
cmd = Cmd.none
in
(newModel, cmd)