HsASA-0.1: Main.hs
import Optimize.ASA
import Optimize.Parameter
import Random
f :: (Bool,(Double,Double)) -> Double
f (tf,(x,y)) = if tf then x*x + y*y else x + x*x - log y
g :: Either (Int,Int) Int -> Double
g (Left (x,y)) = realToFrac $ x * y
g (Right r) = pi*(realToFrac r)^2
main = do
v1 <- minimize (empty,(limit (-10) 3, limit 4 7)) f
v2 <- minimize (empty,(limit (-10) 3, limit 4 7)) (negate . f)
v3 <- minimize ((limit 10 100,limit 3 1000), limit 4 1000) g
v4 <- minimize ((limit 10 100,limit 3 1000), limit 4 1000) (negate . g)
print v1
print v2
print v3
print v4