Counter2Ops

class Object
trait Matchable
class Any
object Counter2

Type members

Classlikes

class CanZipMapValuesCounter2[K1, K2, V, RV] extends CanZipMapValues[Counter2[K1, K2, V], V, RV, Counter2[K1, K2, RV]]

Implicits

Implicits

implicit def addIntoVS[K1, K2, V](implicit evidence$7: Semiring[V]): InPlaceImpl2[Counter2[K1, K2, V], V]
implicit def addIntoVV[K1, K2, V](implicit evidence$3: Semiring[V]): InPlaceImpl2[Counter2[K1, K2, V], Counter2[K1, K2, V]]
implicit def addVS[K1, K2, V](implicit evidence$8: Semiring[V], evidence$9: Zero[V]): Impl2[Counter2[K1, K2, V], V, Counter2[K1, K2, V]]
implicit def addVV[K1, K2, V](implicit evidence$5: Semiring[V], evidence$6: Zero[V]): Impl2[Counter2[K1, K2, V], Counter2[K1, K2, V], Counter2[K1, K2, V]]
implicit def canAxpy[K1, K2, V](implicit evidence$4: Semiring[V]): InPlaceImpl3[Counter2[K1, K2, V], V, Counter2[K1, K2, V]]
implicit def canCopy[K1, K2, V](implicit evidence$1: Zero[V], evidence$2: Semiring[V]): CanCopy[Counter2[K1, K2, V]]
implicit def canDivIntoVS[K1, K2, V](implicit evidence$20: Field[V]): InPlaceImpl2[Counter2[K1, K2, V], V]
implicit def canDivIntoVV[K1, K2, V](implicit evidence$19: Field[V]): InPlaceImpl2[Counter2[K1, K2, V], Counter2[K1, K2, V]]
implicit def canDivVS[K1, K2, V](implicit copy: CanCopy[Counter2[K1, K2, V]], semiring: Field[V]): Impl2[Counter2[K1, K2, V], V, Counter2[K1, K2, V]]
implicit def canDivVV[K1, K2, V](implicit copy: CanCopy[Counter2[K1, K2, V]], semiring: Field[V]): Impl2[Counter2[K1, K2, V], Counter2[K1, K2, V], Counter2[K1, K2, V]]
implicit def canMulIntoVS[K1, K2, V](implicit evidence$17: Semiring[V]): InPlaceImpl2[Counter2[K1, K2, V], V]
implicit def canMulIntoVS_M[K1, K2, V](implicit evidence$18: Semiring[V]): InPlaceImpl2[Counter2[K1, K2, V], V]
implicit def canMulIntoVV[K1, K2, V](implicit evidence$16: Semiring[V]): InPlaceImpl2[Counter2[K1, K2, V], Counter2[K1, K2, V]]
implicit def canMulVS[K1, K2, V](implicit semiring: Semiring[V]): Impl2[Counter2[K1, K2, V], V, Counter2[K1, K2, V]]
implicit def canMulVS_M[K1, K2, V](implicit semiring: Semiring[V]): Impl2[Counter2[K1, K2, V], V, Counter2[K1, K2, V]]
implicit def canMulVV[K1, K2, V](implicit semiring: Semiring[V]): Impl2[Counter2[K1, K2, V], Counter2[K1, K2, V], Counter2[K1, K2, V]]
implicit def canMultiplyC2C1[K1, K2, V](implicit semiring: Semiring[V]): Impl2[Counter2[K1, K2, V], Counter[K2, V], Counter[K1, V]]

Returns the k-norm of this Vector. implicit def canNorm[K1, K2, V:Ring]:CanNorm[Counter2[K1, K2, V]] = new CanNorm[Counter2[K1, K2, V]] { val field = implicitly[Ring[V]] def apply(c: Counter2[K1, K2, V], n: Double): Double = { import c._

Returns the k-norm of this Vector. implicit def canNorm[K1, K2, V:Ring]:CanNorm[Counter2[K1, K2, V]] = new CanNorm[Counter2[K1, K2, V]] { val field = implicitly[Ring[V]] def apply(c: Counter2[K1, K2, V], n: Double): Double = { import c._

  if (n == 1) {
    var sum = 0.0
    activeValuesIterator foreach (v => sum += field.norm(v))
    sum
  } else if (n == 2) {
    var sum = 0.0
    activeValuesIterator foreach (v => { val nn = field.norm(v); sum += nn * nn })
    math.sqrt(sum)
  } else if (n == Double.PositiveInfinity) {
    var max = Double.NegativeInfinity
    activeValuesIterator foreach (v => { val nn = field.norm(v); if (nn > max) max = nn })
    max
  } else {
    var sum = 0.0
    activeValuesIterator foreach (v => { val nn = field.norm(v); sum += math.pow(nn,n) })
    math.pow(sum, 1.0 / n)
  }
}

}

implicit def canMultiplyC2C2[K1, K2, K3, V](implicit semiring: Semiring[V]): Impl2[Counter2[K1, K2, V], Counter2[K2, K3, V], Counter2[K1, K3, V]]
implicit def canNegate[K1, K2, V](implicit ring: Ring[V]): Impl[Counter2[K1, K2, V], Counter2[K1, K2, V]]
implicit def canSetIntoVS[K1, K2, V]: InPlaceImpl2[Counter2[K1, K2, V], V]
implicit def canSetIntoVV[K1, K2, V]: InPlaceImpl2[Counter2[K1, K2, V], Counter2[K1, K2, V]]
implicit def subIntoVS[K1, K2, V](implicit evidence$13: Ring[V]): InPlaceImpl2[Counter2[K1, K2, V], V]
implicit def subIntoVV[K1, K2, V](implicit evidence$10: Ring[V]): InPlaceImpl2[Counter2[K1, K2, V], Counter2[K1, K2, V]]
implicit def subVS[K1, K2, V](implicit evidence$14: Ring[V], evidence$15: Zero[V]): Impl2[Counter2[K1, K2, V], V, Counter2[K1, K2, V]]
implicit def subVV[K1, K2, V](implicit evidence$11: Ring[V], evidence$12: Zero[V]): Impl2[Counter2[K1, K2, V], Counter2[K1, K2, V], Counter2[K1, K2, V]]
implicit def zipMap[K1, K2, V, R](implicit evidence$23: Zero[R], evidence$24: Semiring[R]): CanZipMapValuesCounter2[K1, K2, V, R]