diff --git a/ia04/comsoc/tieBreak.go b/ia04/comsoc/tieBreak.go index 35fd1c836470851787ce68e276d4614a1e66ce2d..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("003: 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") diff --git a/ia04/go.mod b/ia04/go.mod index 8f2f883a3359f7dbb3a1ca3e562e6ac1d5ce4383..06116c3a8aba46d409cb4459cfefdabcb805d2f4 100644 --- a/ia04/go.mod +++ b/ia04/go.mod @@ -1,3 +1,5 @@ module ia04 go 1.19 + +require gitlab.utc.fr/lagruesy/ia04 v0.2.0