1package utils 2 3import scala.collection.mutable 4 5object SeqUtils { 6 /** 7 * @todo remove it when when xiangshan is updated to 2.13.11 8 */ 9 def distinctBy[A, B](seqLike: Seq[B])(f: B => A): Seq[B] = { 10 val seen = new mutable.HashSet[A]() 11 var res = Seq[B]() 12 val it = seqLike.iterator 13 while (it.hasNext) { 14 val next = it.next 15 if (seen.add(f(next))) { 16 res :+= next 17 } 18 } 19 res 20 } 21} 22