MCPcopy Create free account
hub / github.com/apache/datafusion / merge_batch

Method merge_batch

datafusion/functions-aggregate/src/variance.rs:365–385  ·  view source on GitHub ↗
(&mut self, states: &[ArrayRef])

Source from the content-addressed store, hash-verified

363 }
364
365 fn merge_batch(&mut self, states: &[ArrayRef]) -> Result<()> {
366 let counts = as_uint64_array(&states[0])?;
367 let means = as_float64_array(&states[1])?;
368 let m2s = as_float64_array(&states[2])?;
369
370 for i in 0..counts.len() {
371 let c = counts.value(i);
372 if c == 0_u64 {
373 continue;
374 }
375 (self.count, self.mean, self.m2) = merge(
376 self.count,
377 self.mean,
378 self.m2,
379 c,
380 means.value(i),
381 m2s.value(i),
382 )
383 }
384 Ok(())
385 }
386
387 fn evaluate(&mut self) -> Result<ScalarValue> {
388 let count = match self.stats_type {

Calls 6

as_uint64_arrayFunction · 0.85
as_float64_arrayFunction · 0.85
mergeFunction · 0.70
lenMethod · 0.45
valueMethod · 0.45
resizeMethod · 0.45