Decimal256 specialized float exponent version.
(base: i256, scale: i8, exp: f64)
| 273 | |
| 274 | /// Decimal256 specialized float exponent version. |
| 275 | fn pow_decimal256_float(base: i256, scale: i8, exp: f64) -> Result<i256, ArrowError> { |
| 276 | if exp.is_finite() && exp.trunc() == exp && exp >= 0f64 && exp < u32::MAX as f64 { |
| 277 | return pow_decimal256_int(base, scale, exp as i64); |
| 278 | } |
| 279 | |
| 280 | if !exp.is_finite() { |
| 281 | return Err(ArrowError::ComputeError(format!( |
| 282 | "Cannot use non-finite exp: {exp}" |
| 283 | ))); |
| 284 | } |
| 285 | |
| 286 | pow_decimal256_float_fallback(base, scale, exp) |
| 287 | } |
| 288 | |
| 289 | /// Decimal256 specialized integer exponent version. |
| 290 | fn pow_decimal256_int(base: i256, scale: i8, exp: i64) -> Result<i256, ArrowError> { |
no test coverage detected
searching dependent graphs…