From a6f40a55e2a3d088b1ccb384187ac020eaf814f0 Mon Sep 17 00:00:00 2001 From: rrt Date: Thu, 17 Aug 2000 11:36:47 +0000 Subject: [PATCH] [project @ 2000-08-17 11:36:47 by rrt] This test used a library module that no longer exists (Printf). --- ghc/tests/programs/waugh_neural/BpGen.lhs | 198 --- ghc/tests/programs/waugh_neural/MAIL | 47 - ghc/tests/programs/waugh_neural/Main.lhs | 163 --- ghc/tests/programs/waugh_neural/Makefile | 9 - ghc/tests/programs/waugh_neural/ReadLists.lhs | 43 - .../programs/waugh_neural/waugh_neural.stdout | 1379 -------------------- ghc/tests/programs/waugh_neural/xor | 4 - 7 files changed, 1843 deletions(-) delete mode 100644 ghc/tests/programs/waugh_neural/BpGen.lhs delete mode 100644 ghc/tests/programs/waugh_neural/MAIL delete mode 100644 ghc/tests/programs/waugh_neural/Main.lhs delete mode 100644 ghc/tests/programs/waugh_neural/Makefile delete mode 100644 ghc/tests/programs/waugh_neural/ReadLists.lhs delete mode 100644 ghc/tests/programs/waugh_neural/waugh_neural.stdout delete mode 100644 ghc/tests/programs/waugh_neural/xor diff --git a/ghc/tests/programs/waugh_neural/BpGen.lhs b/ghc/tests/programs/waugh_neural/BpGen.lhs deleted file mode 100644 index edba27a..0000000 --- a/ghc/tests/programs/waugh_neural/BpGen.lhs +++ /dev/null @@ -1,198 +0,0 @@ -BpGen.hs -Written by Sam Waugh -Date started : 9th November 1992 - -This module implements backprop using pattern presentation style, -allowing for a general number of layers. No sigmoid on last layer. -+ 0.1 to sigmoid derivative. It does not implement momentum. - -Need to use modules for matrix and vector operations. - -> module BpGen {-partain:(Dimensions(..), -> Layer(..), Layers(..), -> Eg(..), Egs(..), -> Weight(..), Weights(..), -> maxplace, classeg, calcerror, selectegs, -> trainweights, randweights)-} where - -> import {-fool mkdependHS-} -> Random -> import List(transpose) -> infixl 7 $$ - -> randomInts :: a -> Int -> [Int] -> randomInts _ l = randoms (mkStdGen l) -> randomDoubles :: a -> Int -> [Double] -> randomDoubles _ l = randoms (mkStdGen l) - -------------------------------------------------------------------------------- -| Data Types | -------------------------------------------------------------------------------- - -> type Dimensions = [Int] -- for network topology -> type Layer = [Double] -- vector for layers (incl. input and output) -> type Layers = [Layer] -> type Weight = [[Double]] -- connections between layers -> type Weights = [Weight] -> type Eg = (Layer,Layer) -- attributes and classes -> type Egs = [Eg] - - -------------------------------------------------------------------------------- -| Utility functions | -------------------------------------------------------------------------------- - -Maxplace finds the position of the maximum element in a list. -sublist subtracts two vectors, $$ performs across vector multiplication -weivecmult multiplies a matrix and a vector -classeg takes the weights of a network and an input vector, and produces -a list of the Layers of the network after classification -calcerror calculates the root mean squared error of the data set -Also implemented sqr and sig (Sigmoid function). - -> maxplace :: (Ord a) => [a] -> Int -> maxplace xs = length (takeWhile (/=(maximum xs)) xs) - -> sqr :: (Num a) => a -> a -> sqr x = x * x - -> sig :: (Floating a) => a -> a -> sig x = 1.0 / (1.0 + exp (negate x)) - -> sublist, ($$) :: (Num a) => [a] -> [a] -> [a] -> sublist = zipWith (-) -> ($$) = zipWith (*) - -> weivecmult :: Weight -> Layer -> Layer -> weivecmult w v = [sum (wi $$ v) | wi <- w] - - -> classeg :: Weights -> Layer -> Layers -> classeg [] y = [y] -> classeg (w:ws) l -> = let l' = if null ws then weivecmult w templ -> else map sig (weivecmult w templ) -> templ = if null ws then l -> else 1.0 : l -> in templ : (classeg ws l') - - - -> calcerror :: Weights -> Egs -> Double -> calcerror ws egs = sqrt (calcerror1 ws egs) - -> calcerror1 :: Weights -> Egs -> Double -> calcerror1 _ [] = 0.0 -> calcerror1 ws ((x,t):egs) -> = (sum.(map sqr).(sublist t).last) (classeg ws x) -> + calcerror1 ws egs - - -------------------------------------------------------------------------------- -| Network Training Functions | -------------------------------------------------------------------------------- - -selectegs produces a list of random numbers corresponding to the examples -to be selected during training. (It takes the range of the examples) - -> selectegs :: Int -> [Int] -> selectegs n = map (`rem` n) (randomInts n n) - - -trainweights calls trainepoch to iteratively train the network. It -also checks the error at the end of each call to see if it has fallen to -a reasonable level. - -> trainweights :: Egs -> Weights -> Int -> Double -> Double -> -> [Int] -> (Weights, [Double]) -> trainweights _ ws 0 _ _ _ = (ws, []) -> --should be:trainweights egs ws (eps+1) err eta rs -> trainweights egs ws eps err eta rs -> | eps < 0 = error "BpGen.trainweights" -> | otherwise -> = let (ws',rs') = trainepoch egs ws (length egs) eta rs -> newerr = calcerror ws' egs -> (ws'', errs) = trainweights egs ws' (eps-1) err eta rs' -> in if newerr < err then (ws', [newerr]) -> else (ws'', newerr:errs) - - -trainepoch iteratively calls classeg and backprop to train the network, -as well as selecting an example. - -> trainepoch :: Egs -> Weights -> Int -> Double -> [Int] -> (Weights, [Int]) -> trainepoch _ ws 0 _ rs = (ws,rs) -> --should be: trainepoch egs ws (egno+1) eta (r:rs) -> trainepoch egs ws egno eta (r:rs) -> | egno < 0 = error "BpGen.trainepoch" -> | otherwise -> = let (x,t) = egs !! r -> ws' = backprop eta (classeg ws x) ws t -> in trainepoch egs ws' (egno-1) eta rs - - -backprop causes weight changes after calculating the change - -> backprop :: Double -> Layers -> Weights -> Layer -> Weights -> backprop eta (o:os) (w:ws) t -> = changeweights eta (o:os) (calcchange os ws t) (w:ws) - - -calcchange calculates the changes to the weights - -> calcchange :: Layers -> Weights -> Layer -> Layers -> calcchange [o] [] t = [sublist t o] -> calcchange (o:os) (w:ws) t -> = (sigop o (weivecmult (transpose w) (head ds))) : ds -> where ds = calcchange os ws t - - -sigop performs the calculations involving the derivative of the sigmoid. -This uses a constant to eliminate flat spots [Fahlman, 1988] - -> sigop :: Layer -> Layer -> Layer -> sigop out change -> = let sig' x = x * (1.0 - x) + 0.1 -> in (map sig' out) $$ change - - -changeweights makes the actual changes to weights - -> changeweights :: Double -> Layers -> Layers -> Weights -> Weights -> changeweights eta os ds ws -> = [[[wji + eta * dj * oi | (oi,wji) <- zip o wj] -> | (dj,wj) <- zip d w] -> | (w,d,o) <- zip3 ws ds os] - - -------------------------------------------------------------------------------- -| Weight Manipulation | -------------------------------------------------------------------------------- - -randweights generates random weights in the range -1.0 to +1.0 - -> randweights :: Dimensions -> Weights -> randweights dimensions -> = genweights dimensions (map (\x -> 2.0 * x - 1.0) (randomDoubles 1 1)) - - -Generates weights, taking the values from the list of Doubles. -The weight sizes are taken from the list of dimensions. - -> genweights :: Dimensions -> [Double] -> Weights -> genweights [x] _ = [] -> genweights (x:y:dimensions) rs -> = let (w, rs') = if null dimensions then multSplitAt x y rs -> else multSplitAt (x+1) y rs -> in w : (genweights (y:dimensions) rs') - - -> multSplitAt :: Int -> Int -> [a] -> ([[a]],[a]) -> multSplitAt inner 0 xs = ([], xs) -> --should be:multSplitAt inner (outer + 1) xs -> multSplitAt inner outer xs -> | outer < 0 = error "BpGen.multSplitAt" -> | otherwise -> = let (l, xs') = splitAt inner xs -> (ls, xs'') = multSplitAt inner (outer-1) xs' -> in (l:ls, xs'') diff --git a/ghc/tests/programs/waugh_neural/MAIL b/ghc/tests/programs/waugh_neural/MAIL deleted file mode 100644 index 9f0fc17..0000000 --- a/ghc/tests/programs/waugh_neural/MAIL +++ /dev/null @@ -1,47 +0,0 @@ -From: waugh@probitas.cs.utas.edu.au (Sam Waugh) -Message-Id: <9410100613.AA68794@probitas.cs.utas.edu.au> -Subject: "Bug" in 0.22 -- order of magnitude slower than hbc -To: glasgow-haskell-bugs@dcs.gla.ac.uk -Date: Mon, 10 Oct 1994 17:13:41 +1000 (EETDT) - -Hi. - -I've come up with what you might consider to be a bug with ghc-0.22 (unless -I've done something obviously wrong). I wrote some code to perform a simple -backpropagation neural network simulator (just to see how it would go), and -I have just recompiled it using hbc version 0.999.4. The ghc executable was -much slower -- even when "optimised". - -I've included at the bottom of this message a uuencoded gzipped tar file -(took a while to make) which includes the following documents: - - *.lhs -- actual code - makefile -- makefile for ghc (hbc was compiled by producing - object files and linking them together. The - optimised hbc code used -O. The optimised - ghc code was generated with the extra options - in the makefile). - temp -- machine and gcc compiler details. - compile -- standard ghc compilation with -v - out.0.22 -- output from all trials - err.* -- the timings of the different trials (ignore the - .2 on the .999.4.2 files -- it was a second - try). - -Hopefully that is all the files I've included and all the files you need. -Let me know if you have any problems. - -On a final note -- when compiling using all the optimisations for ghc there -were an awful lot of warnings. Is there anyway you can get rid of these -(like by fixing the problems)? It might be obscuring something important. - -Thanks for your time. - -Sam. --- -Sam Waugh Phone: +61 02 202962 -Department of Computer Science Fax: +61 02 202913 -University of Tasmania Email: waugh@cs.utas.edu.au -GPO Box 252C, Hobart Tasmania 7001, Australia - -[snip snip] diff --git a/ghc/tests/programs/waugh_neural/Main.lhs b/ghc/tests/programs/waugh_neural/Main.lhs deleted file mode 100644 index 7776183..0000000 --- a/ghc/tests/programs/waugh_neural/Main.lhs +++ /dev/null @@ -1,163 +0,0 @@ -Main.hs for backprop simulation -Written by Sam Waugh -Date started: 10th November 1992. - -This main module initialises, runs and gets results from the -backpropagation functions and values. - -> import BpGen -> import ReadLists (readWhiteList) -> import Numeric(showFFloat) - -------------------------------------------------------------------------------- -| Constant Values | -------------------------------------------------------------------------------- -The following constants set the training problem and parameters: - name - the name of the file - dimensions - the layered network topology - eta - the learning rate - accepterr - the level of error acceptable to stop training - epochs - the maximum number of epochs in training - -> name :: String -> name = "xor" -> dimensions :: Dimensions -> dimensions = [2,2,1] -> eta,accepterr :: Double -> eta = 1.0 -> accepterr = 0.001 -> epochs :: Int -> epochs = 10000 - - -------------------------------------------------------------------------------- -| IO and Main Program | -------------------------------------------------------------------------------- - -> main = do -> s <- readFile name -> putStr (program s "") - -> program :: String -> ShowS -> program s -> = let egs = readegs s -> ws = randweights dimensions -> rs = selectegs (length egs) -> (ws',res) = trainweights egs ws epochs accepterr eta rs -> in -> showString "Examples:\n" -> . showegs egs -> . showString "Classification:\n" -> . showresults egs ws -> . showString "Training Error:\n" -> . showerr res -> . showString "Trained Classification:\n" -> . showresults egs ws' - -> {- ORIG: -> program :: String -> String -> program s -> = _scc_ "program" ( -> let egs = _scc_ "readegs" readegs s -> ws = _scc_ "randweights" randweights dimensions -> rs = _scc_ "selectegs" selectegs (length egs) -> (ws',res) = _scc_ "trainweights" trainweights egs ws epochs accepterr eta rs -> in "Examples:\n" -> ++ _scc_ "showegs" showegs egs -> ++ "Classification:\n" -> ++ _scc_ "showresults" showresults egs ws -> ++ "Training Error:\n" -> ++ _scc_ "showerr" showerr res -> ++ "Trained Classification:\n" -> ++ _scc_ "showresults2" showresults egs ws' -> ) -> -} - -------------------------------------------------------------------------------- -| Show Functions | -------------------------------------------------------------------------------- - -> showdouble :: Double -> ShowS -> showdouble = showFFloat (Just 4) - -> showdoubles :: [Double] -> ShowS -> showdoubles [] = showString "" -> showdoubles (v:vs) = showdouble v . showdoubles vs - -> showegs :: Egs -> ShowS -> showegs [] = showString "\n" -> showegs ((x,t):egs) -> = showdoubles x . showString " " . showdoubles t . showString "\n" . showegs egs - -> showresults :: Egs -> Weights -> ShowS -> showresults [] _ = showString "\n" -> showresults ((x,t):egs) ws -> = let y = last (classeg ws x) -> p = maxplace y -> c = maxplace t -> in shows p . showString " " . showdouble (y!!p) . showString " " . -> shows c . showString " " . showdouble (t!!c) . showString "\n" . showresults egs ws - -> showerr :: [Double] -> ShowS -> showerr [] = showString "" -> showerr (x:xs) = showerr xs . showdouble x . showString "\n" - -> showweights :: Weights -> ShowS -> showweights [] = showString "\n" -> showweights (w:ws) = showweight w . showweights ws - -> showweight, showl :: Weight -> ShowS -> showweight [] = showString "[]\n" -> showweight (x:xs) = showString "[" . showdoubles x . showl xs - -> showl [] = showString "]\n" -> showl (x:xs) = showString "\n " . showdoubles x . showl xs - -> {- ORIG: -> showdouble :: Double -> String -> showdouble v = printf "%6.4f " [UDouble v] - -> showdoubles :: [Double] -> String -> showdoubles [] = "" -> showdoubles (v:vs) = showdouble v ++ showdoubles vs - -> showegs :: Egs -> String -> showegs [] = "\n" -> showegs ((x,t):egs) -> = (showdoubles x) ++ " " ++ (showdoubles t) ++ "\n" ++ showegs egs - -> showresults :: Egs -> Weights -> String -> showresults [] _ = "\n" -> showresults ((x,t):egs) ws -> = let y = last (classeg ws x) -> p = maxplace y -> c = maxplace t -> in show p ++ " " ++ showdouble (y!!p) ++ " " ++ -> show c ++ " " ++ showdouble (t!!c) ++ "\n" ++ showresults egs ws - -> showerr :: [Double] -> String -> showerr [] = "" -> showerr (x:xs) = showerr xs ++ showdouble x ++ "\n" - -> showweights :: Weights -> String -> showweights [] = "\n" -> showweights (w:ws) = showweight w ++ showweights ws -> showweight, showl :: Weight -> String -> showweight [] = "[]\n" -> showweight (x:xs) = "[" ++ showdoubles x ++ showl xs -> showl [] = "]\n" -> showl (x:xs) = "\n " ++ showdoubles x ++ showl xs -> -} - -------------------------------------------------------------------------------- -| Data Reading Functions | -------------------------------------------------------------------------------- - -> readegs :: String -> Egs -> readegs s = readData (readWhiteList s) - -> readData :: [Double] -> Egs -> readData [] = [] -> readData bs = let (inp, bs') = splitAt (head dimensions) bs -> (out, bs'') = splitAt (last dimensions) bs' -> in (inp,out) : (readData bs'') diff --git a/ghc/tests/programs/waugh_neural/Makefile b/ghc/tests/programs/waugh_neural/Makefile deleted file mode 100644 index 89ba1f9..0000000 --- a/ghc/tests/programs/waugh_neural/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -TOP = .. -include $(TOP)/mk/boilerplate.mk - -SRC_HC_OPTS += -package lang - -all :: runtest - -include $(TOP)/mk/target.mk - diff --git a/ghc/tests/programs/waugh_neural/ReadLists.lhs b/ghc/tests/programs/waugh_neural/ReadLists.lhs deleted file mode 100644 index 5303e7a..0000000 --- a/ghc/tests/programs/waugh_neural/ReadLists.lhs +++ /dev/null @@ -1,43 +0,0 @@ -ReadLists -Written by Sam Waugh -Date Started : 10th September 1992 -Last Modified: 10th November 1992 - -This module allows the reading of lists of values from a string -of the one type seperated by white space. - -Thanks to Paul Hudak for suggestions concerning getVals. - -> module ReadLists (readWhiteList, readNumBools) where - - -readWhiteList reads a white-spaced list from a given string - -> readWhiteList :: (Read a) => String -> [a] -> readWhiteList = getVals reads - - -readNumBools reads a list of white-spaced boolean values from a given -string. Booleans in a string are represented as 1's and 0's. - -> readNumBools :: String -> [Bool] -> readNumBools = getVals readBool - -> readBool :: ReadS Bool -> readBool [] = [] -> readBool (x:xs) = [(x == '1', xs)] - - -getVals (base function) takes a string, s, and a reading function, readVal, -and repeatedly applies readVal to s while removing whitespace - -> getVals :: ReadS a -> String -> [a] -> getVals readVal s = case readVal (stripWhite s) of -> [] -> [] -> (x,s'):_ -> x : getVals readVal s' - - -stripWhite removes white space from the front of a string - -> stripWhite :: String -> String -> stripWhite = dropWhile (`elem` " \t\n") diff --git a/ghc/tests/programs/waugh_neural/waugh_neural.stdout b/ghc/tests/programs/waugh_neural/waugh_neural.stdout deleted file mode 100644 index 9df417c..0000000 --- a/ghc/tests/programs/waugh_neural/waugh_neural.stdout +++ /dev/null @@ -1,1379 +0,0 @@ -Examples: -0.0000 0.0000 0.0000 -0.0000 1.0000 1.0000 -1.0000 0.0000 1.0000 -1.0000 1.0000 0.0000 - -Classification: -0 -0.1059 0 0.0000 -0 0.0368 0 1.0000 -0 0.1047 0 1.0000 -0 0.1930 0 0.0000 - -Training Error: -0.0006 -0.0013 -0.0012 -0.0012 -0.0015 -0.0011 -0.0013 -0.0018 -0.0025 -0.0014 -0.0017 -0.0023 -0.0013 -0.0022 -0.0020 -0.0021 -0.0023 -0.0015 -0.0012 -0.0023 -0.0019 -0.0042 -0.0031 -0.0026 -0.0019 -0.0020 -0.0039 -0.0026 -0.0031 -0.0028 -0.0023 -0.0022 -0.0022 -0.0028 -0.0027 -0.0047 -0.0030 -0.0027 -0.0046 -0.0038 -0.0027 -0.0077 -0.0034 -0.0041 -0.0113 -0.0077 -0.0156 -0.0171 -0.0159 -0.0126 -0.0094 -0.0104 -0.0095 -0.0117 -0.0151 -0.0150 -0.0109 -0.0158 -0.0136 -0.0100 -0.0080 -0.0067 -0.0063 -0.0063 -0.0070 -0.0141 -0.0087 -0.0090 -0.0107 -0.0163 -0.0127 -0.0159 -0.0100 -0.0078 -0.0136 -0.0184 -0.0264 -0.0263 -0.0165 -0.0277 -0.0200 -0.0340 -0.0156 -0.0350 -0.0263 -0.0175 -0.0300 -0.0246 -0.0285 -0.0179 -0.0348 -0.0139 -0.0365 -0.0287 -0.0216 -0.0237 -0.0168 -0.0153 -0.0384 -0.0316 -0.0286 -0.0228 -0.0261 -0.0219 -0.0168 -0.0089 -0.0098 -0.0092 -0.0124 -0.0105 -0.0160 -0.0209 -0.0283 -0.0132 -0.0139 -0.0192 -0.0212 -0.0117 -0.0120 -0.0109 -0.0133 -0.0292 -0.0230 -0.0360 -0.0266 -0.0203 -0.0161 -0.0172 -0.0171 -0.0187 -0.0377 -0.0174 -0.0136 -0.0127 -0.0136 -0.0171 -0.0163 -0.0193 -0.0099 -0.0177 -0.0182 -0.0063 -0.0092 -0.0080 -0.0124 -0.0145 -0.0107 -0.0075 -0.0073 -0.0114 -0.0071 -0.0081 -0.0203 -0.0087 -0.0114 -0.0173 -0.0130 -0.0081 -0.0217 -0.0131 -0.0139 -0.0125 -0.0275 -0.0174 -0.0241 -0.0210 -0.0123 -0.0140 -0.0094 -0.0084 -0.0137 -0.0150 -0.0137 -0.0078 -0.0138 -0.0078 -0.0092 -0.0090 -0.0090 -0.0080 -0.0186 -0.0081 -0.0074 -0.0125 -0.0306 -0.0278 -0.0241 -0.0451 -0.0218 -0.0224 -0.0605 -0.0442 -0.0214 -0.0072 -0.0086 -0.0124 -0.0130 -0.0075 -0.0081 -0.0069 -0.0198 -0.0073 -0.0114 -0.0078 -0.0239 -0.0125 -0.0164 -0.0082 -0.0075 -0.0061 -0.0052 -0.0136 -0.0071 -0.0105 -0.0137 -0.0062 -0.0065 -0.0128 -0.0145 -0.0102 -0.0064 -0.0113 -0.0090 -0.0107 -0.0066 -0.0069 -0.0052 -0.0054 -0.0051 -0.0113 -0.0163 -0.0238 -0.0115 -0.0091 -0.0094 -0.0094 -0.0107 -0.0243 -0.0206 -0.0160 -0.0134 -0.0132 -0.0158 -0.0202 -0.0291 -0.0289 -0.0155 -0.0206 -0.0256 -0.0123 -0.0153 -0.0339 -0.0148 -0.0360 -0.0188 -0.0230 -0.0388 -0.0203 -0.0263 -0.0179 -0.0406 -0.0174 -0.0163 -0.0295 -0.0180 -0.0356 -0.0290 -0.0328 -0.0419 -0.0259 -0.0170 -0.0198 -0.0317 -0.0296 -0.0452 -0.0356 -0.0396 -0.0251 -0.0250 -0.0156 -0.0286 -0.0288 -0.0320 -0.0232 -0.0309 -0.0199 -0.0365 -0.0251 -0.0210 -0.0362 -0.0262 -0.0460 -0.0453 -0.0319 -0.0144 -0.0257 -0.0434 -0.0281 -0.0432 -0.0296 -0.0212 -0.0292 -0.0191 -0.0152 -0.0235 -0.0090 -0.0251 -0.0153 -0.0462 -0.0317 -0.0218 -0.0133 -0.0202 -0.0421 -0.0151 -0.0277 -0.0136 -0.0213 -0.0351 -0.0287 -0.0296 -0.0377 -0.0419 -0.0238 -0.0305 -0.0285 -0.0184 -0.0147 -0.0292 -0.0249 -0.0228 -0.0314 -0.0336 -0.0472 -0.0721 -0.0395 -0.0469 -0.0238 -0.0322 -0.0150 -0.0125 -0.0267 -0.0253 -0.0177 -0.0100 -0.0177 -0.0246 -0.0135 -0.0174 -0.0122 -0.0222 -0.0165 -0.0214 -0.0313 -0.0299 -0.0172 -0.0273 -0.0197 -0.0261 -0.0266 -0.0191 -0.0272 -0.0139 -0.0185 -0.0132 -0.0164 -0.0178 -0.0179 -0.0237 -0.0335 -0.0205 -0.0316 -0.0345 -0.0643 -0.0431 -0.0894 -0.0560 -0.0509 -0.1541 -0.0750 -0.0944 -0.0815 -0.1373 -0.0743 -0.1324 -0.0990 -0.1165 -0.2020 -0.1822 -0.3030 -0.2503 -0.1155 -0.3019 -0.2439 -0.4729 -0.1733 -0.1518 -0.3804 -0.1371 -0.1534 -0.4186 -0.2648 -0.1183 -0.3230 -0.2882 -0.2370 -0.2439 -0.1663 -0.0973 -0.1101 -0.2022 -0.0969 -0.1587 -0.0838 -0.1114 -0.0676 -0.1860 -0.1772 -0.0820 -0.0949 -0.0887 -0.2098 -0.0934 -0.0965 -0.1262 -0.0529 -0.0849 -0.1050 -0.0565 -0.1413 -0.1486 -0.1968 -0.1590 -0.1195 -0.1178 -0.1361 -0.0793 -0.2035 -0.0685 -0.0888 -0.0676 -0.0484 -0.0430 -0.0492 -0.0444 -0.0696 -0.0338 -0.0754 -0.0768 -0.0535 -0.0455 -0.0331 -0.0330 -0.0310 -0.0343 -0.0364 -0.0649 -0.0419 -0.0309 -0.0633 -0.0419 -0.0528 -0.0311 -0.0421 -0.0453 -0.0227 -0.0259 -0.0613 -0.0408 -0.0224 -0.0115 -0.0247 -0.0109 -0.0161 -0.0168 -0.0104 -0.0185 -0.0193 -0.0067 -0.0069 -0.0081 -0.0077 -0.0101 -0.0109 -0.0182 -0.0113 -0.0232 -0.0111 -0.0102 -0.0139 -0.0115 -0.0189 -0.0151 -0.0203 -0.0115 -0.0217 -0.0189 -0.0243 -0.0369 -0.0417 -0.0471 -0.0645 -0.0411 -0.0549 -0.0196 -0.0393 -0.0298 -0.0125 -0.0093 -0.0218 -0.0116 -0.0118 -0.0147 -0.0116 -0.0210 -0.0179 -0.0348 -0.0198 -0.0119 -0.0106 -0.0101 -0.0149 -0.0335 -0.0257 -0.0249 -0.0284 -0.0340 -0.0794 -0.1231 -0.0752 -0.1574 -0.0589 -0.1023 -0.1208 -0.1316 -0.0805 -0.0667 -0.0898 -0.1548 -0.1017 -0.1279 -0.0981 -0.1481 -0.1220 -0.1387 -0.2427 -0.3398 -0.2162 -0.2501 -0.1538 -0.1318 -0.0558 -0.0853 -0.1432 -0.1571 -0.0789 -0.0717 -0.0585 -0.0543 -0.0529 -0.1346 -0.0512 -0.0431 -0.0462 -0.0767 -0.0596 -0.0914 -0.0345 -0.0331 -0.0451 -0.0491 -0.0318 -0.0335 -0.0410 -0.0354 -0.0879 -0.0471 -0.0492 -0.0497 -0.0848 -0.0490 -0.0592 -0.0423 -0.0585 -0.0426 -0.0258 -0.0402 -0.0188 -0.0197 -0.0195 -0.0241 -0.0264 -0.0408 -0.0226 -0.0344 -0.0188 -0.0364 -0.0431 -0.0198 -0.0282 -0.0243 -0.0521 -0.0483 -0.0292 -0.0342 -0.0653 -0.0286 -0.0381 -0.0274 -0.0525 -0.0661 -0.0286 -0.0666 -0.0384 -0.0285 -0.0217 -0.0405 -0.0443 -0.0303 -0.0601 -0.0370 -0.0232 -0.0259 -0.0274 -0.0295 -0.0694 -0.0371 -0.0323 -0.0515 -0.0687 -0.0305 -0.0508 -0.0402 -0.0428 -0.0922 -0.0459 -0.1083 -0.1454 -0.1593 -0.1142 -0.0774 -0.1408 -0.1267 -0.1318 -0.0634 -0.0862 -0.1191 -0.0954 -0.0965 -0.0734 -0.0700 -0.0778 -0.0901 -0.0614 -0.1199 -0.0618 -0.0505 -0.0697 -0.0410 -0.0572 -0.1019 -0.0856 -0.0771 -0.0908 -0.0332 -0.0674 -0.0483 -0.0339 -0.0309 -0.0308 -0.0443 -0.0467 -0.0714 -0.0540 -0.0408 -0.0450 -0.0482 -0.0558 -0.0683 -0.0407 -0.0375 -0.0416 -0.0891 -0.0968 -0.0586 -0.1387 -0.0728 -0.0705 -0.0565 -0.1113 -0.0723 -0.1056 -0.0658 -0.0625 -0.0344 -0.0468 -0.0392 -0.0317 -0.0265 -0.0360 -0.0338 -0.0308 -0.0727 -0.0286 -0.0522 -0.0405 -0.0375 -0.0257 -0.0249 -0.0346 -0.0191 -0.0286 -0.0311 -0.0283 -0.0407 -0.0275 -0.0750 -0.0911 -0.0425 -0.0362 -0.0591 -0.0270 -0.0290 -0.0338 -0.0592 -0.0350 -0.0552 -0.0564 -0.0446 -0.0558 -0.0369 -0.0497 -0.0650 -0.0433 -0.0420 -0.0434 -0.0546 -0.0415 -0.0394 -0.0488 -0.0695 -0.0372 -0.0458 -0.0385 -0.0337 -0.0354 -0.0324 -0.0575 -0.0505 -0.0566 -0.1589 -0.1263 -0.1118 -0.2126 -0.2967 -0.2778 -0.2609 -0.6322 -0.7693 -0.5429 -0.1965 -0.3751 -0.3611 -0.2222 -0.2763 -0.2273 -0.3213 -0.2207 -0.2181 -0.1717 -0.1765 -0.3055 -0.2081 -0.2476 -0.2661 -0.1559 -0.1006 -0.1233 -0.1502 -0.1001 -0.1113 -0.1471 -0.1477 -0.0594 -0.1124 -0.0564 -0.0538 -0.0451 -0.0435 -0.0558 -0.0365 -0.0820 -0.0432 -0.0735 -0.0375 -0.0851 -0.0587 -0.1136 -0.0859 -0.1611 -0.0959 -0.1569 -0.1321 -0.0898 -0.0977 -0.1466 -0.1692 -0.0777 -0.1352 -0.0826 -0.0442 -0.0398 -0.0639 -0.0494 -0.0545 -0.0318 -0.0795 -0.0540 -0.0687 -0.0597 -0.0709 -0.0997 -0.0884 -0.1047 -0.1659 -0.1014 -0.1369 -0.1411 -0.0814 -0.0963 -0.0805 -0.0774 -0.1477 -0.0741 -0.0723 -0.1459 -0.0819 -0.0615 -0.0622 -0.0539 -0.0547 -0.0599 -0.0635 -0.1005 -0.0703 -0.0717 -0.0415 -0.0654 -0.0331 -0.0417 -0.1216 -0.0763 -0.0705 -0.0923 -0.0792 -0.0829 -0.0462 -0.0870 -0.1555 -0.1023 -0.1440 -0.0655 -0.1040 -0.2320 -0.0897 -0.0833 -0.0592 -0.0559 -0.0569 -0.0643 -0.0807 -0.0862 -0.0502 -0.0679 -0.0652 -0.0575 -0.0557 -0.0711 -0.1001 -0.0551 -0.0560 -0.0537 -0.0539 -0.0600 -0.0759 -0.1523 -0.1705 -0.1183 -0.1832 -0.2640 -0.1693 -0.1337 -0.2807 -0.8807 -1.0110 -1.1298 -0.8362 -0.3536 -0.2293 -0.0994 -0.1356 -0.1334 -0.2120 -0.0832 -0.1290 -0.0884 -0.1778 -0.1456 -0.1121 -0.1612 -0.0711 -0.1206 -0.1081 -0.0507 -0.0819 -0.0771 -0.0783 -0.0783 -0.0560 -0.1450 -0.2208 -0.0846 -0.2032 -0.1537 -0.1352 -0.2858 -0.3946 -0.3023 -0.4804 -0.3720 -0.3830 -0.4174 -0.3898 -0.6058 -0.3161 -0.2903 -0.2651 -0.1544 -0.4088 -0.2355 -0.2825 -0.4602 -0.2062 -0.1985 -0.1613 -0.1495 -0.1726 -0.3099 -0.1895 -0.1237 -0.1268 -0.1344 -0.1068 -0.1129 -0.0869 -0.0912 -0.0926 -0.0905 -0.1214 -0.0649 -0.0876 -0.1203 -0.1225 -0.1146 -0.1131 -0.1489 -0.1334 -0.1083 -0.0903 -0.0981 -0.3364 -0.2867 -0.3913 -0.3200 -0.3584 -0.2114 -0.1862 -0.1882 -0.1458 -0.1275 -0.2299 -0.2936 -0.3161 -0.3604 -0.1345 -0.2309 -0.2310 -0.3559 -0.3741 -0.3841 -0.1600 -0.3186 -0.1768 -0.1374 -0.1833 -0.1551 -0.1107 -0.0685 -0.1061 -0.0834 -0.0876 -0.0769 -0.1060 -0.1000 -0.0803 -0.2304 -0.1964 -0.3363 -0.1922 -0.2041 -0.1679 -0.1237 -0.0920 -0.1977 -0.3451 -0.2789 -0.2462 -0.2204 -0.2798 -0.3526 -0.2780 -0.5861 -0.3788 -0.6887 -0.4506 -0.3664 -0.2358 -0.0767 -0.2181 -0.2429 -0.2658 -0.3366 -0.1841 -0.1113 -0.0914 -0.0824 -0.0719 -0.1407 -0.0824 -0.1721 -0.1516 -0.1562 -0.1351 -0.1235 -0.1095 -0.0962 -0.1015 -0.0892 -0.1545 -0.1909 -0.4212 -0.4129 -0.3782 -0.3431 -0.3330 -0.2739 -0.3242 -0.2353 -0.2348 -0.3102 -0.3587 -0.5124 -0.3840 -0.4732 -0.4399 -0.2119 -0.1322 -0.1233 -0.1316 -0.1150 -0.0998 -0.1800 -0.1273 -0.2833 -0.1345 -0.1112 -0.1187 -0.1175 -0.1231 -0.4920 -0.6189 -0.2811 -0.2768 -0.3276 -0.2768 -0.4092 -0.3237 -0.5175 -0.3444 -0.2286 -0.3363 -0.2437 -0.2369 -0.3936 -0.2882 -0.1668 -0.2125 -0.1564 -0.2847 -0.3474 -0.3749 -0.2152 -0.4767 -0.3737 -0.2519 -0.1675 -0.1980 -0.1459 -0.1549 -0.1512 -0.1498 -0.2775 -0.3663 -0.2599 -0.3337 -0.1786 -0.7095 -0.4253 -0.2590 -0.2128 -0.3139 -0.4042 -0.3455 -0.8963 -0.5630 -0.6491 -0.3273 -0.5495 -0.7103 -0.3689 -0.3517 -0.2506 -0.2394 -0.2563 -0.2178 -0.3305 -0.2091 -0.2713 -0.9382 -0.4809 -0.3457 -0.3757 -0.3567 -0.3623 -0.7483 -0.2758 -0.3359 -0.4226 -0.4436 -0.5415 -0.7246 -0.5840 -0.5240 -0.4820 -0.4918 -0.3472 -0.4292 -0.2638 -0.8652 -0.6386 -0.2970 -0.2482 -0.3634 -0.5364 -0.3266 -0.2738 -0.3561 -0.2874 -0.2952 -0.3432 -0.5600 -0.4412 -0.7108 -0.5172 -1.1662 -1.0235 -0.5857 -0.9115 -0.8491 -0.6621 -0.3065 -0.4287 -0.4757 -0.5191 -0.3534 -0.4221 -0.4662 -0.3410 -0.4524 -0.7814 -0.4169 -0.4127 -0.3937 -0.5450 -0.3860 -0.3942 -0.4960 -0.4516 -0.5248 -0.4116 -0.4200 -0.4214 -0.5984 -0.5791 -0.5775 -0.6311 -0.6828 -1.0524 -1.0729 -0.7104 -0.7662 -0.5090 -0.6262 -0.5004 -0.8285 -0.5389 -0.6671 -0.7463 -0.6655 -0.8002 -1.0429 -1.1349 -0.5813 -0.5798 -0.6674 -0.7338 -1.0065 -0.8124 -0.6703 -0.6968 -0.6548 -0.7707 -0.6928 -0.6606 -0.7861 -0.7466 -0.7467 -0.9788 -0.7896 -0.8128 -0.8151 -0.8171 -1.1193 -1.0804 -1.0764 -0.8801 -0.9400 -1.0559 -0.8107 -0.8610 -0.8641 -0.8087 -0.8159 -0.8625 -0.9505 -0.9631 -0.9564 -0.8354 -0.8608 -0.9085 -0.8384 -1.0629 -0.8835 -0.8643 -0.9080 -0.9002 -1.0846 -0.9661 -0.9995 -1.0096 -1.0039 -1.0839 -0.9100 -1.0386 -1.2184 -1.1378 -0.8842 -1.0651 -0.8931 -0.9578 -1.0597 -0.8947 -0.9176 -0.9138 -0.9297 -1.0663 -0.9131 -1.0254 -1.1214 -1.0609 -0.9520 -1.0866 -1.0985 -0.9468 -0.9588 -0.9661 -1.0548 -1.0921 -1.1088 -1.1045 -1.1313 -0.9873 -1.1151 -1.1237 -0.9889 -1.0286 -1.0728 -1.1691 -1.0330 -1.0835 -1.1305 -0.9608 -1.1476 -1.0012 -1.0972 -1.1373 -1.0784 -1.0679 -1.0392 -1.1016 -0.9909 -1.0779 -0.9820 -1.0325 -1.0863 -1.1063 -0.9852 -1.5432 -1.0038 -1.0676 -0.9857 -1.1375 -1.0446 -1.1342 -1.1891 -0.9901 -1.1802 -1.1556 -0.9927 -1.0766 -1.1414 -1.0948 -1.1492 -0.9973 -1.1168 -1.1166 -1.0655 -1.0620 -1.0904 -1.0921 -1.0157 -1.2459 -1.3257 -1.0308 -1.1034 -1.0122 -0.9948 -1.2459 -1.3062 -1.3424 -Trained Classification: -0 -0.0001 0 0.0000 -0 1.0000 0 1.0000 -0 1.0006 0 1.0000 -0 0.0002 0 0.0000 - diff --git a/ghc/tests/programs/waugh_neural/xor b/ghc/tests/programs/waugh_neural/xor deleted file mode 100644 index c829d52..0000000 --- a/ghc/tests/programs/waugh_neural/xor +++ /dev/null @@ -1,4 +0,0 @@ -0.0 0.0 0.0 -0.0 1.0 1.0 -1.0 0.0 1.0 -1.0 1.0 0.0 -- 1.7.10.4