class_docstr: finfo(dtype)
  
  Machine limits for floating point types.
  
  Attributes
  ----------
  bits : int
      The number of bits occupied by the type.
  dtype : dtype
      Returns the dtype for which `finfo` returns information. For complex
      input, the returned dtype is the associated ``float*`` dtype for its
      real and complex components.
  eps : float
      The difference between 1.0 and the next smallest representable float
      larger than 1.0. For example, for 64-bit binary floats in the IEEE-754
      standard, ``eps = 2**-52``, approximately 2.22e-16.
  epsneg : float
      The difference between 1.0 and the next smallest representable float
      less than 1.0. For example, for 64-bit binary floats in the IEEE-754
      standard, ``epsneg = 2**-53``, approximately 1.11e-16.
  iexp : int
      The number of bits in the exponent portion of the floating point
      representation.
  machep : int
      The exponent that yields `eps`.
  max : floating point number of the appropriate type
      The largest representable number.
  maxexp : int
      The smallest positive power of the base (2) that causes overflow.
  min : floating point number of the appropriate type
      The smallest representable number, typically ``-max``.
  minexp : int
      The most negative power of the base (2) consistent with there
      being no leading 0's in the mantissa.
  negep : int
      The exponent that yields `epsneg`.
  nexp : int
      The number of bits in the exponent including its sign and bias.
  nmant : int
      The number of bits in the mantissa.
  precision : int
      The approximate number of decimal digits to which this kind of
      float is precise.
  resolution : floating point number of the appropriate type
      The approximate decimal resolution of this type, i.e.,
      ``10**-precision``.
  tiny : float
      An alias for `smallest_normal`, kept for backwards compatibility.
  smallest_normal : float
      The smallest positive floating point number with 1 as leading bit in
      the mantissa following IEEE-754 (see Notes).
  smallest_subnormal : float
      The smallest positive floating point number with 0 as leading bit in
      the mantissa following IEEE-754.
  
  Parameters
  ----------
  dtype : float, dtype, or instance
      Kind of floating point or complex floating point
      data-type about which to get information.
  
  See Also
  --------
  iinfo : The equivalent for integer data types.
  spacing : The distance between a value and the nearest adjacent number
  nextafter : The next floating point value after x1 towards x2
  
  Notes
  -----
  For developers of NumPy: do not instantiate this at the module level.
  The initial calculation of these parameters is expensive and negatively
  impacts import times.  These objects are cached, so calling ``finfo()``
  repeatedly inside your functions is not a problem.
  
  Note that ``smallest_normal`` is not actually the smallest positive
  representable value in a NumPy floating point type. As in the IEEE-754
  standard [1]_, NumPy floating point types make use of subnormal numbers to
  fill the gap between 0 and ``smallest_normal``. However, subnormal numbers
  may have significantly reduced precision [2]_.
  
  This function can also be used for complex data types as well. If used,
  the output will be the same as the corresponding real float type
  (e.g. numpy.finfo(numpy.csingle) is the same as numpy.finfo(numpy.single)).
  However, the output is true for the real and imaginary components.
  
  References
  ----------
  .. [1] IEEE Standard for Floating-Point Arithmetic, IEEE Std 754-2008,
         pp.1-70, 2008, https://doi.org/10.1109/IEEESTD.2008.4610935
  .. [2] Wikipedia, "Denormal Numbers",
         https://en.wikipedia.org/wiki/Denormal_number
  
  Examples
  --------
  >>> np.finfo(np.float64).dtype
  dtype('float64')
  >>> np.finfo(np.complex64).dtype
  dtype('float32')
class_docstr_tok: ["finfo","(","dtype",")","Machine","limits","for","floating","point","types",".","Attributes","--","--","--","--","--","bits",":","int","The","number","of","bits","occupied","by","the","type",".","dtype",":","dtype","Returns","the","dtype","for","which","`","finfo","`","returns","information",".","For","complex","input",",","the","returned","dtype","is","the","associated","``","float","*","``","dtype","for","its","real","and","complex","components",".","eps",":","float","The","difference","between","1.0","and","the","next","smallest","representable","float","larger","than","1.0",".","For","example",",","for","64-bit","binary","floats","in","the","IEEE-754","standard",",","``","eps","=","2","*","*","-52","``",",","approximately","2.22e-16",".","epsneg",":","float","The","difference","between","1.0","and","the","next","smallest","representable","float","less","than","1.0",".","For","example",",","for","64-bit","binary","floats","in","the","IEEE-754","standard",",","``","epsneg","=","2","*","*","-53","``",",","approximately","1.11e-16",".","iexp",":","int","The","number","of","bits","in","the","exponent","portion","of","the","floating","point","representation",".","machep",":","int","The","exponent","that","yields","`","eps","`",".","max",":","floating","point","number","of","the","appropriate","type","The","largest","representable","number",".","maxexp",":","int","The","smallest","positive","power","of","the","base","(","2",")","that","causes","overflow",".","min",":","floating","point","number","of","the","appropriate","type","The","smallest","representable","number",",","typically","``","-max","``",".","minexp",":","int","The","most","negative","power","of","the","base","(","2",")","consistent","with","there","being","no","leading","0","'s","in","the","mantissa",".","negep",":","int","The","exponent","that","yields","`","epsneg","`",".","nexp",":","int","The","number","of","bits","in","the","exponent","including","its","sign","and","bias",".","nmant",":","int","The","number","of","bits","in","the","mantissa",".","precision",":","int","The","approximate","number","of","decimal","digits","to","which","this","kind","of","float","is","precise",".","resolution",":","floating","point","number","of","the","appropriate","type","The","approximate","decimal","resolution","of","this","type",",","i.e.",",","``","10","*","*","-precision","``",".","tiny",":","float","An","alias","for","`","smallest_normal","`",",","kept","for","backwards","compatibility",".","smallest_normal",":","float","The","smallest","positive","floating","point","number","with","1","as","leading","bit","in","the","mantissa","following","IEEE-754","(","see","Notes",")",".","smallest_subnormal",":","float","The","smallest","positive","floating","point","number","with","0","as","leading","bit","in","the","mantissa","following","IEEE-754",".","Parameters","--","--","--","--","--","dtype",":","float",",","dtype",",","or","instance","Kind","of","floating","point","or","complex","floating","point","data-type","about","which","to","get","information",".","See","Also","--","--","--","--","iinfo",":","The","equivalent","for","integer","data","types",".","spacing",":","The","distance","between","a","value","and","the","nearest","adjacent","number","nextafter",":","The","next","floating","point","value","after","x1","towards","x2","Notes","--","--","-","For","developers","of","NumPy",":","do","not","instantiate","this","at","the","module","level",".","The","initial","calculation","of","these","parameters","is","expensive","and","negatively","impacts","import","times",".","These","objects","are","cached",",","so","calling","``","finfo","(",")","``","repeatedly","inside","your","functions","is","not","a","problem",".","Note","that","``","smallest_normal","``","is","not","actually","the","smallest","positive","representable","value","in","a","NumPy","floating","point","type",".","As","in","the","IEEE-754","standard","[","1","]","_",",","NumPy","floating","point","types","make","use","of","subnormal","numbers","to","fill","the","gap","between","0","and","``","smallest_normal","``",".","However",",","subnormal","numbers","may","have","significantly","reduced","precision","[","2","]","_",".","This","function","can","also","be","used","for","complex","data","types","as","well",".","If","used",",","the","output","will","be","the","same","as","the","corresponding","real","float","type","(","e.g",".","numpy.finfo","(","numpy.csingle",")","is","the","same","as","numpy.finfo","(","numpy.single",")",")",".","However",",","the","output","is","true","for","the","real","and","imaginary","components",".","References","--","--","--","--","--","..","[","1","]","IEEE","Standard","for","Floating-Point","Arithmetic",",","IEEE","Std","754-2008",",","pp.1-70",",","2008",",","https",":","\/\/doi.org\/10.1109\/IEEESTD.2008.4610935","..","[","2","]","Wikipedia",",","``","Denormal","Numbers","''",",","https",":","\/\/en.wikipedia.org\/wiki\/Denormal_number","Examples","--","--","--","--",">",">",">","np.finfo","(","np.float64",")",".dtype","dtype","(","'float64","'",")",">",">",">","np.finfo","(","np.complex64",")",".dtype","dtype","(","'float32","'",")"]
docstr: Return the value for the smallest normal.
  
  Returns
  -------
  smallest_normal : float
      Value for the smallest normal.
  
  Warns
  -----
  UserWarning
      If the calculated value for the smallest normal is requested for
      double-double.
docstr_tok: ["Return","the","value","for","the","smallest","normal",".","Returns","--","--","--","-","smallest_normal",":","float","Value","for","the","smallest","normal",".","Warns","--","--","-","UserWarning","If","the","calculated","value","for","the","smallest","normal","is","requested","for","double-double","."]
code: def smallest_normal(self):
      """Return the value for the smallest normal.
  
      Returns
      -------
      smallest_normal : float
          Value for the smallest normal.
  
      Warns
      -----
      UserWarning
          If the calculated value for the smallest normal is requested for
          double-double.
      """
      # This check is necessary because the value for smallest_normal is
      # platform dependent for longdouble types.
      if isnan(self._machar.smallest_normal.flat[0]):
          warnings.warn(
              "The value of smallest normal is undefined for double double",
              UserWarning,
              stacklevel=2,
          )
      return self._machar.smallest_normal.flat[0]
  
imports: import warnings
  from .._utils import set_module
  from ._machar import MachAr
  from .None import numeric
  from .None import numerictypes
  from .numeric import array, inf, nan
  from .umath import log10, exp2, nextafter, isnan
label_desc: Use image node_id 5 for calling the finfo obj's underlying member method code with example usage: obj.smallest_normal() and returns: self