never executed always true always false
1 {-# LANGUAGE GADTs #-}
2 {-# LANGUAGE NoMonomorphismRestriction #-}
3
4 {-# OPTIONS -fno-warn-orphans #-}
5
6 {- |
7 Module : NITTA.Synthesis.Steps.OptimizeAccum
8 Description :
9 Copyright : (c) Aleksandr Penskoi, 2021
10 License : BSD3
11 Maintainer : aleksandr.penskoi@gmail.com
12 Stability : experimental
13 -}
14 module NITTA.Synthesis.Steps.OptimizeAccum (
15 OptimizeAccumMetrics (..),
16 ) where
17
18 import Data.Aeson (ToJSON)
19 import GHC.Generics
20 import NITTA.Model.Networks.Bus
21 import NITTA.Model.Problems.Refactor
22 import NITTA.Model.ProcessorUnits.Types
23 import NITTA.Model.TargetSystem
24 import NITTA.Model.Time
25 import NITTA.Synthesis.Types
26
27 data OptimizeAccumMetrics = OptimizeAccumMetrics
28 deriving (Generic)
29
30 instance ToJSON OptimizeAccumMetrics
31
32 instance
33 (UnitTag tag, VarValTime v x t) =>
34 SynthesisDecisionCls
35 (SynthesisState (TargetSystem (BusNetwork tag v x t) tag v x t) tag v x t)
36 (TargetSystem (BusNetwork tag v x t) tag v x t)
37 (OptimizeAccum v x)
38 (OptimizeAccum v x)
39 OptimizeAccumMetrics
40 where
41 decisions SynthesisState{sTarget} o = [(o, optimizeAccumDecision sTarget o)]
42
43 parameters SynthesisState{} OptimizeAccum{} _ = OptimizeAccumMetrics
44
45 estimate _ctx _o _d OptimizeAccumMetrics = 5000