File: Tuples.hs

package info (click to toggle)
haskell-sbv 10.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,148 kB
  • sloc: haskell: 31,176; makefile: 4
file content (37 lines) | stat: -rw-r--r-- 970 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
-----------------------------------------------------------------------------
-- |
-- Module    : TestSuite.Optimization.Tuples
-- Copyright : (c) Levent Erkok
-- License   : BSD3
-- Maintainer: erkokl@gmail.com
-- Stability : experimental
--
-- Test suite for optimization routines, tuples
-----------------------------------------------------------------------------

{-# LANGUAGE ScopedTypeVariables  #-}

{-# OPTIONS_GHC -Wall -Werror #-}

module TestSuite.Optimization.Tuples (tests) where

import Data.SBV.Tuple
import Utils.SBVTestFramework

-- Test suite
tests :: TestTree
tests =
  testGroup "Optimization.Tuples"
    [ goldenVsStringShow "optTuple1" $ optimize Lexicographic t1
    ]

t1 :: ConstraintSet
t1 = do p :: STuple Integer Integer <- sTuple "p"

        constrain $ (p^._1) `inRange` (0, 100)
        constrain $ (p^._2) `inRange` (0, 100)

        constrain $ p^._1 - p^._2 .< 10
        constrain $ p^._1 + p^._2 .== 80

        maximize "max-p" p