diff --git a/ia04/comsoc/tieBreak.go b/ia04/comsoc/tieBreak.go index 5fbe9eabe9be60abccd49c976248082a1967768b..4a239358e9df2fd7051203f2ba3fc0fc8ed888d4 100644 --- a/ia04/comsoc/tieBreak.go +++ b/ia04/comsoc/tieBreak.go @@ -1,45 +1,43 @@ package comsoc -import("errors") - -func TieBreakFactory(tieBreakAlts []Alternative) (func ([]Alternative) (Alternative, err error)) { - return func(alts []Alternative) (Alternative, err error) { - if len(alts) == 0 || alts == nil { - return -1, errors.New("002: NullAlternatives") - } - - for _,alt := range(alts) { - for _,tieBreakAlt := range(tieBreakAlts) { - if alt == tieBreakAlt { - return alt, nil - } - } - } - return -1, errors.New("002: NoTieBreakAlternativeFound") - } -} - -func SWFFactory(swf1 func (Profile) (Count, error), tieBreak func ([]Alternative) (Alternative, error)) (swf2 func(Profile) (alts []Alternative, err error)) { - return func(p Profile) (alts Alternative, err error) { - // alts, _ := maxCount(swf1(p)) - // alt, _ := tieBreak(alts) - // return alt, nil - // il faut trifouiller le count - } +import ( + "errors" +) + +func TieBreakFactory(tieBreakAlts []Alternative) func([]Alternative) (Alternative, error) { + return func(alts []Alternative) (Alternative, error) { + if len(alts) == 0 || alts == nil { + return -1, errors.New("002: NullAlternatives") + } + + for _, alt := range alts { + for _, tieBreakAlt := range tieBreakAlts { + if alt == tieBreakAlt { + return alt, nil + } + } + } + return -1, errors.New("002: NoTieBreakAlternativeFound") + } } - -func SCFFactory(scf1 func (Profile) ([]Alternative, error), tieBreak func ([]Alternative) (Alternative, error)) (scf2 func(Profile) (alt Alternative, err error)) { - return func(p Profile) (alt Alternative, err error) { - alts, _ := scf1(p) - alt, _ := tieBreak(alts) - return alt, nil - } +//func SWFFactory(swf1 func (Profile) (Count, error), tieBreak func ([]Alternative) (Alternative, error)) (swf2 func(Profile) (alts []Alternative, err error)) { +// return func(p Profile) (alts Alternative, err error) { +// alts, _ := maxCount(swf1(p)) +// alt, _ := tieBreak(alts) +// return alt, nil +// il faut trifouiller le count +// } +//} + +func SCFFactory(scf1 func(Profile) ([]Alternative, error), tieBreak func([]Alternative) (Alternative, error)) (scf2 func(Profile) (alt Alternative, err error)) { + return func(p Profile) (Alternative, error) { + alts, _ := scf1(p) + alt, _ := tieBreak(alts) + return alt, nil + } } - - - // func TieBreak(a []Alternative) (Alternative, err error) { // // if len(a) == 0 || a == nil { // // return _, errors.New("002: NullAlternatives")