Grid/refactor coordinate handling (#301)
1use criterion::{criterion_group, criterion_main, Criterion};
2#[allow(dead_code)]
3#[derive(Debug, Clone, Copy, PartialEq, Eq)]
4enum WritingMode {
5 Horizontal,
6 Vertical,
7}
8#[allow(dead_code)]
9fn measure_standard_text(
10 known_dimensions: taffy::geometry::Size<Option<f32>>,
11 available_space: taffy::geometry::Size<taffy::style::AvailableSpace>,
12 text_content: &str,
13 writing_mode: WritingMode,
14) -> taffy::geometry::Size<f32> {
15 use taffy::axis::AbsoluteAxis;
16 use taffy::prelude::*;
17 const ZWS: char = '\u{200B}';
18 const H_WIDTH: f32 = 10.0;
19 const H_HEIGHT: f32 = 10.0;
20 if let Size { width: Some(width), height: Some(height) } = known_dimensions {
21 return Size { width, height };
22 }
23 let inline_axis = match writing_mode {
24 WritingMode::Horizontal => AbsoluteAxis::Horizontal,
25 WritingMode::Vertical => AbsoluteAxis::Vertical,
26 };
27 let block_axis = inline_axis.other_axis();
28 let lines: Vec<&str> = text_content.split(ZWS).collect();
29 if lines.is_empty() {
30 return Size::ZERO;
31 }
32 let min_line_length: usize = lines.iter().map(|line| line.len()).max().unwrap_or(0);
33 let max_line_length: usize = lines.iter().map(|line| line.len()).sum();
34 let inline_size =
35 known_dimensions.get_abs(inline_axis).unwrap_or_else(|| match available_space.get_abs(inline_axis) {
36 AvailableSpace::MinContent => min_line_length as f32 * H_WIDTH,
37 AvailableSpace::MaxContent => max_line_length as f32 * H_WIDTH,
38 AvailableSpace::Definite(inline_size) => {
39 inline_size.min(max_line_length as f32 * H_WIDTH).max(min_line_length as f32 * H_WIDTH)
40 }
41 });
42 let block_size = known_dimensions.get_abs(block_axis).unwrap_or_else(|| {
43 let inline_line_length = (inline_size / H_WIDTH).floor() as usize;
44 let mut line_count = 1;
45 let mut current_line_length = 0;
46 for line in &lines {
47 if current_line_length + line.len() > inline_line_length {
48 if current_line_length > 0 {
49 line_count += 1
50 };
51 current_line_length = line.len();
52 } else {
53 current_line_length += line.len();
54 };
55 }
56 (line_count as f32) * H_HEIGHT
57 });
58 match writing_mode {
59 WritingMode::Horizontal => Size { width: inline_size, height: block_size },
60 WritingMode::Vertical => Size { width: block_size, height: inline_size },
61 }
62}
63mod absolute_layout_align_items_and_justify_content_center;
64mod absolute_layout_align_items_and_justify_content_center_and_bottom_position;
65mod absolute_layout_align_items_and_justify_content_center_and_left_position;
66mod absolute_layout_align_items_and_justify_content_center_and_right_position;
67mod absolute_layout_align_items_and_justify_content_center_and_top_position;
68mod absolute_layout_align_items_and_justify_content_flex_end;
69mod absolute_layout_align_items_center;
70mod absolute_layout_align_items_center_on_child_only;
71mod absolute_layout_child_order;
72mod absolute_layout_in_wrap_reverse_column_container;
73mod absolute_layout_in_wrap_reverse_column_container_flex_end;
74mod absolute_layout_in_wrap_reverse_row_container;
75mod absolute_layout_in_wrap_reverse_row_container_flex_end;
76mod absolute_layout_justify_content_center;
77mod absolute_layout_no_size;
78mod absolute_layout_percentage_bottom_based_on_parent_height;
79mod absolute_layout_start_top_end_bottom;
80mod absolute_layout_width_height_end_bottom;
81mod absolute_layout_width_height_start_top;
82mod absolute_layout_width_height_start_top_end_bottom;
83mod absolute_layout_within_border;
84mod align_baseline;
85mod align_baseline_child_multiline;
86mod align_baseline_nested_child;
87mod align_center_should_size_based_on_content;
88mod align_content_space_around_single_line;
89mod align_content_space_around_wrapped;
90mod align_content_space_between_single_line;
91mod align_content_space_between_wrapped;
92mod align_content_space_evenly_single_line;
93mod align_content_space_evenly_wrapped;
94mod align_flex_start_with_shrinking_children;
95mod align_flex_start_with_shrinking_children_with_stretch;
96mod align_flex_start_with_stretching_children;
97mod align_items_center;
98mod align_items_center_child_with_margin_bigger_than_parent;
99mod align_items_center_child_without_margin_bigger_than_parent;
100mod align_items_center_with_child_margin;
101mod align_items_center_with_child_top;
102mod align_items_flex_end;
103mod align_items_flex_end_child_with_margin_bigger_than_parent;
104mod align_items_flex_end_child_without_margin_bigger_than_parent;
105mod align_items_flex_start;
106mod align_items_min_max;
107mod align_items_stretch;
108mod align_self_baseline;
109mod align_self_center;
110mod align_self_flex_end;
111mod align_self_flex_end_override_flex_start;
112mod align_self_flex_start;
113mod align_strech_should_size_based_on_parent;
114mod border_center_child;
115mod border_flex_child;
116mod border_no_child;
117mod border_stretch_child;
118mod child_min_max_width_flexing;
119mod container_with_unsized_child;
120mod display_none;
121mod display_none_fixed_size;
122mod display_none_with_child;
123mod display_none_with_margin;
124mod display_none_with_position;
125mod flex_basis_and_main_dimen_set_when_flexing;
126mod flex_basis_flex_grow_column;
127mod flex_basis_flex_grow_row;
128mod flex_basis_flex_shrink_column;
129mod flex_basis_flex_shrink_row;
130mod flex_basis_larger_than_content_column;
131mod flex_basis_larger_than_content_row;
132mod flex_basis_overrides_main_size;
133mod flex_basis_slightly_smaller_then_content_with_flex_grow_large_size;
134mod flex_basis_smaller_than_content_column;
135mod flex_basis_smaller_than_content_row;
136mod flex_basis_smaller_than_main_dimen_column;
137mod flex_basis_smaller_than_main_dimen_row;
138mod flex_basis_smaller_then_content_with_flex_grow_large_size;
139mod flex_basis_smaller_then_content_with_flex_grow_small_size;
140mod flex_basis_smaller_then_content_with_flex_grow_unconstraint_size;
141mod flex_basis_smaller_then_content_with_flex_grow_very_large_size;
142mod flex_basis_unconstraint_column;
143mod flex_basis_unconstraint_row;
144mod flex_direction_column;
145mod flex_direction_column_no_height;
146mod flex_direction_column_reverse;
147mod flex_direction_row;
148mod flex_direction_row_no_width;
149mod flex_direction_row_reverse;
150mod flex_grow_child;
151mod flex_grow_flex_basis_percent_min_max;
152mod flex_grow_height_maximized;
153mod flex_grow_in_at_most_container;
154mod flex_grow_less_than_factor_one;
155mod flex_grow_root_minimized;
156mod flex_grow_shrink_at_most;
157mod flex_grow_to_min;
158mod flex_grow_within_constrained_max_column;
159mod flex_grow_within_constrained_max_row;
160mod flex_grow_within_constrained_max_width;
161mod flex_grow_within_constrained_min_column;
162mod flex_grow_within_constrained_min_max_column;
163mod flex_grow_within_constrained_min_row;
164mod flex_grow_within_max_width;
165mod flex_root_ignored;
166mod flex_shrink_by_outer_margin_with_max_size;
167mod flex_shrink_flex_grow_child_flex_shrink_other_child;
168mod flex_shrink_flex_grow_row;
169mod flex_shrink_to_zero;
170mod flex_wrap_align_stretch_fits_one_row;
171mod flex_wrap_children_with_min_main_overriding_flex_basis;
172mod flex_wrap_wrap_to_child_height;
173mod gap_column_gap_child_margins;
174mod gap_column_gap_determines_parent_width;
175mod gap_column_gap_flexible;
176mod gap_column_gap_flexible_undefined_parent;
177mod gap_column_gap_inflexible;
178mod gap_column_gap_inflexible_undefined_parent;
179mod gap_column_gap_justify_center;
180mod gap_column_gap_justify_flex_end;
181mod gap_column_gap_justify_flex_start;
182mod gap_column_gap_justify_space_around;
183mod gap_column_gap_justify_space_between;
184mod gap_column_gap_justify_space_evenly;
185mod gap_column_gap_mixed_flexible;
186mod gap_column_gap_percentage_cyclic_partially_shrinkable;
187mod gap_column_gap_percentage_cyclic_shrinkable;
188mod gap_column_gap_percentage_cyclic_unshrinkable;
189mod gap_column_gap_percentage_flexible;
190mod gap_column_gap_percentage_flexible_with_padding;
191mod gap_column_gap_percentage_inflexible;
192mod gap_column_gap_wrap_align_center;
193mod gap_column_gap_wrap_align_flex_end;
194mod gap_column_gap_wrap_align_flex_start;
195mod gap_column_gap_wrap_align_space_around;
196mod gap_column_gap_wrap_align_space_between;
197mod gap_column_gap_wrap_align_stretch;
198mod gap_column_row_gap_wrapping;
199mod gap_percentage_row_gap_wrapping;
200mod gap_row_gap_align_items_end;
201mod gap_row_gap_align_items_stretch;
202mod gap_row_gap_column_child_margins;
203mod gap_row_gap_determines_parent_height;
204mod gap_row_gap_row_wrap_child_margins;
205#[cfg(feature = "grid")]
206mod grid_absolute_align_self_sized_all;
207#[cfg(feature = "grid")]
208mod grid_absolute_column_end;
209#[cfg(feature = "grid")]
210mod grid_absolute_column_start;
211#[cfg(feature = "grid")]
212mod grid_absolute_container_bottom_left;
213#[cfg(feature = "grid")]
214mod grid_absolute_container_bottom_left_margin;
215#[cfg(feature = "grid")]
216mod grid_absolute_container_left_overrides_right;
217#[cfg(feature = "grid")]
218mod grid_absolute_container_left_right;
219#[cfg(feature = "grid")]
220mod grid_absolute_container_left_right_margin;
221#[cfg(feature = "grid")]
222mod grid_absolute_container_negative_position;
223#[cfg(feature = "grid")]
224mod grid_absolute_container_negative_position_margin;
225#[cfg(feature = "grid")]
226mod grid_absolute_container_top_bottom;
227#[cfg(feature = "grid")]
228mod grid_absolute_container_top_bottom_margin;
229#[cfg(feature = "grid")]
230mod grid_absolute_container_top_right;
231#[cfg(feature = "grid")]
232mod grid_absolute_container_top_right_margin;
233#[cfg(feature = "grid")]
234mod grid_absolute_justify_self_sized_all;
235#[cfg(feature = "grid")]
236mod grid_absolute_row_end;
237#[cfg(feature = "grid")]
238mod grid_absolute_row_start;
239#[cfg(feature = "grid")]
240mod grid_absolute_top_overrides_bottom;
241#[cfg(feature = "grid")]
242mod grid_absolute_with_padding;
243#[cfg(feature = "grid")]
244mod grid_absolute_with_padding_and_margin;
245#[cfg(feature = "grid")]
246mod grid_align_content_center;
247#[cfg(feature = "grid")]
248mod grid_align_content_end;
249#[cfg(feature = "grid")]
250mod grid_align_content_end_with_padding_border;
251#[cfg(feature = "grid")]
252mod grid_align_content_space_around;
253#[cfg(feature = "grid")]
254mod grid_align_content_space_around_with_padding_border;
255#[cfg(feature = "grid")]
256mod grid_align_content_space_between;
257#[cfg(feature = "grid")]
258mod grid_align_content_space_between_with_padding_border;
259#[cfg(feature = "grid")]
260mod grid_align_content_space_evenly;
261#[cfg(feature = "grid")]
262mod grid_align_content_space_evenly_with_padding_border;
263#[cfg(feature = "grid")]
264mod grid_align_content_start;
265#[cfg(feature = "grid")]
266mod grid_align_content_start_with_padding_border;
267#[cfg(feature = "grid")]
268mod grid_align_items_sized_center;
269#[cfg(feature = "grid")]
270mod grid_align_items_sized_end;
271#[cfg(feature = "grid")]
272mod grid_align_items_sized_start;
273#[cfg(feature = "grid")]
274mod grid_align_items_sized_stretch;
275#[cfg(feature = "grid")]
276mod grid_align_self_sized_all;
277#[cfg(feature = "grid")]
278mod grid_auto_columns_fixed_width;
279#[cfg(feature = "grid")]
280mod grid_auto_fill_fixed_size;
281#[cfg(feature = "grid")]
282mod grid_auto_fill_with_empty_auto_track;
283#[cfg(feature = "grid")]
284mod grid_auto_fit_with_empty_auto_track;
285#[cfg(feature = "grid")]
286mod grid_auto_single_item;
287#[cfg(feature = "grid")]
288mod grid_auto_single_item_fixed_width;
289#[cfg(feature = "grid")]
290mod grid_auto_single_item_fixed_width_with_definite_width;
291#[cfg(feature = "grid")]
292mod grid_basic;
293#[cfg(feature = "grid")]
294mod grid_basic_implicit_tracks;
295#[cfg(feature = "grid")]
296mod grid_basic_with_overflow;
297#[cfg(feature = "grid")]
298mod grid_basic_with_padding;
299#[cfg(feature = "grid")]
300mod grid_fit_content_points_argument;
301#[cfg(feature = "grid")]
302mod grid_fit_content_points_max_content;
303#[cfg(feature = "grid")]
304mod grid_fit_content_points_min_content;
305#[cfg(feature = "grid")]
306mod grid_fr_auto_no_sized_items;
307#[cfg(feature = "grid")]
308mod grid_fr_auto_single_item;
309#[cfg(feature = "grid")]
310mod grid_fr_fixed_size_no_content;
311#[cfg(feature = "grid")]
312mod grid_fr_fixed_size_single_item;
313#[cfg(feature = "grid")]
314mod grid_gap;
315#[cfg(feature = "grid")]
316mod grid_hidden;
317#[cfg(feature = "grid")]
318mod grid_justify_content_center;
319#[cfg(feature = "grid")]
320mod grid_justify_content_center_with_padding_border;
321#[cfg(feature = "grid")]
322mod grid_justify_content_end;
323#[cfg(feature = "grid")]
324mod grid_justify_content_end_with_padding_border;
325#[cfg(feature = "grid")]
326mod grid_justify_content_space_around;
327#[cfg(feature = "grid")]
328mod grid_justify_content_space_around_with_padding_border;
329#[cfg(feature = "grid")]
330mod grid_justify_content_space_between;
331#[cfg(feature = "grid")]
332mod grid_justify_content_space_between_with_padding_border;
333#[cfg(feature = "grid")]
334mod grid_justify_content_space_evenly;
335#[cfg(feature = "grid")]
336mod grid_justify_content_space_evenly_with_padding_border;
337#[cfg(feature = "grid")]
338mod grid_justify_content_start;
339#[cfg(feature = "grid")]
340mod grid_justify_content_start_with_padding_border;
341#[cfg(feature = "grid")]
342mod grid_justify_items_sized_center;
343#[cfg(feature = "grid")]
344mod grid_justify_items_sized_end;
345#[cfg(feature = "grid")]
346mod grid_justify_items_sized_start;
347#[cfg(feature = "grid")]
348mod grid_justify_items_sized_stretch;
349#[cfg(feature = "grid")]
350mod grid_justify_self_sized_all;
351#[cfg(feature = "grid")]
352mod grid_margins_auto_margins;
353#[cfg(feature = "grid")]
354mod grid_margins_auto_margins_override_stretch;
355#[cfg(feature = "grid")]
356mod grid_margins_fixed_center;
357#[cfg(feature = "grid")]
358mod grid_margins_fixed_end;
359#[cfg(feature = "grid")]
360mod grid_margins_fixed_start;
361#[cfg(feature = "grid")]
362mod grid_margins_fixed_stretch;
363#[cfg(feature = "grid")]
364mod grid_margins_percent_center;
365#[cfg(feature = "grid")]
366mod grid_margins_percent_end;
367#[cfg(feature = "grid")]
368mod grid_margins_percent_start;
369#[cfg(feature = "grid")]
370mod grid_margins_percent_stretch;
371#[cfg(feature = "grid")]
372mod grid_max_content_maximum_single_item;
373#[cfg(feature = "grid")]
374mod grid_max_content_single_item;
375#[cfg(feature = "grid")]
376mod grid_max_content_single_item_margin_auto;
377#[cfg(feature = "grid")]
378mod grid_max_content_single_item_margin_fixed;
379#[cfg(feature = "grid")]
380mod grid_max_content_single_item_margin_percent;
381#[cfg(feature = "grid")]
382mod grid_min_content_flex_column;
383#[cfg(feature = "grid")]
384mod grid_min_content_flex_row;
385#[cfg(feature = "grid")]
386mod grid_min_content_flex_single_item;
387#[cfg(feature = "grid")]
388mod grid_min_content_flex_single_item_margin_auto;
389#[cfg(feature = "grid")]
390mod grid_min_content_flex_single_item_margin_fixed;
391#[cfg(feature = "grid")]
392mod grid_min_content_flex_single_item_margin_percent;
393#[cfg(feature = "grid")]
394mod grid_min_content_maximum_single_item;
395#[cfg(feature = "grid")]
396mod grid_min_content_single_item;
397#[cfg(feature = "grid")]
398mod grid_min_max_column_auto;
399#[cfg(feature = "grid")]
400mod grid_min_max_column_fixed_width_above_range;
401#[cfg(feature = "grid")]
402mod grid_min_max_column_fixed_width_below_range;
403#[cfg(feature = "grid")]
404mod grid_min_max_column_fixed_width_within_range;
405#[cfg(feature = "grid")]
406mod grid_out_of_order_items;
407#[cfg(feature = "grid")]
408mod grid_percent_nested_moderate;
409#[cfg(feature = "grid")]
410mod grid_percent_nested_with_padding_margin;
411#[cfg(feature = "grid")]
412mod grid_percent_width_and_margin;
413#[cfg(feature = "grid")]
414mod grid_percent_width_and_padding;
415#[cfg(feature = "grid")]
416mod grid_placement_auto_negative;
417#[cfg(feature = "grid")]
418mod grid_placement_definite_in_secondary_axis_with_fully_definite_negative;
419#[cfg(feature = "grid")]
420mod grid_relayout_vertical_text;
421#[cfg(feature = "grid")]
422mod grid_size_child_fixed_tracks;
423mod justify_content_column_center;
424mod justify_content_column_flex_end;
425mod justify_content_column_flex_start;
426mod justify_content_column_min_height_and_margin_bottom;
427mod justify_content_column_min_height_and_margin_top;
428mod justify_content_column_space_around;
429mod justify_content_column_space_between;
430mod justify_content_column_space_evenly;
431mod justify_content_min_max;
432mod justify_content_min_width_with_padding_child_width_greater_than_parent;
433mod justify_content_min_width_with_padding_child_width_lower_than_parent;
434mod justify_content_overflow_min_max;
435mod justify_content_row_center;
436mod justify_content_row_flex_end;
437mod justify_content_row_flex_start;
438mod justify_content_row_max_width_and_margin;
439mod justify_content_row_min_width_and_margin;
440mod justify_content_row_space_around;
441mod justify_content_row_space_between;
442mod justify_content_row_space_evenly;
443mod margin_and_flex_column;
444mod margin_and_flex_row;
445mod margin_and_stretch_column;
446mod margin_and_stretch_row;
447mod margin_auto_bottom;
448mod margin_auto_bottom_and_top;
449mod margin_auto_bottom_and_top_justify_center;
450mod margin_auto_left;
451mod margin_auto_left_and_right;
452mod margin_auto_left_and_right_column;
453mod margin_auto_left_and_right_column_and_center;
454mod margin_auto_left_and_right_strech;
455mod margin_auto_left_child_bigger_than_parent;
456mod margin_auto_left_fix_right_child_bigger_than_parent;
457mod margin_auto_left_right_child_bigger_than_parent;
458mod margin_auto_left_stretching_child;
459mod margin_auto_mutiple_children_column;
460mod margin_auto_mutiple_children_row;
461mod margin_auto_right;
462mod margin_auto_top;
463mod margin_auto_top_and_bottom_strech;
464mod margin_auto_top_stretching_child;
465mod margin_bottom;
466mod margin_fix_left_auto_right_child_bigger_than_parent;
467mod margin_left;
468mod margin_right;
469mod margin_should_not_be_part_of_max_height;
470mod margin_should_not_be_part_of_max_width;
471mod margin_top;
472mod margin_with_sibling_column;
473mod margin_with_sibling_row;
474mod max_height;
475mod max_height_overrides_height;
476mod max_height_overrides_height_on_root;
477mod max_width;
478mod max_width_overrides_width;
479mod max_width_overrides_width_on_root;
480mod measure_child;
481mod measure_child_absolute;
482mod measure_child_constraint;
483mod measure_child_constraint_padding_parent;
484mod measure_child_with_flex_grow;
485mod measure_child_with_flex_shrink;
486mod measure_flex_basis_overrides_measure;
487mod measure_height_overrides_measure;
488mod measure_remeasure_child_after_growing;
489mod measure_remeasure_child_after_shrinking;
490mod measure_remeasure_child_after_stretching;
491mod measure_root;
492mod measure_stretch_overrides_measure;
493mod measure_width_overrides_measure;
494mod min_height;
495mod min_height_overrides_height;
496mod min_height_overrides_height_on_root;
497mod min_height_overrides_max_height;
498mod min_max_percent_no_width_height;
499mod min_width;
500mod min_width_overrides_max_width;
501mod min_width_overrides_width;
502mod min_width_overrides_width_on_root;
503mod nested_overflowing_child;
504mod nested_overflowing_child_in_constraint_parent;
505mod overflow_cross_axis;
506mod overflow_main_axis;
507mod padding_align_end_child;
508mod padding_center_child;
509mod padding_flex_child;
510mod padding_no_child;
511mod padding_stretch_child;
512mod parent_wrap_child_size_overflowing_parent;
513mod percent_absolute_position;
514mod percent_within_flex_grow;
515mod percentage_absolute_position;
516mod percentage_container_in_wrapping_container;
517mod percentage_flex_basis;
518mod percentage_flex_basis_cross;
519mod percentage_flex_basis_cross_max_height;
520mod percentage_flex_basis_cross_max_width;
521mod percentage_flex_basis_cross_min_height;
522mod percentage_flex_basis_cross_min_width;
523mod percentage_flex_basis_main_max_height;
524mod percentage_flex_basis_main_max_width;
525mod percentage_flex_basis_main_min_width;
526mod percentage_margin_should_calculate_based_only_on_width;
527mod percentage_moderate_complexity;
528mod percentage_multiple_nested_with_padding_margin_and_percentage_values;
529mod percentage_padding_should_calculate_based_only_on_width;
530mod percentage_position_bottom_right;
531mod percentage_position_left_top;
532mod percentage_size_based_on_parent_inner_size;
533mod percentage_size_of_flex_basis;
534mod percentage_width_height;
535mod percentage_width_height_undefined_parent_size;
536mod relative_position_should_not_nudge_siblings;
537mod rounding_flex_basis_flex_grow_row_prime_number_width;
538mod rounding_flex_basis_flex_grow_row_width_of_100;
539mod rounding_flex_basis_flex_shrink_row;
540mod rounding_flex_basis_overrides_main_size;
541mod rounding_fractial_input_1;
542mod rounding_fractial_input_2;
543mod rounding_fractial_input_3;
544mod rounding_fractial_input_4;
545mod rounding_total_fractial;
546mod rounding_total_fractial_nested;
547mod size_defined_by_child;
548mod size_defined_by_child_with_border;
549mod size_defined_by_child_with_padding;
550mod size_defined_by_grand_child;
551mod width_smaller_then_content_with_flex_grow_large_size;
552mod width_smaller_then_content_with_flex_grow_small_size;
553mod width_smaller_then_content_with_flex_grow_unconstraint_size;
554mod width_smaller_then_content_with_flex_grow_very_large_size;
555mod wrap_column;
556mod wrap_nodes_with_content_sizing_margin_cross;
557mod wrap_nodes_with_content_sizing_overflowing_margin;
558mod wrap_reverse_column;
559mod wrap_reverse_column_fixed_size;
560mod wrap_reverse_row;
561mod wrap_reverse_row_align_content_center;
562mod wrap_reverse_row_align_content_flex_start;
563mod wrap_reverse_row_align_content_space_around;
564mod wrap_reverse_row_align_content_stretch;
565mod wrap_reverse_row_single_line_different_size;
566mod wrap_row;
567mod wrap_row_align_items_center;
568mod wrap_row_align_items_flex_end;
569mod wrapped_column_max_height;
570mod wrapped_column_max_height_flex;
571mod wrapped_row_within_align_items_center;
572mod wrapped_row_within_align_items_flex_end;
573mod wrapped_row_within_align_items_flex_start;
574fn benchmark(c: &mut Criterion) {
575 c.bench_function("generated benchmarks", |b| {
576 b.iter(|| {
577 absolute_layout_align_items_and_justify_content_center::compute();
578 absolute_layout_align_items_and_justify_content_center_and_bottom_position::compute();
579 absolute_layout_align_items_and_justify_content_center_and_left_position::compute();
580 absolute_layout_align_items_and_justify_content_center_and_right_position::compute();
581 absolute_layout_align_items_and_justify_content_center_and_top_position::compute();
582 absolute_layout_align_items_and_justify_content_flex_end::compute();
583 absolute_layout_align_items_center::compute();
584 absolute_layout_align_items_center_on_child_only::compute();
585 absolute_layout_child_order::compute();
586 absolute_layout_in_wrap_reverse_column_container::compute();
587 absolute_layout_in_wrap_reverse_column_container_flex_end::compute();
588 absolute_layout_in_wrap_reverse_row_container::compute();
589 absolute_layout_in_wrap_reverse_row_container_flex_end::compute();
590 absolute_layout_justify_content_center::compute();
591 absolute_layout_no_size::compute();
592 absolute_layout_percentage_bottom_based_on_parent_height::compute();
593 absolute_layout_start_top_end_bottom::compute();
594 absolute_layout_width_height_end_bottom::compute();
595 absolute_layout_width_height_start_top::compute();
596 absolute_layout_width_height_start_top_end_bottom::compute();
597 absolute_layout_within_border::compute();
598 align_baseline::compute();
599 align_baseline_child_multiline::compute();
600 align_baseline_nested_child::compute();
601 align_center_should_size_based_on_content::compute();
602 align_content_space_around_single_line::compute();
603 align_content_space_around_wrapped::compute();
604 align_content_space_between_single_line::compute();
605 align_content_space_between_wrapped::compute();
606 align_content_space_evenly_single_line::compute();
607 align_content_space_evenly_wrapped::compute();
608 align_flex_start_with_shrinking_children::compute();
609 align_flex_start_with_shrinking_children_with_stretch::compute();
610 align_flex_start_with_stretching_children::compute();
611 align_items_center::compute();
612 align_items_center_child_with_margin_bigger_than_parent::compute();
613 align_items_center_child_without_margin_bigger_than_parent::compute();
614 align_items_center_with_child_margin::compute();
615 align_items_center_with_child_top::compute();
616 align_items_flex_end::compute();
617 align_items_flex_end_child_with_margin_bigger_than_parent::compute();
618 align_items_flex_end_child_without_margin_bigger_than_parent::compute();
619 align_items_flex_start::compute();
620 align_items_min_max::compute();
621 align_items_stretch::compute();
622 align_self_baseline::compute();
623 align_self_center::compute();
624 align_self_flex_end::compute();
625 align_self_flex_end_override_flex_start::compute();
626 align_self_flex_start::compute();
627 align_strech_should_size_based_on_parent::compute();
628 border_center_child::compute();
629 border_flex_child::compute();
630 border_no_child::compute();
631 border_stretch_child::compute();
632 child_min_max_width_flexing::compute();
633 container_with_unsized_child::compute();
634 display_none::compute();
635 display_none_fixed_size::compute();
636 display_none_with_child::compute();
637 display_none_with_margin::compute();
638 display_none_with_position::compute();
639 flex_basis_and_main_dimen_set_when_flexing::compute();
640 flex_basis_flex_grow_column::compute();
641 flex_basis_flex_grow_row::compute();
642 flex_basis_flex_shrink_column::compute();
643 flex_basis_flex_shrink_row::compute();
644 flex_basis_larger_than_content_column::compute();
645 flex_basis_larger_than_content_row::compute();
646 flex_basis_overrides_main_size::compute();
647 flex_basis_slightly_smaller_then_content_with_flex_grow_large_size::compute();
648 flex_basis_smaller_than_content_column::compute();
649 flex_basis_smaller_than_content_row::compute();
650 flex_basis_smaller_than_main_dimen_column::compute();
651 flex_basis_smaller_than_main_dimen_row::compute();
652 flex_basis_smaller_then_content_with_flex_grow_large_size::compute();
653 flex_basis_smaller_then_content_with_flex_grow_small_size::compute();
654 flex_basis_smaller_then_content_with_flex_grow_unconstraint_size::compute();
655 flex_basis_smaller_then_content_with_flex_grow_very_large_size::compute();
656 flex_basis_unconstraint_column::compute();
657 flex_basis_unconstraint_row::compute();
658 flex_direction_column::compute();
659 flex_direction_column_no_height::compute();
660 flex_direction_column_reverse::compute();
661 flex_direction_row::compute();
662 flex_direction_row_no_width::compute();
663 flex_direction_row_reverse::compute();
664 flex_grow_child::compute();
665 flex_grow_flex_basis_percent_min_max::compute();
666 flex_grow_height_maximized::compute();
667 flex_grow_in_at_most_container::compute();
668 flex_grow_less_than_factor_one::compute();
669 flex_grow_root_minimized::compute();
670 flex_grow_shrink_at_most::compute();
671 flex_grow_to_min::compute();
672 flex_grow_within_constrained_max_column::compute();
673 flex_grow_within_constrained_max_row::compute();
674 flex_grow_within_constrained_max_width::compute();
675 flex_grow_within_constrained_min_column::compute();
676 flex_grow_within_constrained_min_max_column::compute();
677 flex_grow_within_constrained_min_row::compute();
678 flex_grow_within_max_width::compute();
679 flex_root_ignored::compute();
680 flex_shrink_by_outer_margin_with_max_size::compute();
681 flex_shrink_flex_grow_child_flex_shrink_other_child::compute();
682 flex_shrink_flex_grow_row::compute();
683 flex_shrink_to_zero::compute();
684 flex_wrap_align_stretch_fits_one_row::compute();
685 flex_wrap_children_with_min_main_overriding_flex_basis::compute();
686 flex_wrap_wrap_to_child_height::compute();
687 gap_column_gap_child_margins::compute();
688 gap_column_gap_determines_parent_width::compute();
689 gap_column_gap_flexible::compute();
690 gap_column_gap_flexible_undefined_parent::compute();
691 gap_column_gap_inflexible::compute();
692 gap_column_gap_inflexible_undefined_parent::compute();
693 gap_column_gap_justify_center::compute();
694 gap_column_gap_justify_flex_end::compute();
695 gap_column_gap_justify_flex_start::compute();
696 gap_column_gap_justify_space_around::compute();
697 gap_column_gap_justify_space_between::compute();
698 gap_column_gap_justify_space_evenly::compute();
699 gap_column_gap_mixed_flexible::compute();
700 gap_column_gap_percentage_cyclic_partially_shrinkable::compute();
701 gap_column_gap_percentage_cyclic_shrinkable::compute();
702 gap_column_gap_percentage_cyclic_unshrinkable::compute();
703 gap_column_gap_percentage_flexible::compute();
704 gap_column_gap_percentage_flexible_with_padding::compute();
705 gap_column_gap_percentage_inflexible::compute();
706 gap_column_gap_wrap_align_center::compute();
707 gap_column_gap_wrap_align_flex_end::compute();
708 gap_column_gap_wrap_align_flex_start::compute();
709 gap_column_gap_wrap_align_space_around::compute();
710 gap_column_gap_wrap_align_space_between::compute();
711 gap_column_gap_wrap_align_stretch::compute();
712 gap_column_row_gap_wrapping::compute();
713 gap_percentage_row_gap_wrapping::compute();
714 gap_row_gap_align_items_end::compute();
715 gap_row_gap_align_items_stretch::compute();
716 gap_row_gap_column_child_margins::compute();
717 gap_row_gap_determines_parent_height::compute();
718 gap_row_gap_row_wrap_child_margins::compute();
719 #[cfg(feature = "grid")]
720 grid_absolute_align_self_sized_all::compute();
721 #[cfg(feature = "grid")]
722 grid_absolute_column_end::compute();
723 #[cfg(feature = "grid")]
724 grid_absolute_column_start::compute();
725 #[cfg(feature = "grid")]
726 grid_absolute_container_bottom_left::compute();
727 #[cfg(feature = "grid")]
728 grid_absolute_container_bottom_left_margin::compute();
729 #[cfg(feature = "grid")]
730 grid_absolute_container_left_overrides_right::compute();
731 #[cfg(feature = "grid")]
732 grid_absolute_container_left_right::compute();
733 #[cfg(feature = "grid")]
734 grid_absolute_container_left_right_margin::compute();
735 #[cfg(feature = "grid")]
736 grid_absolute_container_negative_position::compute();
737 #[cfg(feature = "grid")]
738 grid_absolute_container_negative_position_margin::compute();
739 #[cfg(feature = "grid")]
740 grid_absolute_container_top_bottom::compute();
741 #[cfg(feature = "grid")]
742 grid_absolute_container_top_bottom_margin::compute();
743 #[cfg(feature = "grid")]
744 grid_absolute_container_top_right::compute();
745 #[cfg(feature = "grid")]
746 grid_absolute_container_top_right_margin::compute();
747 #[cfg(feature = "grid")]
748 grid_absolute_justify_self_sized_all::compute();
749 #[cfg(feature = "grid")]
750 grid_absolute_row_end::compute();
751 #[cfg(feature = "grid")]
752 grid_absolute_row_start::compute();
753 #[cfg(feature = "grid")]
754 grid_absolute_top_overrides_bottom::compute();
755 #[cfg(feature = "grid")]
756 grid_absolute_with_padding::compute();
757 #[cfg(feature = "grid")]
758 grid_absolute_with_padding_and_margin::compute();
759 #[cfg(feature = "grid")]
760 grid_align_content_center::compute();
761 #[cfg(feature = "grid")]
762 grid_align_content_end::compute();
763 #[cfg(feature = "grid")]
764 grid_align_content_end_with_padding_border::compute();
765 #[cfg(feature = "grid")]
766 grid_align_content_space_around::compute();
767 #[cfg(feature = "grid")]
768 grid_align_content_space_around_with_padding_border::compute();
769 #[cfg(feature = "grid")]
770 grid_align_content_space_between::compute();
771 #[cfg(feature = "grid")]
772 grid_align_content_space_between_with_padding_border::compute();
773 #[cfg(feature = "grid")]
774 grid_align_content_space_evenly::compute();
775 #[cfg(feature = "grid")]
776 grid_align_content_space_evenly_with_padding_border::compute();
777 #[cfg(feature = "grid")]
778 grid_align_content_start::compute();
779 #[cfg(feature = "grid")]
780 grid_align_content_start_with_padding_border::compute();
781 #[cfg(feature = "grid")]
782 grid_align_items_sized_center::compute();
783 #[cfg(feature = "grid")]
784 grid_align_items_sized_end::compute();
785 #[cfg(feature = "grid")]
786 grid_align_items_sized_start::compute();
787 #[cfg(feature = "grid")]
788 grid_align_items_sized_stretch::compute();
789 #[cfg(feature = "grid")]
790 grid_align_self_sized_all::compute();
791 #[cfg(feature = "grid")]
792 grid_auto_columns_fixed_width::compute();
793 #[cfg(feature = "grid")]
794 grid_auto_fill_fixed_size::compute();
795 #[cfg(feature = "grid")]
796 grid_auto_fill_with_empty_auto_track::compute();
797 #[cfg(feature = "grid")]
798 grid_auto_fit_with_empty_auto_track::compute();
799 #[cfg(feature = "grid")]
800 grid_auto_single_item::compute();
801 #[cfg(feature = "grid")]
802 grid_auto_single_item_fixed_width::compute();
803 #[cfg(feature = "grid")]
804 grid_auto_single_item_fixed_width_with_definite_width::compute();
805 #[cfg(feature = "grid")]
806 grid_basic::compute();
807 #[cfg(feature = "grid")]
808 grid_basic_implicit_tracks::compute();
809 #[cfg(feature = "grid")]
810 grid_basic_with_overflow::compute();
811 #[cfg(feature = "grid")]
812 grid_basic_with_padding::compute();
813 #[cfg(feature = "grid")]
814 grid_fit_content_points_argument::compute();
815 #[cfg(feature = "grid")]
816 grid_fit_content_points_max_content::compute();
817 #[cfg(feature = "grid")]
818 grid_fit_content_points_min_content::compute();
819 #[cfg(feature = "grid")]
820 grid_fr_auto_no_sized_items::compute();
821 #[cfg(feature = "grid")]
822 grid_fr_auto_single_item::compute();
823 #[cfg(feature = "grid")]
824 grid_fr_fixed_size_no_content::compute();
825 #[cfg(feature = "grid")]
826 grid_fr_fixed_size_single_item::compute();
827 #[cfg(feature = "grid")]
828 grid_gap::compute();
829 #[cfg(feature = "grid")]
830 grid_hidden::compute();
831 #[cfg(feature = "grid")]
832 grid_justify_content_center::compute();
833 #[cfg(feature = "grid")]
834 grid_justify_content_center_with_padding_border::compute();
835 #[cfg(feature = "grid")]
836 grid_justify_content_end::compute();
837 #[cfg(feature = "grid")]
838 grid_justify_content_end_with_padding_border::compute();
839 #[cfg(feature = "grid")]
840 grid_justify_content_space_around::compute();
841 #[cfg(feature = "grid")]
842 grid_justify_content_space_around_with_padding_border::compute();
843 #[cfg(feature = "grid")]
844 grid_justify_content_space_between::compute();
845 #[cfg(feature = "grid")]
846 grid_justify_content_space_between_with_padding_border::compute();
847 #[cfg(feature = "grid")]
848 grid_justify_content_space_evenly::compute();
849 #[cfg(feature = "grid")]
850 grid_justify_content_space_evenly_with_padding_border::compute();
851 #[cfg(feature = "grid")]
852 grid_justify_content_start::compute();
853 #[cfg(feature = "grid")]
854 grid_justify_content_start_with_padding_border::compute();
855 #[cfg(feature = "grid")]
856 grid_justify_items_sized_center::compute();
857 #[cfg(feature = "grid")]
858 grid_justify_items_sized_end::compute();
859 #[cfg(feature = "grid")]
860 grid_justify_items_sized_start::compute();
861 #[cfg(feature = "grid")]
862 grid_justify_items_sized_stretch::compute();
863 #[cfg(feature = "grid")]
864 grid_justify_self_sized_all::compute();
865 #[cfg(feature = "grid")]
866 grid_margins_auto_margins::compute();
867 #[cfg(feature = "grid")]
868 grid_margins_auto_margins_override_stretch::compute();
869 #[cfg(feature = "grid")]
870 grid_margins_fixed_center::compute();
871 #[cfg(feature = "grid")]
872 grid_margins_fixed_end::compute();
873 #[cfg(feature = "grid")]
874 grid_margins_fixed_start::compute();
875 #[cfg(feature = "grid")]
876 grid_margins_fixed_stretch::compute();
877 #[cfg(feature = "grid")]
878 grid_margins_percent_center::compute();
879 #[cfg(feature = "grid")]
880 grid_margins_percent_end::compute();
881 #[cfg(feature = "grid")]
882 grid_margins_percent_start::compute();
883 #[cfg(feature = "grid")]
884 grid_margins_percent_stretch::compute();
885 #[cfg(feature = "grid")]
886 grid_max_content_maximum_single_item::compute();
887 #[cfg(feature = "grid")]
888 grid_max_content_single_item::compute();
889 #[cfg(feature = "grid")]
890 grid_max_content_single_item_margin_auto::compute();
891 #[cfg(feature = "grid")]
892 grid_max_content_single_item_margin_fixed::compute();
893 #[cfg(feature = "grid")]
894 grid_max_content_single_item_margin_percent::compute();
895 #[cfg(feature = "grid")]
896 grid_min_content_flex_column::compute();
897 #[cfg(feature = "grid")]
898 grid_min_content_flex_row::compute();
899 #[cfg(feature = "grid")]
900 grid_min_content_flex_single_item::compute();
901 #[cfg(feature = "grid")]
902 grid_min_content_flex_single_item_margin_auto::compute();
903 #[cfg(feature = "grid")]
904 grid_min_content_flex_single_item_margin_fixed::compute();
905 #[cfg(feature = "grid")]
906 grid_min_content_flex_single_item_margin_percent::compute();
907 #[cfg(feature = "grid")]
908 grid_min_content_maximum_single_item::compute();
909 #[cfg(feature = "grid")]
910 grid_min_content_single_item::compute();
911 #[cfg(feature = "grid")]
912 grid_min_max_column_auto::compute();
913 #[cfg(feature = "grid")]
914 grid_min_max_column_fixed_width_above_range::compute();
915 #[cfg(feature = "grid")]
916 grid_min_max_column_fixed_width_below_range::compute();
917 #[cfg(feature = "grid")]
918 grid_min_max_column_fixed_width_within_range::compute();
919 #[cfg(feature = "grid")]
920 grid_out_of_order_items::compute();
921 #[cfg(feature = "grid")]
922 grid_percent_nested_moderate::compute();
923 #[cfg(feature = "grid")]
924 grid_percent_nested_with_padding_margin::compute();
925 #[cfg(feature = "grid")]
926 grid_percent_width_and_margin::compute();
927 #[cfg(feature = "grid")]
928 grid_percent_width_and_padding::compute();
929 #[cfg(feature = "grid")]
930 grid_placement_auto_negative::compute();
931 #[cfg(feature = "grid")]
932 grid_placement_definite_in_secondary_axis_with_fully_definite_negative::compute();
933 #[cfg(feature = "grid")]
934 grid_relayout_vertical_text::compute();
935 #[cfg(feature = "grid")]
936 grid_size_child_fixed_tracks::compute();
937 justify_content_column_center::compute();
938 justify_content_column_flex_end::compute();
939 justify_content_column_flex_start::compute();
940 justify_content_column_min_height_and_margin_bottom::compute();
941 justify_content_column_min_height_and_margin_top::compute();
942 justify_content_column_space_around::compute();
943 justify_content_column_space_between::compute();
944 justify_content_column_space_evenly::compute();
945 justify_content_min_max::compute();
946 justify_content_min_width_with_padding_child_width_greater_than_parent::compute();
947 justify_content_min_width_with_padding_child_width_lower_than_parent::compute();
948 justify_content_overflow_min_max::compute();
949 justify_content_row_center::compute();
950 justify_content_row_flex_end::compute();
951 justify_content_row_flex_start::compute();
952 justify_content_row_max_width_and_margin::compute();
953 justify_content_row_min_width_and_margin::compute();
954 justify_content_row_space_around::compute();
955 justify_content_row_space_between::compute();
956 justify_content_row_space_evenly::compute();
957 margin_and_flex_column::compute();
958 margin_and_flex_row::compute();
959 margin_and_stretch_column::compute();
960 margin_and_stretch_row::compute();
961 margin_auto_bottom::compute();
962 margin_auto_bottom_and_top::compute();
963 margin_auto_bottom_and_top_justify_center::compute();
964 margin_auto_left::compute();
965 margin_auto_left_and_right::compute();
966 margin_auto_left_and_right_column::compute();
967 margin_auto_left_and_right_column_and_center::compute();
968 margin_auto_left_and_right_strech::compute();
969 margin_auto_left_child_bigger_than_parent::compute();
970 margin_auto_left_fix_right_child_bigger_than_parent::compute();
971 margin_auto_left_right_child_bigger_than_parent::compute();
972 margin_auto_left_stretching_child::compute();
973 margin_auto_mutiple_children_column::compute();
974 margin_auto_mutiple_children_row::compute();
975 margin_auto_right::compute();
976 margin_auto_top::compute();
977 margin_auto_top_and_bottom_strech::compute();
978 margin_auto_top_stretching_child::compute();
979 margin_bottom::compute();
980 margin_fix_left_auto_right_child_bigger_than_parent::compute();
981 margin_left::compute();
982 margin_right::compute();
983 margin_should_not_be_part_of_max_height::compute();
984 margin_should_not_be_part_of_max_width::compute();
985 margin_top::compute();
986 margin_with_sibling_column::compute();
987 margin_with_sibling_row::compute();
988 max_height::compute();
989 max_height_overrides_height::compute();
990 max_height_overrides_height_on_root::compute();
991 max_width::compute();
992 max_width_overrides_width::compute();
993 max_width_overrides_width_on_root::compute();
994 measure_child::compute();
995 measure_child_absolute::compute();
996 measure_child_constraint::compute();
997 measure_child_constraint_padding_parent::compute();
998 measure_child_with_flex_grow::compute();
999 measure_child_with_flex_shrink::compute();
1000 measure_flex_basis_overrides_measure::compute();
1001 measure_height_overrides_measure::compute();
1002 measure_remeasure_child_after_growing::compute();
1003 measure_remeasure_child_after_shrinking::compute();
1004 measure_remeasure_child_after_stretching::compute();
1005 measure_root::compute();
1006 measure_stretch_overrides_measure::compute();
1007 measure_width_overrides_measure::compute();
1008 min_height::compute();
1009 min_height_overrides_height::compute();
1010 min_height_overrides_height_on_root::compute();
1011 min_height_overrides_max_height::compute();
1012 min_max_percent_no_width_height::compute();
1013 min_width::compute();
1014 min_width_overrides_max_width::compute();
1015 min_width_overrides_width::compute();
1016 min_width_overrides_width_on_root::compute();
1017 nested_overflowing_child::compute();
1018 nested_overflowing_child_in_constraint_parent::compute();
1019 overflow_cross_axis::compute();
1020 overflow_main_axis::compute();
1021 padding_align_end_child::compute();
1022 padding_center_child::compute();
1023 padding_flex_child::compute();
1024 padding_no_child::compute();
1025 padding_stretch_child::compute();
1026 parent_wrap_child_size_overflowing_parent::compute();
1027 percent_absolute_position::compute();
1028 percent_within_flex_grow::compute();
1029 percentage_absolute_position::compute();
1030 percentage_container_in_wrapping_container::compute();
1031 percentage_flex_basis::compute();
1032 percentage_flex_basis_cross::compute();
1033 percentage_flex_basis_cross_max_height::compute();
1034 percentage_flex_basis_cross_max_width::compute();
1035 percentage_flex_basis_cross_min_height::compute();
1036 percentage_flex_basis_cross_min_width::compute();
1037 percentage_flex_basis_main_max_height::compute();
1038 percentage_flex_basis_main_max_width::compute();
1039 percentage_flex_basis_main_min_width::compute();
1040 percentage_margin_should_calculate_based_only_on_width::compute();
1041 percentage_moderate_complexity::compute();
1042 percentage_multiple_nested_with_padding_margin_and_percentage_values::compute();
1043 percentage_padding_should_calculate_based_only_on_width::compute();
1044 percentage_position_bottom_right::compute();
1045 percentage_position_left_top::compute();
1046 percentage_size_based_on_parent_inner_size::compute();
1047 percentage_size_of_flex_basis::compute();
1048 percentage_width_height::compute();
1049 percentage_width_height_undefined_parent_size::compute();
1050 relative_position_should_not_nudge_siblings::compute();
1051 rounding_flex_basis_flex_grow_row_prime_number_width::compute();
1052 rounding_flex_basis_flex_grow_row_width_of_100::compute();
1053 rounding_flex_basis_flex_shrink_row::compute();
1054 rounding_flex_basis_overrides_main_size::compute();
1055 rounding_fractial_input_1::compute();
1056 rounding_fractial_input_2::compute();
1057 rounding_fractial_input_3::compute();
1058 rounding_fractial_input_4::compute();
1059 rounding_total_fractial::compute();
1060 rounding_total_fractial_nested::compute();
1061 size_defined_by_child::compute();
1062 size_defined_by_child_with_border::compute();
1063 size_defined_by_child_with_padding::compute();
1064 size_defined_by_grand_child::compute();
1065 width_smaller_then_content_with_flex_grow_large_size::compute();
1066 width_smaller_then_content_with_flex_grow_small_size::compute();
1067 width_smaller_then_content_with_flex_grow_unconstraint_size::compute();
1068 width_smaller_then_content_with_flex_grow_very_large_size::compute();
1069 wrap_column::compute();
1070 wrap_nodes_with_content_sizing_margin_cross::compute();
1071 wrap_nodes_with_content_sizing_overflowing_margin::compute();
1072 wrap_reverse_column::compute();
1073 wrap_reverse_column_fixed_size::compute();
1074 wrap_reverse_row::compute();
1075 wrap_reverse_row_align_content_center::compute();
1076 wrap_reverse_row_align_content_flex_start::compute();
1077 wrap_reverse_row_align_content_space_around::compute();
1078 wrap_reverse_row_align_content_stretch::compute();
1079 wrap_reverse_row_single_line_different_size::compute();
1080 wrap_row::compute();
1081 wrap_row_align_items_center::compute();
1082 wrap_row_align_items_flex_end::compute();
1083 wrapped_column_max_height::compute();
1084 wrapped_column_max_height_flex::compute();
1085 wrapped_row_within_align_items_center::compute();
1086 wrapped_row_within_align_items_flex_end::compute();
1087 wrapped_row_within_align_items_flex_start::compute();
1088 })
1089 });
1090}
1091criterion_group!(benches, benchmark);
1092criterion_main!(benches);