pub fn zero_pad_to_nearest_power_of_two<F, I>(x: &I) -> Result<I, ()>where F: Float + FloatConst + NumAssign + 'static, for<'c> I: Iterable<OwnedItem = F, Item<'c> = &'c F> + Clone,
Clone and zero pad the real valued input collection to the nearest power of two length