Hullaballoonatic
09/08/2018, 5:37 PMkarelpeeters
09/08/2018, 5:39 PMHullaballoonatic
09/08/2018, 5:40 PMkarelpeeters
09/08/2018, 5:42 PMkarelpeeters
09/08/2018, 5:45 PMHullaballoonatic
09/08/2018, 5:46 PMkarelpeeters
09/08/2018, 5:51 PMComparator<T>
and an add: (T, T) -> T
.Hullaballoonatic
09/08/2018, 5:53 PMHullaballoonatic
09/08/2018, 5:54 PMinferred type Pos is not a subtype of IxState<*, Comparable<Any>>
Hullaballoonatic
09/08/2018, 5:54 PMPos
extends this: IxState<Pair<Float, Float>, Float>
Hullaballoonatic
09/08/2018, 5:55 PMHullaballoonatic
09/08/2018, 5:55 PMComparable<*>
Hullaballoonatic
09/08/2018, 5:56 PMkarelpeeters
09/08/2018, 6:03 PMHullaballoonatic
09/08/2018, 6:04 PMHullaballoonatic
09/08/2018, 6:08 PMval searcher = UniformCostSearch(PosComparator(), CostComparator())
class UniformCostSearch<D: Any, C: Comparable<*>>(
dataComp: Comparator<State<D, C>>,
costComp: Comparator<State<D, C>>
)
class PosComparator : Comparator<Pos>
open class Pos: State<Pair<Float, Float>, Float>
Hullaballoonatic
09/08/2018, 6:08 PMHullaballoonatic
09/08/2018, 6:09 PMPosComparator()
as dataComp
in UniformCostSearch
Hullaballoonatic
09/08/2018, 6:10 PMType mismatch.
Required:
kotlin.Comparator<State<???, ???>> /* = java.util.Comparator<State<???, ???>> */
Found:
PosComparator
Hullaballoonatic
09/08/2018, 6:12 PMType inference failed:
constructor UniformCostSearch<D : Any, C : Comparable<*>>
(
dataComp: kotlin.Comparator<State<D, C>> /* = java.util.Comparator<State<D, C>> */,
costComp: kotlin.Comparator<State<D, C>> /* = java.util.Comparator<State<D, C>> */
)
cannot be applied to
(
PosComparator,
CostComparator
)
karelpeeters
09/08/2018, 6:14 PMkarelpeeters
09/08/2018, 6:15 PMPosComparator
can compare Pos
instances, and Pos
instances are also State<Pair<Float, Float>, Float>
instances.karelpeeters
09/08/2018, 6:15 PMState<Pair<Float, Float>, Float>
is also a Pos
.karelpeeters
09/08/2018, 6:16 PMUniformCostSearch
would need a Comparator<State<Pair<Float, Float>, Float>>
here, but you only provide a Comparator<Pos>
.Hullaballoonatic
09/08/2018, 6:18 PMHullaballoonatic
09/08/2018, 6:19 PMHullaballoonatic
09/08/2018, 6:19 PMkarelpeeters
09/08/2018, 6:21 PMclass UniformCostSearch<S>(
dataComp: Comparator<S>,
costComp: Comparator<S>
)
Hullaballoonatic
09/08/2018, 6:21 PMkarelpeeters
09/08/2018, 6:21 PMHullaballoonatic
09/08/2018, 6:22 PMHullaballoonatic
09/08/2018, 6:22 PMkarelpeeters
09/08/2018, 6:22 PMHullaballoonatic
09/08/2018, 6:23 PMHullaballoonatic
09/08/2018, 6:29 PMkarelpeeters
09/08/2018, 6:31 PMkarelpeeters
09/08/2018, 6:31 PMinterface State<D, C>
val searcher = UniformCostSearch(PosComparator(), PosComparator())
class UniformCostSearch<S>(
dataComp: Comparator<S>,
costComp: Comparator<S>
)
class PosComparator : Comparator<Pos> {
override fun compare(a: Pos, b: Pos) = 0
}
open class Pos: State<Pair<Float, Float>, Float>
Hullaballoonatic
09/08/2018, 6:32 PMHullaballoonatic
09/08/2018, 6:33 PMHullaballoonatic
09/08/2018, 6:33 PM