(*exprs, allow_shuffle=True)
| 4102 | |
| 4103 | |
| 4104 | def calc_divisions_for_align(*exprs, allow_shuffle=True): |
| 4105 | dfs = [df for df in exprs if isinstance(df, Expr) and df.ndim > 0] |
| 4106 | if not all(df.known_divisions for df in dfs): |
| 4107 | return (None,) * (max(df.npartitions for df in dfs) + 1) |
| 4108 | if all(dfs[0].divisions == df.divisions for df in dfs): |
| 4109 | return dfs[0].divisions |
| 4110 | divisions = list(unique(merge_sorted(*[df.divisions for df in dfs]))) |
| 4111 | if len(divisions) == 1: # single value for index |
| 4112 | divisions = (divisions[0], divisions[0]) |
| 4113 | return divisions |
| 4114 | |
| 4115 | |
| 4116 | def maybe_align_partitions(*exprs, divisions): |
no test coverage detected