class_docstr: Projection operator onto the set of vector with all coordinates equal
  (or in the given range if given one).
  Namely, this simply replaces all coordinates by their average
  
  Parameters
  ----------
  strength : `float`, default=0.
      Not used in this prox, but kept for compatibility issues
  
  range : `tuple` of two `int`, default=`None`
      Range on which the prox is applied. If `None` then the prox is
      applied on the whole vector
  
  positive : `bool`, default=`False`
      If True, ensures that the output of the prox has only non-negative
      entries (in the given range)
  
  Attributes
  ----------
  dtype : `{'float64', 'float32'}`
      Type of the arrays used.
class_docstr_tok: ["Projection","operator","onto","the","set","of","vector","with","all","coordinates","equal","(","or","in","the","given","range","if","given","one",")",".","Namely",",","this","simply","replaces","all","coordinates","by","their","average","Parameters","--","--","--","--","--","strength",":","`","float","`",",","default=0",".","Not","used","in","this","prox",",","but","kept","for","compatibility","issues","range",":","`","tuple","`","of","two","`","int","`",",","default=","`","None","`","Range","on","which","the","prox","is","applied",".","If","`","None","`","then","the","prox","is","applied","on","the","whole","vector","positive",":","`","bool","`",",","default=","`","False","`","If","True",",","ensures","that","the","output","of","the","prox","has","only","non-negative","entries","(","in","the","given","range",")","Attributes","--","--","--","--","--","dtype",":","`","{","'float64","'",",","'float32","'","}","`","Type","of","the","arrays","used","."]
code: def _build_cpp_prox(self, dtype_or_object_with_dtype):
      self.dtype = self._extract_dtype(dtype_or_object_with_dtype)
      prox_class = self._get_typed_class(
          dtype_or_object_with_dtype, dtype_map
      )
      if self.range is None:
          return prox_class(0.0, self.positive)
      return prox_class(
          0.0, self.range[0], self.range[1], self.positive
      )
  
file_path: tick/tick/prox/prox_equality.py
imports: import numpy
  import sys
  from .base import Prox
  from .build.prox import ProxEqualityDouble
  from .build.prox import ProxEqualityFloat
label_desc: Use image node_id 6 for calling the ProxEquality obj's underlying member method code with example usage: obj._build_cpp_prox(dtype_or_object_with_dtype) and returns: prox_class, prox_class