code: def pow(x, y, context=None):
      
      return _apply_function_in_current_context(
          BigFloat,
          mpfr.mpfr_pow,
          (
              BigFloat._implicit_convert(x),
              BigFloat._implicit_convert(y),
          ),
          context,
      )
docs: Return ``x`` raised to the power ``y``.
  
      Special values are handled as described in the ISO C99 and IEEE 754-2008
      standards for the pow function.
  
        * pow(±0, y) returns plus or minus infinity for y a negative odd integer.
  
        * pow(±0, y) returns plus infinity for y negative and not an odd integer.
  
        * pow(±0, y) returns plus or minus zero for y a positive odd integer.
  
        * pow(±0, y) returns plus zero for y positive and not an odd integer.
  
        * pow(-1, ±Inf) returns 1.
  
        * pow(+1, y) returns 1 for any y, even a NaN.
  
        * pow(x, ±0) returns 1 for any x, even a NaN.
  
        * pow(x, y) returns NaN for finite negative x and finite non-integer y.
  
        * pow(x, -Inf) returns plus infinity for 0 < abs(x) < 1, and plus zero
          for abs(x) > 1.
  
        * pow(x, +Inf) returns plus zero for 0 < abs(x) < 1, and plus infinity
          for abs(x) > 1.
  
        * pow(-Inf, y) returns minus zero for y a negative odd integer.
  
        * pow(-Inf, y) returns plus zero for y negative and not an odd integer.
  
        * pow(-Inf, y) returns minus infinity for y a positive odd integer.
  
        * pow(-Inf, y) returns plus infinity for y positive and not an odd
          integer.
  
        * pow(+Inf, y) returns plus zero for y negative, and plus infinity for y
          positive.