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