class_docstr: Diagnosing machine parameters.
  
  Attributes
  ----------
  ibeta : int
      Radix in which numbers are represented.
  it : int
      Number of base-`ibeta` digits in the floating point mantissa M.
  machep : int
      Exponent of the smallest (most negative) power of `ibeta` that,
      added to 1.0, gives something different from 1.0
  eps : float
      Floating-point number ``beta**machep`` (floating point precision)
  negep : int
      Exponent of the smallest power of `ibeta` that, subtracted
      from 1.0, gives something different from 1.0.
  epsneg : float
      Floating-point number ``beta**negep``.
  iexp : int
      Number of bits in the exponent (including its sign and bias).
  minexp : int
      Smallest (most negative) power of `ibeta` consistent with there
      being no leading zeros in the mantissa.
  xmin : float
      Floating-point number ``beta**minexp`` (the smallest [in
      magnitude] positive floating point number with full precision).
  maxexp : int
      Smallest (positive) power of `ibeta` that causes overflow.
  xmax : float
      ``(1-epsneg) * beta**maxexp`` (the largest [in magnitude]
      usable floating value).
  irnd : int
      In ``range(6)``, information on what kind of rounding is done
      in addition, and on how underflow is handled.
  ngrd : int
      Number of 'guard digits' used when truncating the product
      of two mantissas to fit the representation.
  epsilon : float
      Same as `eps`.
  tiny : float
      An alias for `smallest_normal`, kept for backwards compatibility.
  huge : float
      Same as `xmax`.
  precision : float
      ``- int(-log10(eps))``
  resolution : float
      ``- 10**(-precision)``
  smallest_normal : float
      The smallest positive floating point number with 1 as leading bit in
      the mantissa following IEEE-754. Same as `xmin`.
  smallest_subnormal : float
      The smallest positive floating point number with 0 as leading bit in
      the mantissa following IEEE-754.
  
  Parameters
  ----------
  float_conv : function, optional
      Function that converts an integer or integer array to a float
      or float array. Default is `float`.
  int_conv : function, optional
      Function that converts a float or float array to an integer or
      integer array. Default is `int`.
  float_to_float : function, optional
      Function that converts a float array to float. Default is `float`.
      Note that this does not seem to do anything useful in the current
      implementation.
  float_to_str : function, optional
      Function that converts a single float to a string. Default is
      ``lambda v:'%24.16e' %v``.
  title : str, optional
      Title that is printed in the string representation of `MachAr`.
  
  See Also
  --------
  finfo : Machine limits for floating point types.
  iinfo : Machine limits for integer types.
  
  References
  ----------
  .. [1] Press, Teukolsky, Vetterling and Flannery,
         "Numerical Recipes in C++," 2nd ed,
         Cambridge University Press, 2002, p. 31.
class_docstr_tok: ["Diagnosing","machine","parameters",".","Attributes","--","--","--","--","--","ibeta",":","int","Radix","in","which","numbers","are","represented",".","it",":","int","Number","of","base-","`","ibeta","`","digits","in","the","floating","point","mantissa","M.","machep",":","int","Exponent","of","the","smallest","(","most","negative",")","power","of","`","ibeta","`","that",",","added","to","1.0",",","gives","something","different","from","1.0","eps",":","float","Floating-point","number","``","beta","*","*","machep","``","(","floating","point","precision",")","negep",":","int","Exponent","of","the","smallest","power","of","`","ibeta","`","that",",","subtracted","from","1.0",",","gives","something","different","from","1.0.","epsneg",":","float","Floating-point","number","``","beta","*","*","negep","``",".","iexp",":","int","Number","of","bits","in","the","exponent","(","including","its","sign","and","bias",")",".","minexp",":","int","Smallest","(","most","negative",")","power","of","`","ibeta","`","consistent","with","there","being","no","leading","zeros","in","the","mantissa",".","xmin",":","float","Floating-point","number","``","beta","*","*","minexp","``","(","the","smallest","[","in","magnitude","]","positive","floating","point","number","with","full","precision",")",".","maxexp",":","int","Smallest","(","positive",")","power","of","`","ibeta","`","that","causes","overflow",".","xmax",":","float","``","(","1-epsneg",")","*","beta","*","*","maxexp","``","(","the","largest","[","in","magnitude","]","usable","floating","value",")",".","irnd",":","int","In","``","range","(","6",")","``",",","information","on","what","kind","of","rounding","is","done","in","addition",",","and","on","how","underflow","is","handled",".","ngrd",":","int","Number","of","'guard","digits","'","used","when","truncating","the","product","of","two","mantissas","to","fit","the","representation",".","epsilon",":","float","Same","as","`","eps","`",".","tiny",":","float","An","alias","for","`","smallest_normal","`",",","kept","for","backwards","compatibility",".","huge",":","float","Same","as","`","xmax","`",".","precision",":","float","``","-","int","(","-log10","(","eps",")",")","``","resolution",":","float","``","-","10","*","*","(","-precision",")","``","smallest_normal",":","float","The","smallest","positive","floating","point","number","with","1","as","leading","bit","in","the","mantissa","following","IEEE-754",".","Same","as","`","xmin","`",".","smallest_subnormal",":","float","The","smallest","positive","floating","point","number","with","0","as","leading","bit","in","the","mantissa","following","IEEE-754",".","Parameters","--","--","--","--","--","float_conv",":","function",",","optional","Function","that","converts","an","integer","or","integer","array","to","a","float","or","float","array",".","Default","is","`","float","`",".","int_conv",":","function",",","optional","Function","that","converts","a","float","or","float","array","to","an","integer","or","integer","array",".","Default","is","`","int","`",".","float_to_float",":","function",",","optional","Function","that","converts","a","float","array","to","float",".","Default","is","`","float","`",".","Note","that","this","does","not","seem","to","do","anything","useful","in","the","current","implementation",".","float_to_str",":","function",",","optional","Function","that","converts","a","single","float","to","a","string",".","Default","is","``","lambda","v",":","'","%","24.16e","'","%","v","``",".","title",":","str",",","optional","Title","that","is","printed","in","the","string","representation","of","`","MachAr","`",".","See","Also","--","--","--","--","finfo",":","Machine","limits","for","floating","point","types",".","iinfo",":","Machine","limits","for","integer","types",".","References","--","--","--","--","--","..","[","1","]","Press",",","Teukolsky",",","Vetterling","and","Flannery",",","``","Numerical","Recipes","in","C++",",","''","2nd","ed",",","Cambridge","University","Press",",","2002",",","p.","31","."]
docstr: float_conv - convert integer to float (array)
  int_conv   - convert float (array) to integer
  float_to_float - convert float array to float
  float_to_str - convert array float to str
  title        - description of used floating point numbers
docstr_tok: ["float_conv","-","convert","integer","to","float","(","array",")","int_conv","-","convert","float","(","array",")","to","integer","float_to_float","-","convert","float","array","to","float","float_to_str","-","convert","array","float","to","str","title","-","description","of","used","floating","point","numbers"]
code: def __init__(
      self,
      float_conv=float,
      int_conv=int,
      float_to_float=float,
      float_to_str=lambda v: "%24.16e" % v,
      title="Python floating point number",
  ):
      """
  
      float_conv - convert integer to float (array)
      int_conv   - convert float (array) to integer
      float_to_float - convert float array to float
      float_to_str - convert array float to str
      title        - description of used floating point numbers
  
      """
      # We ignore all errors here because we are purposely triggering
      # underflow to detect the properties of the runninng arch.
      with errstate(under="ignore"):
          self._do_init(
              float_conv, int_conv, float_to_float, float_to_str, title
          )
  
imports: from .fromnumeric import any
  from ._ufunc_config import errstate
  from .._utils import set_module
label_desc: Use image node_id 1 to create a new MachAr object  with example: obj = MachAr(float_conv, int_conv, float_to_float, float_to_str, title)