tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

HTML 231Rust 9TOML 3CSS 1345 Definitions

⎇ b91874d4e34ecc9054b468a338ffcae6f61a1b4a benches/generated/mod.rs Rust · 1401 lines · 62.5 KB History Who touched what raw

Fix flexbox baseline alignment (#325) b91874d4e · Nico Burns ·

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    _aspect_ratio: Option<f32>,
15) -> taffy::geometry::Size<f32> {
16    use taffy::axis::AbsoluteAxis;
17    use taffy::prelude::*;
18    const ZWS: char = '\u{200B}';
19    const H_WIDTH: f32 = 10.0;
20    const H_HEIGHT: f32 = 10.0;
21    if let Size { width: Some(width), height: Some(height) } = known_dimensions {
22        return Size { width, height };
23    }
24    let inline_axis = match writing_mode {
25        WritingMode::Horizontal => AbsoluteAxis::Horizontal,
26        WritingMode::Vertical => AbsoluteAxis::Vertical,
27    };
28    let block_axis = inline_axis.other_axis();
29    let lines: Vec<&str> = text_content.split(ZWS).collect();
30    if lines.is_empty() {
31        return Size::ZERO;
32    }
33    let min_line_length: usize = lines.iter().map(|line| line.len()).max().unwrap_or(0);
34    let max_line_length: usize = lines.iter().map(|line| line.len()).sum();
35    let inline_size =
36        known_dimensions.get_abs(inline_axis).unwrap_or_else(|| match available_space.get_abs(inline_axis) {
37            AvailableSpace::MinContent => min_line_length as f32 * H_WIDTH,
38            AvailableSpace::MaxContent => max_line_length as f32 * H_WIDTH,
39            AvailableSpace::Definite(inline_size) => {
40                inline_size.min(max_line_length as f32 * H_WIDTH).max(min_line_length as f32 * H_WIDTH)
41            }
42        });
43    let block_size = known_dimensions.get_abs(block_axis).unwrap_or_else(|| {
44        let inline_line_length = (inline_size / H_WIDTH).floor() as usize;
45        let mut line_count = 1;
46        let mut current_line_length = 0;
47        for line in &lines {
48            if current_line_length + line.len() > inline_line_length {
49                if current_line_length > 0 {
50                    line_count += 1
51                };
52                current_line_length = line.len();
53            } else {
54                current_line_length += line.len();
55            };
56        }
57        (line_count as f32) * H_HEIGHT
58    });
59    match writing_mode {
60        WritingMode::Horizontal => Size { width: inline_size, height: block_size },
61        WritingMode::Vertical => Size { width: block_size, height: inline_size },
62    }
63}
64mod absolute_aspect_ratio_aspect_ratio_overrides_height_of_full_inset;
65mod absolute_aspect_ratio_fill_height;
66mod absolute_aspect_ratio_fill_height_from_inset;
67mod absolute_aspect_ratio_fill_max_height;
68mod absolute_aspect_ratio_fill_max_width;
69mod absolute_aspect_ratio_fill_min_height;
70mod absolute_aspect_ratio_fill_min_width;
71mod absolute_aspect_ratio_fill_width;
72mod absolute_aspect_ratio_fill_width_from_inset;
73mod absolute_aspect_ratio_height_overrides_inset;
74mod absolute_aspect_ratio_width_overrides_inset;
75mod absolute_child_with_cross_margin;
76mod absolute_child_with_main_margin;
77mod absolute_child_with_max_height;
78mod absolute_child_with_max_height_larger_shrinkable_grandchild;
79mod absolute_layout_align_items_and_justify_content_center;
80mod absolute_layout_align_items_and_justify_content_center_and_bottom_position;
81mod absolute_layout_align_items_and_justify_content_center_and_left_position;
82mod absolute_layout_align_items_and_justify_content_center_and_right_position;
83mod absolute_layout_align_items_and_justify_content_center_and_top_position;
84mod absolute_layout_align_items_and_justify_content_flex_end;
85mod absolute_layout_align_items_center;
86mod absolute_layout_align_items_center_on_child_only;
87mod absolute_layout_child_order;
88mod absolute_layout_in_wrap_reverse_column_container;
89mod absolute_layout_in_wrap_reverse_column_container_flex_end;
90mod absolute_layout_in_wrap_reverse_row_container;
91mod absolute_layout_in_wrap_reverse_row_container_flex_end;
92mod absolute_layout_justify_content_center;
93mod absolute_layout_no_size;
94mod absolute_layout_percentage_bottom_based_on_parent_height;
95mod absolute_layout_percentage_height;
96mod absolute_layout_row_width_height_end_bottom;
97mod absolute_layout_start_top_end_bottom;
98mod absolute_layout_width_height_end_bottom;
99mod absolute_layout_width_height_start_top;
100mod absolute_layout_width_height_start_top_end_bottom;
101mod absolute_layout_within_border;
102mod absolute_margin_bottom_left;
103mod absolute_minmax_bottom_right_max;
104mod absolute_minmax_bottom_right_min_max;
105mod absolute_minmax_bottom_right_min_max_preferred;
106mod absolute_minmax_top_left_bottom_right_max;
107mod absolute_minmax_top_left_bottom_right_min_max;
108mod align_baseline;
109mod align_baseline_child;
110mod align_baseline_child_margin;
111mod align_baseline_child_margin_percent;
112mod align_baseline_child_multiline;
113mod align_baseline_child_multiline_no_override_on_secondline;
114mod align_baseline_child_multiline_override;
115mod align_baseline_child_padding;
116mod align_baseline_child_top;
117mod align_baseline_child_top2;
118mod align_baseline_column;
119mod align_baseline_double_nested_child;
120mod align_baseline_multiline;
121mod align_baseline_multiline_column;
122mod align_baseline_multiline_column2;
123mod align_baseline_multiline_row_and_column;
124mod align_baseline_nested_child;
125mod align_baseline_nested_column;
126mod align_center_should_size_based_on_content;
127mod align_content_flex_end;
128mod align_content_flex_start;
129mod align_content_flex_start_with_flex;
130mod align_content_flex_start_without_height_on_children;
131mod align_content_not_stretch_with_align_items_stretch;
132mod align_content_space_around_single_line;
133mod align_content_space_around_wrapped;
134mod align_content_space_between_single_line;
135mod align_content_space_between_wrapped;
136mod align_content_space_evenly_single_line;
137mod align_content_space_evenly_wrapped;
138mod align_content_spacearound;
139mod align_content_spacebetween;
140mod align_content_stretch;
141mod align_content_stretch_column;
142mod align_content_stretch_is_not_overriding_align_items;
143mod align_content_stretch_row;
144mod align_content_stretch_row_with_children;
145mod align_content_stretch_row_with_fixed_height;
146mod align_content_stretch_row_with_flex;
147mod align_content_stretch_row_with_flex_no_shrink;
148mod align_content_stretch_row_with_margin;
149mod align_content_stretch_row_with_max_height;
150mod align_content_stretch_row_with_min_height;
151mod align_content_stretch_row_with_padding;
152mod align_content_stretch_row_with_single_row;
153mod align_flex_start_with_shrinking_children;
154mod align_flex_start_with_shrinking_children_with_stretch;
155mod align_flex_start_with_stretching_children;
156mod align_items_center;
157mod align_items_center_child_with_margin_bigger_than_parent;
158mod align_items_center_child_without_margin_bigger_than_parent;
159mod align_items_center_justify_content_center;
160mod align_items_center_min_max_with_padding;
161mod align_items_center_with_child_margin;
162mod align_items_center_with_child_top;
163mod align_items_flex_end;
164mod align_items_flex_end_child_with_margin_bigger_than_parent;
165mod align_items_flex_end_child_without_margin_bigger_than_parent;
166mod align_items_flex_start;
167mod align_items_min_max;
168mod align_items_stretch;
169mod align_items_stretch_min_cross;
170mod align_self_baseline;
171mod align_self_center;
172mod align_self_center_undefined_max_height;
173mod align_self_flex_end;
174mod align_self_flex_end_override_flex_start;
175mod align_self_flex_start;
176mod align_stretch_should_size_based_on_parent;
177mod android_news_feed;
178mod aspect_ratio_flex_column_fill_height;
179mod aspect_ratio_flex_column_fill_max_height;
180mod aspect_ratio_flex_column_fill_max_width;
181mod aspect_ratio_flex_column_fill_min_height;
182mod aspect_ratio_flex_column_fill_min_width;
183mod aspect_ratio_flex_column_fill_width;
184mod aspect_ratio_flex_column_fill_width_flex;
185mod aspect_ratio_flex_column_stretch_fill_height;
186mod aspect_ratio_flex_column_stretch_fill_max_height;
187mod aspect_ratio_flex_column_stretch_fill_max_width;
188mod aspect_ratio_flex_column_stretch_fill_width;
189mod aspect_ratio_flex_row_fill_height;
190mod aspect_ratio_flex_row_fill_max_height;
191mod aspect_ratio_flex_row_fill_max_width;
192mod aspect_ratio_flex_row_fill_min_height;
193mod aspect_ratio_flex_row_fill_min_width;
194mod aspect_ratio_flex_row_fill_width;
195mod aspect_ratio_flex_row_fill_width_flex;
196mod aspect_ratio_flex_row_stretch_fill_height;
197mod aspect_ratio_flex_row_stretch_fill_max_height;
198mod aspect_ratio_flex_row_stretch_fill_max_width;
199mod aspect_ratio_flex_row_stretch_fill_width;
200mod border_center_child;
201mod border_container_match_child;
202mod border_flex_child;
203mod border_no_child;
204mod border_no_size;
205mod border_stretch_child;
206mod child_min_max_width_flexing;
207mod child_with_padding_align_end;
208mod container_with_unsized_child;
209mod display_none;
210mod display_none_absolute_child;
211mod display_none_fixed_size;
212mod display_none_with_child;
213mod display_none_with_margin;
214mod display_none_with_position;
215mod display_none_with_position_absolute;
216mod flex_basis_and_main_dimen_set_when_flexing;
217mod flex_basis_flex_grow_column;
218mod flex_basis_flex_grow_row;
219mod flex_basis_flex_shrink_column;
220mod flex_basis_flex_shrink_row;
221mod flex_basis_larger_than_content_column;
222mod flex_basis_larger_than_content_row;
223mod flex_basis_overrides_main_size;
224mod flex_basis_slightly_smaller_then_content_with_flex_grow_large_size;
225mod flex_basis_smaller_than_content_column;
226mod flex_basis_smaller_than_content_row;
227mod flex_basis_smaller_than_main_dimen_column;
228mod flex_basis_smaller_than_main_dimen_row;
229mod flex_basis_smaller_then_content_with_flex_grow_large_size;
230mod flex_basis_smaller_then_content_with_flex_grow_small_size;
231mod flex_basis_smaller_then_content_with_flex_grow_unconstraint_size;
232mod flex_basis_smaller_then_content_with_flex_grow_very_large_size;
233mod flex_basis_unconstraint_column;
234mod flex_basis_unconstraint_row;
235mod flex_basis_zero_undefined_main_size;
236mod flex_direction_column;
237mod flex_direction_column_no_height;
238mod flex_direction_column_reverse;
239mod flex_direction_column_reverse_no_height;
240mod flex_direction_row;
241mod flex_direction_row_no_width;
242mod flex_direction_row_reverse;
243mod flex_grow_child;
244mod flex_grow_flex_basis_percent_min_max;
245mod flex_grow_height_maximized;
246mod flex_grow_in_at_most_container;
247mod flex_grow_less_than_factor_one;
248mod flex_grow_root_minimized;
249mod flex_grow_shrink_at_most;
250mod flex_grow_to_min;
251mod flex_grow_within_constrained_max_column;
252mod flex_grow_within_constrained_max_row;
253mod flex_grow_within_constrained_max_width;
254mod flex_grow_within_constrained_min_column;
255mod flex_grow_within_constrained_min_max_column;
256mod flex_grow_within_constrained_min_row;
257mod flex_grow_within_max_width;
258mod flex_root_ignored;
259mod flex_shrink_by_outer_margin_with_max_size;
260mod flex_shrink_flex_grow_child_flex_shrink_other_child;
261mod flex_shrink_flex_grow_row;
262mod flex_shrink_to_zero;
263mod flex_wrap_align_stretch_fits_one_row;
264mod flex_wrap_children_with_min_main_overriding_flex_basis;
265mod flex_wrap_wrap_to_child_height;
266mod gap_column_gap_child_margins;
267mod gap_column_gap_determines_parent_width;
268mod gap_column_gap_flexible;
269mod gap_column_gap_flexible_undefined_parent;
270mod gap_column_gap_inflexible;
271mod gap_column_gap_inflexible_undefined_parent;
272mod gap_column_gap_justify_center;
273mod gap_column_gap_justify_flex_end;
274mod gap_column_gap_justify_flex_start;
275mod gap_column_gap_justify_space_around;
276mod gap_column_gap_justify_space_between;
277mod gap_column_gap_justify_space_evenly;
278mod gap_column_gap_mixed_flexible;
279mod gap_column_gap_percentage_cyclic_partially_shrinkable;
280mod gap_column_gap_percentage_cyclic_shrinkable;
281mod gap_column_gap_percentage_cyclic_unshrinkable;
282mod gap_column_gap_percentage_flexible;
283mod gap_column_gap_percentage_flexible_with_padding;
284mod gap_column_gap_percentage_inflexible;
285mod gap_column_gap_row_gap_wrapping;
286mod gap_column_gap_wrap_align_center;
287mod gap_column_gap_wrap_align_flex_end;
288mod gap_column_gap_wrap_align_flex_start;
289mod gap_column_gap_wrap_align_space_around;
290mod gap_column_gap_wrap_align_space_between;
291mod gap_column_gap_wrap_align_stretch;
292mod gap_column_row_gap_wrapping;
293mod gap_percentage_row_gap_wrapping;
294mod gap_row_gap_align_items_end;
295mod gap_row_gap_align_items_stretch;
296mod gap_row_gap_column_child_margins;
297mod gap_row_gap_determines_parent_height;
298mod gap_row_gap_row_wrap_child_margins;
299#[cfg(feature = "grid")]
300mod grid_absolute_align_self_sized_all;
301#[cfg(feature = "grid")]
302mod grid_absolute_column_end;
303#[cfg(feature = "grid")]
304mod grid_absolute_column_start;
305#[cfg(feature = "grid")]
306mod grid_absolute_container_bottom_left;
307#[cfg(feature = "grid")]
308mod grid_absolute_container_bottom_left_margin;
309#[cfg(feature = "grid")]
310mod grid_absolute_container_left_overrides_right;
311#[cfg(feature = "grid")]
312mod grid_absolute_container_left_right;
313#[cfg(feature = "grid")]
314mod grid_absolute_container_left_right_margin;
315#[cfg(feature = "grid")]
316mod grid_absolute_container_negative_position;
317#[cfg(feature = "grid")]
318mod grid_absolute_container_negative_position_margin;
319#[cfg(feature = "grid")]
320mod grid_absolute_container_top_bottom;
321#[cfg(feature = "grid")]
322mod grid_absolute_container_top_bottom_margin;
323#[cfg(feature = "grid")]
324mod grid_absolute_container_top_right;
325#[cfg(feature = "grid")]
326mod grid_absolute_container_top_right_margin;
327#[cfg(feature = "grid")]
328mod grid_absolute_justify_self_sized_all;
329#[cfg(feature = "grid")]
330mod grid_absolute_layout_within_border;
331#[cfg(feature = "grid")]
332mod grid_absolute_layout_within_border_static;
333#[cfg(feature = "grid")]
334mod grid_absolute_row_end;
335#[cfg(feature = "grid")]
336mod grid_absolute_row_start;
337#[cfg(feature = "grid")]
338mod grid_absolute_top_overrides_bottom;
339#[cfg(feature = "grid")]
340mod grid_absolute_with_padding;
341#[cfg(feature = "grid")]
342mod grid_absolute_with_padding_and_margin;
343#[cfg(feature = "grid")]
344mod grid_align_content_center;
345#[cfg(feature = "grid")]
346mod grid_align_content_end;
347#[cfg(feature = "grid")]
348mod grid_align_content_end_with_padding_border;
349#[cfg(feature = "grid")]
350mod grid_align_content_space_around;
351#[cfg(feature = "grid")]
352mod grid_align_content_space_around_with_padding_border;
353#[cfg(feature = "grid")]
354mod grid_align_content_space_between;
355#[cfg(feature = "grid")]
356mod grid_align_content_space_between_with_padding_border;
357#[cfg(feature = "grid")]
358mod grid_align_content_space_evenly;
359#[cfg(feature = "grid")]
360mod grid_align_content_space_evenly_with_padding_border;
361#[cfg(feature = "grid")]
362mod grid_align_content_start;
363#[cfg(feature = "grid")]
364mod grid_align_content_start_with_padding_border;
365#[cfg(feature = "grid")]
366mod grid_align_items_sized_center;
367#[cfg(feature = "grid")]
368mod grid_align_items_sized_end;
369#[cfg(feature = "grid")]
370mod grid_align_items_sized_start;
371#[cfg(feature = "grid")]
372mod grid_align_items_sized_stretch;
373#[cfg(feature = "grid")]
374mod grid_align_self_sized_all;
375#[cfg(feature = "grid")]
376mod grid_aspect_ratio_absolute_aspect_ratio_overrides_height_of_full_inset;
377#[cfg(feature = "grid")]
378mod grid_aspect_ratio_absolute_fill_height_from_inset;
379#[cfg(feature = "grid")]
380mod grid_aspect_ratio_absolute_fill_width_from_inset;
381#[cfg(feature = "grid")]
382mod grid_aspect_ratio_absolute_height_overrides_inset;
383#[cfg(feature = "grid")]
384mod grid_aspect_ratio_absolute_width_overrides_inset;
385#[cfg(feature = "grid")]
386mod grid_aspect_ratio_child_fill_content_height;
387#[cfg(feature = "grid")]
388mod grid_aspect_ratio_child_fill_content_width;
389#[cfg(feature = "grid")]
390mod grid_aspect_ratio_fill_child_height;
391#[cfg(feature = "grid")]
392mod grid_aspect_ratio_fill_child_max_height;
393#[cfg(feature = "grid")]
394mod grid_aspect_ratio_fill_child_max_width;
395#[cfg(feature = "grid")]
396mod grid_aspect_ratio_fill_child_min_height;
397#[cfg(feature = "grid")]
398mod grid_aspect_ratio_fill_child_min_width;
399#[cfg(feature = "grid")]
400mod grid_aspect_ratio_fill_child_width;
401#[cfg(feature = "grid")]
402mod grid_aspect_ratio_overriden_by_explicit_sizes;
403#[cfg(feature = "grid")]
404mod grid_aspect_ratio_overriden_by_explicit_sizes_flex;
405#[cfg(feature = "grid")]
406mod grid_auto_columns_fixed_width;
407#[cfg(feature = "grid")]
408mod grid_auto_fill_fixed_size;
409#[cfg(feature = "grid")]
410mod grid_auto_fill_with_empty_auto_track;
411#[cfg(feature = "grid")]
412mod grid_auto_fit_with_empty_auto_track;
413#[cfg(feature = "grid")]
414mod grid_auto_single_item;
415#[cfg(feature = "grid")]
416mod grid_auto_single_item_fixed_width;
417#[cfg(feature = "grid")]
418mod grid_auto_single_item_fixed_width_with_definite_width;
419#[cfg(feature = "grid")]
420mod grid_basic;
421#[cfg(feature = "grid")]
422mod grid_basic_implicit_tracks;
423#[cfg(feature = "grid")]
424mod grid_basic_with_overflow;
425#[cfg(feature = "grid")]
426mod grid_basic_with_padding;
427#[cfg(feature = "grid")]
428mod grid_fit_content_points_argument;
429#[cfg(feature = "grid")]
430mod grid_fit_content_points_max_content;
431#[cfg(feature = "grid")]
432mod grid_fit_content_points_min_content;
433#[cfg(feature = "grid")]
434mod grid_fr_auto_no_sized_items;
435#[cfg(feature = "grid")]
436mod grid_fr_auto_single_item;
437#[cfg(feature = "grid")]
438mod grid_fr_fixed_size_no_content;
439#[cfg(feature = "grid")]
440mod grid_fr_fixed_size_single_item;
441#[cfg(feature = "grid")]
442mod grid_gap;
443#[cfg(feature = "grid")]
444mod grid_hidden;
445#[cfg(feature = "grid")]
446mod grid_justify_content_center;
447#[cfg(feature = "grid")]
448mod grid_justify_content_center_with_padding_border;
449#[cfg(feature = "grid")]
450mod grid_justify_content_end;
451#[cfg(feature = "grid")]
452mod grid_justify_content_end_with_padding_border;
453#[cfg(feature = "grid")]
454mod grid_justify_content_space_around;
455#[cfg(feature = "grid")]
456mod grid_justify_content_space_around_with_padding_border;
457#[cfg(feature = "grid")]
458mod grid_justify_content_space_between;
459#[cfg(feature = "grid")]
460mod grid_justify_content_space_between_with_padding_border;
461#[cfg(feature = "grid")]
462mod grid_justify_content_space_evenly;
463#[cfg(feature = "grid")]
464mod grid_justify_content_space_evenly_with_padding_border;
465#[cfg(feature = "grid")]
466mod grid_justify_content_start;
467#[cfg(feature = "grid")]
468mod grid_justify_content_start_with_padding_border;
469#[cfg(feature = "grid")]
470mod grid_justify_items_sized_center;
471#[cfg(feature = "grid")]
472mod grid_justify_items_sized_end;
473#[cfg(feature = "grid")]
474mod grid_justify_items_sized_start;
475#[cfg(feature = "grid")]
476mod grid_justify_items_sized_stretch;
477#[cfg(feature = "grid")]
478mod grid_justify_self_sized_all;
479#[cfg(feature = "grid")]
480mod grid_margins_auto_margins;
481#[cfg(feature = "grid")]
482mod grid_margins_auto_margins_override_stretch;
483#[cfg(feature = "grid")]
484mod grid_margins_fixed_center;
485#[cfg(feature = "grid")]
486mod grid_margins_fixed_end;
487#[cfg(feature = "grid")]
488mod grid_margins_fixed_start;
489#[cfg(feature = "grid")]
490mod grid_margins_fixed_stretch;
491#[cfg(feature = "grid")]
492mod grid_margins_percent_center;
493#[cfg(feature = "grid")]
494mod grid_margins_percent_end;
495#[cfg(feature = "grid")]
496mod grid_margins_percent_start;
497#[cfg(feature = "grid")]
498mod grid_margins_percent_stretch;
499#[cfg(feature = "grid")]
500mod grid_max_content_maximum_single_item;
501#[cfg(feature = "grid")]
502mod grid_max_content_single_item;
503#[cfg(feature = "grid")]
504mod grid_max_content_single_item_margin_auto;
505#[cfg(feature = "grid")]
506mod grid_max_content_single_item_margin_fixed;
507#[cfg(feature = "grid")]
508mod grid_max_content_single_item_margin_percent;
509#[cfg(feature = "grid")]
510mod grid_min_content_flex_column;
511#[cfg(feature = "grid")]
512mod grid_min_content_flex_row;
513#[cfg(feature = "grid")]
514mod grid_min_content_flex_single_item;
515#[cfg(feature = "grid")]
516mod grid_min_content_flex_single_item_margin_auto;
517#[cfg(feature = "grid")]
518mod grid_min_content_flex_single_item_margin_fixed;
519#[cfg(feature = "grid")]
520mod grid_min_content_flex_single_item_margin_percent;
521#[cfg(feature = "grid")]
522mod grid_min_content_maximum_single_item;
523#[cfg(feature = "grid")]
524mod grid_min_content_single_item;
525#[cfg(feature = "grid")]
526mod grid_min_max_column_auto;
527#[cfg(feature = "grid")]
528mod grid_min_max_column_fixed_width_above_range;
529#[cfg(feature = "grid")]
530mod grid_min_max_column_fixed_width_below_range;
531#[cfg(feature = "grid")]
532mod grid_min_max_column_fixed_width_within_range;
533#[cfg(feature = "grid")]
534mod grid_out_of_order_items;
535#[cfg(feature = "grid")]
536mod grid_percent_items_nested_moderate;
537#[cfg(feature = "grid")]
538mod grid_percent_items_nested_with_padding_margin;
539#[cfg(feature = "grid")]
540mod grid_percent_items_width_and_margin;
541#[cfg(feature = "grid")]
542mod grid_percent_items_width_and_padding;
543#[cfg(feature = "grid")]
544mod grid_percent_tracks_definite_overflow;
545#[cfg(feature = "grid")]
546mod grid_percent_tracks_definite_underflow;
547#[cfg(feature = "grid")]
548mod grid_percent_tracks_indefinite_only;
549#[cfg(feature = "grid")]
550mod grid_percent_tracks_indefinite_with_content_overflow;
551#[cfg(feature = "grid")]
552mod grid_percent_tracks_indefinite_with_content_underflow;
553#[cfg(feature = "grid")]
554mod grid_placement_auto_negative;
555#[cfg(feature = "grid")]
556mod grid_placement_definite_in_secondary_axis_with_fully_definite_negative;
557#[cfg(feature = "grid")]
558mod grid_relayout_vertical_text;
559#[cfg(feature = "grid")]
560mod grid_size_child_fixed_tracks;
561mod justify_content_column_center;
562mod justify_content_column_flex_end;
563mod justify_content_column_flex_start;
564mod justify_content_column_min_height_and_margin_bottom;
565mod justify_content_column_min_height_and_margin_top;
566mod justify_content_column_space_around;
567mod justify_content_column_space_between;
568mod justify_content_column_space_evenly;
569mod justify_content_min_max;
570mod justify_content_min_width_with_padding_child_width_greater_than_parent;
571mod justify_content_min_width_with_padding_child_width_lower_than_parent;
572mod justify_content_overflow_min_max;
573mod justify_content_row_center;
574mod justify_content_row_flex_end;
575mod justify_content_row_flex_start;
576mod justify_content_row_max_width_and_margin;
577mod justify_content_row_min_width_and_margin;
578mod justify_content_row_space_around;
579mod justify_content_row_space_between;
580mod justify_content_row_space_evenly;
581mod margin_and_flex_column;
582mod margin_and_flex_row;
583mod margin_and_stretch_column;
584mod margin_and_stretch_row;
585mod margin_auto_bottom;
586mod margin_auto_bottom_and_top;
587mod margin_auto_bottom_and_top_justify_center;
588mod margin_auto_left;
589mod margin_auto_left_and_right;
590mod margin_auto_left_and_right_column;
591mod margin_auto_left_and_right_column_and_center;
592mod margin_auto_left_and_right_stretch;
593mod margin_auto_left_child_bigger_than_parent;
594mod margin_auto_left_fix_right_child_bigger_than_parent;
595mod margin_auto_left_right_child_bigger_than_parent;
596mod margin_auto_left_stretching_child;
597mod margin_auto_mutiple_children_column;
598mod margin_auto_mutiple_children_row;
599mod margin_auto_right;
600mod margin_auto_top;
601mod margin_auto_top_and_bottom_stretch;
602mod margin_auto_top_stretching_child;
603mod margin_bottom;
604mod margin_fix_left_auto_right_child_bigger_than_parent;
605mod margin_left;
606mod margin_right;
607mod margin_should_not_be_part_of_max_height;
608mod margin_should_not_be_part_of_max_width;
609mod margin_top;
610mod margin_with_sibling_column;
611mod margin_with_sibling_row;
612mod max_height;
613mod max_height_overrides_height;
614mod max_height_overrides_height_on_root;
615mod max_width;
616mod max_width_overrides_width;
617mod max_width_overrides_width_on_root;
618mod measure_child;
619mod measure_child_absolute;
620mod measure_child_constraint;
621mod measure_child_constraint_padding_parent;
622mod measure_child_with_flex_grow;
623mod measure_child_with_flex_shrink;
624mod measure_flex_basis_overrides_measure;
625mod measure_height_overrides_measure;
626mod measure_remeasure_child_after_growing;
627mod measure_remeasure_child_after_shrinking;
628mod measure_remeasure_child_after_stretching;
629mod measure_root;
630mod measure_stretch_overrides_measure;
631mod measure_width_overrides_measure;
632mod min_height;
633mod min_height_larger_than_height;
634mod min_height_overrides_height;
635mod min_height_overrides_height_on_root;
636mod min_height_overrides_max_height;
637mod min_height_with_nested_fixed_height;
638mod min_max_percent_different_width_height;
639mod min_max_percent_no_width_height;
640mod min_width;
641mod min_width_larger_than_width;
642mod min_width_overrides_max_width;
643mod min_width_overrides_width;
644mod min_width_overrides_width_on_root;
645mod nested_overflowing_child;
646mod nested_overflowing_child_in_constraint_parent;
647mod only_shrinkable_item_with_flex_basis_zero;
648mod overflow_cross_axis;
649mod overflow_main_axis;
650mod padding_align_end_child;
651mod padding_center_child;
652mod padding_container_match_child;
653mod padding_flex_child;
654mod padding_no_child;
655mod padding_no_size;
656mod padding_stretch_child;
657mod parent_wrap_child_size_overflowing_parent;
658mod percent_absolute_position;
659mod percent_within_flex_grow;
660mod percentage_absolute_position;
661mod percentage_container_in_wrapping_container;
662mod percentage_different_width_height;
663mod percentage_different_width_height_column;
664mod percentage_flex_basis;
665mod percentage_flex_basis_cross;
666mod percentage_flex_basis_cross_max_height;
667mod percentage_flex_basis_cross_max_width;
668mod percentage_flex_basis_cross_min_height;
669mod percentage_flex_basis_cross_min_width;
670mod percentage_flex_basis_main_max_height;
671mod percentage_flex_basis_main_max_width;
672mod percentage_flex_basis_main_min_width;
673mod percentage_main_max_height;
674mod percentage_margin_should_calculate_based_only_on_width;
675mod percentage_moderate_complexity;
676mod percentage_multiple_nested_with_padding_margin_and_percentage_values;
677mod percentage_padding_should_calculate_based_only_on_width;
678mod percentage_position_bottom_right;
679mod percentage_position_left_top;
680mod percentage_size_based_on_parent_inner_size;
681mod percentage_size_of_flex_basis;
682mod percentage_width_height;
683mod percentage_width_height_undefined_parent_size;
684mod relative_position_should_not_nudge_siblings;
685mod rounding_flex_basis_flex_grow_row_prime_number_width;
686mod rounding_flex_basis_flex_grow_row_width_of_100;
687mod rounding_flex_basis_flex_shrink_row;
688mod rounding_flex_basis_overrides_main_size;
689mod rounding_fractial_input_1;
690mod rounding_fractial_input_2;
691mod rounding_fractial_input_3;
692mod rounding_fractial_input_4;
693mod rounding_inner_node_controversy_vertical;
694mod rounding_total_fractial;
695mod rounding_total_fractial_nested;
696mod single_flex_child_after_absolute_child;
697mod size_defined_by_child;
698mod size_defined_by_child_with_border;
699mod size_defined_by_child_with_padding;
700mod size_defined_by_grand_child;
701mod undefined_height_with_min_max;
702mod undefined_width_with_min_max;
703mod undefined_width_with_min_max_row;
704mod width_smaller_then_content_with_flex_grow_large_size;
705mod width_smaller_then_content_with_flex_grow_small_size;
706mod width_smaller_then_content_with_flex_grow_unconstraint_size;
707mod width_smaller_then_content_with_flex_grow_very_large_size;
708mod wrap_child;
709mod wrap_column;
710mod wrap_grandchild;
711mod wrap_nodes_with_content_sizing_margin_cross;
712mod wrap_nodes_with_content_sizing_overflowing_margin;
713mod wrap_reverse_column;
714mod wrap_reverse_column_fixed_size;
715mod wrap_reverse_row;
716mod wrap_reverse_row_align_content_center;
717mod wrap_reverse_row_align_content_flex_start;
718mod wrap_reverse_row_align_content_space_around;
719mod wrap_reverse_row_align_content_stretch;
720mod wrap_reverse_row_single_line_different_size;
721mod wrap_row;
722mod wrap_row_align_items_center;
723mod wrap_row_align_items_flex_end;
724mod wrapped_column_max_height;
725mod wrapped_column_max_height_flex;
726mod wrapped_row_within_align_items_center;
727mod wrapped_row_within_align_items_flex_end;
728mod wrapped_row_within_align_items_flex_start;
729fn benchmark(c: &mut Criterion) {
730    c.bench_function("generated benchmarks", |b| {
731        b.iter(|| {
732            absolute_aspect_ratio_aspect_ratio_overrides_height_of_full_inset::compute();
733            absolute_aspect_ratio_fill_height::compute();
734            absolute_aspect_ratio_fill_height_from_inset::compute();
735            absolute_aspect_ratio_fill_max_height::compute();
736            absolute_aspect_ratio_fill_max_width::compute();
737            absolute_aspect_ratio_fill_min_height::compute();
738            absolute_aspect_ratio_fill_min_width::compute();
739            absolute_aspect_ratio_fill_width::compute();
740            absolute_aspect_ratio_fill_width_from_inset::compute();
741            absolute_aspect_ratio_height_overrides_inset::compute();
742            absolute_aspect_ratio_width_overrides_inset::compute();
743            absolute_child_with_cross_margin::compute();
744            absolute_child_with_main_margin::compute();
745            absolute_child_with_max_height::compute();
746            absolute_child_with_max_height_larger_shrinkable_grandchild::compute();
747            absolute_layout_align_items_and_justify_content_center::compute();
748            absolute_layout_align_items_and_justify_content_center_and_bottom_position::compute();
749            absolute_layout_align_items_and_justify_content_center_and_left_position::compute();
750            absolute_layout_align_items_and_justify_content_center_and_right_position::compute();
751            absolute_layout_align_items_and_justify_content_center_and_top_position::compute();
752            absolute_layout_align_items_and_justify_content_flex_end::compute();
753            absolute_layout_align_items_center::compute();
754            absolute_layout_align_items_center_on_child_only::compute();
755            absolute_layout_child_order::compute();
756            absolute_layout_in_wrap_reverse_column_container::compute();
757            absolute_layout_in_wrap_reverse_column_container_flex_end::compute();
758            absolute_layout_in_wrap_reverse_row_container::compute();
759            absolute_layout_in_wrap_reverse_row_container_flex_end::compute();
760            absolute_layout_justify_content_center::compute();
761            absolute_layout_no_size::compute();
762            absolute_layout_percentage_bottom_based_on_parent_height::compute();
763            absolute_layout_percentage_height::compute();
764            absolute_layout_row_width_height_end_bottom::compute();
765            absolute_layout_start_top_end_bottom::compute();
766            absolute_layout_width_height_end_bottom::compute();
767            absolute_layout_width_height_start_top::compute();
768            absolute_layout_width_height_start_top_end_bottom::compute();
769            absolute_layout_within_border::compute();
770            absolute_margin_bottom_left::compute();
771            absolute_minmax_bottom_right_max::compute();
772            absolute_minmax_bottom_right_min_max::compute();
773            absolute_minmax_bottom_right_min_max_preferred::compute();
774            absolute_minmax_top_left_bottom_right_max::compute();
775            absolute_minmax_top_left_bottom_right_min_max::compute();
776            align_baseline::compute();
777            align_baseline_child::compute();
778            align_baseline_child_margin::compute();
779            align_baseline_child_margin_percent::compute();
780            align_baseline_child_multiline::compute();
781            align_baseline_child_multiline_no_override_on_secondline::compute();
782            align_baseline_child_multiline_override::compute();
783            align_baseline_child_padding::compute();
784            align_baseline_child_top::compute();
785            align_baseline_child_top2::compute();
786            align_baseline_column::compute();
787            align_baseline_double_nested_child::compute();
788            align_baseline_multiline::compute();
789            align_baseline_multiline_column::compute();
790            align_baseline_multiline_column2::compute();
791            align_baseline_multiline_row_and_column::compute();
792            align_baseline_nested_child::compute();
793            align_baseline_nested_column::compute();
794            align_center_should_size_based_on_content::compute();
795            align_content_flex_end::compute();
796            align_content_flex_start::compute();
797            align_content_flex_start_with_flex::compute();
798            align_content_flex_start_without_height_on_children::compute();
799            align_content_not_stretch_with_align_items_stretch::compute();
800            align_content_space_around_single_line::compute();
801            align_content_space_around_wrapped::compute();
802            align_content_space_between_single_line::compute();
803            align_content_space_between_wrapped::compute();
804            align_content_space_evenly_single_line::compute();
805            align_content_space_evenly_wrapped::compute();
806            align_content_spacearound::compute();
807            align_content_spacebetween::compute();
808            align_content_stretch::compute();
809            align_content_stretch_column::compute();
810            align_content_stretch_is_not_overriding_align_items::compute();
811            align_content_stretch_row::compute();
812            align_content_stretch_row_with_children::compute();
813            align_content_stretch_row_with_fixed_height::compute();
814            align_content_stretch_row_with_flex::compute();
815            align_content_stretch_row_with_flex_no_shrink::compute();
816            align_content_stretch_row_with_margin::compute();
817            align_content_stretch_row_with_max_height::compute();
818            align_content_stretch_row_with_min_height::compute();
819            align_content_stretch_row_with_padding::compute();
820            align_content_stretch_row_with_single_row::compute();
821            align_flex_start_with_shrinking_children::compute();
822            align_flex_start_with_shrinking_children_with_stretch::compute();
823            align_flex_start_with_stretching_children::compute();
824            align_items_center::compute();
825            align_items_center_child_with_margin_bigger_than_parent::compute();
826            align_items_center_child_without_margin_bigger_than_parent::compute();
827            align_items_center_justify_content_center::compute();
828            align_items_center_min_max_with_padding::compute();
829            align_items_center_with_child_margin::compute();
830            align_items_center_with_child_top::compute();
831            align_items_flex_end::compute();
832            align_items_flex_end_child_with_margin_bigger_than_parent::compute();
833            align_items_flex_end_child_without_margin_bigger_than_parent::compute();
834            align_items_flex_start::compute();
835            align_items_min_max::compute();
836            align_items_stretch::compute();
837            align_items_stretch_min_cross::compute();
838            align_self_baseline::compute();
839            align_self_center::compute();
840            align_self_center_undefined_max_height::compute();
841            align_self_flex_end::compute();
842            align_self_flex_end_override_flex_start::compute();
843            align_self_flex_start::compute();
844            align_stretch_should_size_based_on_parent::compute();
845            android_news_feed::compute();
846            aspect_ratio_flex_column_fill_height::compute();
847            aspect_ratio_flex_column_fill_max_height::compute();
848            aspect_ratio_flex_column_fill_max_width::compute();
849            aspect_ratio_flex_column_fill_min_height::compute();
850            aspect_ratio_flex_column_fill_min_width::compute();
851            aspect_ratio_flex_column_fill_width::compute();
852            aspect_ratio_flex_column_fill_width_flex::compute();
853            aspect_ratio_flex_column_stretch_fill_height::compute();
854            aspect_ratio_flex_column_stretch_fill_max_height::compute();
855            aspect_ratio_flex_column_stretch_fill_max_width::compute();
856            aspect_ratio_flex_column_stretch_fill_width::compute();
857            aspect_ratio_flex_row_fill_height::compute();
858            aspect_ratio_flex_row_fill_max_height::compute();
859            aspect_ratio_flex_row_fill_max_width::compute();
860            aspect_ratio_flex_row_fill_min_height::compute();
861            aspect_ratio_flex_row_fill_min_width::compute();
862            aspect_ratio_flex_row_fill_width::compute();
863            aspect_ratio_flex_row_fill_width_flex::compute();
864            aspect_ratio_flex_row_stretch_fill_height::compute();
865            aspect_ratio_flex_row_stretch_fill_max_height::compute();
866            aspect_ratio_flex_row_stretch_fill_max_width::compute();
867            aspect_ratio_flex_row_stretch_fill_width::compute();
868            border_center_child::compute();
869            border_container_match_child::compute();
870            border_flex_child::compute();
871            border_no_child::compute();
872            border_no_size::compute();
873            border_stretch_child::compute();
874            child_min_max_width_flexing::compute();
875            child_with_padding_align_end::compute();
876            container_with_unsized_child::compute();
877            display_none::compute();
878            display_none_absolute_child::compute();
879            display_none_fixed_size::compute();
880            display_none_with_child::compute();
881            display_none_with_margin::compute();
882            display_none_with_position::compute();
883            display_none_with_position_absolute::compute();
884            flex_basis_and_main_dimen_set_when_flexing::compute();
885            flex_basis_flex_grow_column::compute();
886            flex_basis_flex_grow_row::compute();
887            flex_basis_flex_shrink_column::compute();
888            flex_basis_flex_shrink_row::compute();
889            flex_basis_larger_than_content_column::compute();
890            flex_basis_larger_than_content_row::compute();
891            flex_basis_overrides_main_size::compute();
892            flex_basis_slightly_smaller_then_content_with_flex_grow_large_size::compute();
893            flex_basis_smaller_than_content_column::compute();
894            flex_basis_smaller_than_content_row::compute();
895            flex_basis_smaller_than_main_dimen_column::compute();
896            flex_basis_smaller_than_main_dimen_row::compute();
897            flex_basis_smaller_then_content_with_flex_grow_large_size::compute();
898            flex_basis_smaller_then_content_with_flex_grow_small_size::compute();
899            flex_basis_smaller_then_content_with_flex_grow_unconstraint_size::compute();
900            flex_basis_smaller_then_content_with_flex_grow_very_large_size::compute();
901            flex_basis_unconstraint_column::compute();
902            flex_basis_unconstraint_row::compute();
903            flex_basis_zero_undefined_main_size::compute();
904            flex_direction_column::compute();
905            flex_direction_column_no_height::compute();
906            flex_direction_column_reverse::compute();
907            flex_direction_column_reverse_no_height::compute();
908            flex_direction_row::compute();
909            flex_direction_row_no_width::compute();
910            flex_direction_row_reverse::compute();
911            flex_grow_child::compute();
912            flex_grow_flex_basis_percent_min_max::compute();
913            flex_grow_height_maximized::compute();
914            flex_grow_in_at_most_container::compute();
915            flex_grow_less_than_factor_one::compute();
916            flex_grow_root_minimized::compute();
917            flex_grow_shrink_at_most::compute();
918            flex_grow_to_min::compute();
919            flex_grow_within_constrained_max_column::compute();
920            flex_grow_within_constrained_max_row::compute();
921            flex_grow_within_constrained_max_width::compute();
922            flex_grow_within_constrained_min_column::compute();
923            flex_grow_within_constrained_min_max_column::compute();
924            flex_grow_within_constrained_min_row::compute();
925            flex_grow_within_max_width::compute();
926            flex_root_ignored::compute();
927            flex_shrink_by_outer_margin_with_max_size::compute();
928            flex_shrink_flex_grow_child_flex_shrink_other_child::compute();
929            flex_shrink_flex_grow_row::compute();
930            flex_shrink_to_zero::compute();
931            flex_wrap_align_stretch_fits_one_row::compute();
932            flex_wrap_children_with_min_main_overriding_flex_basis::compute();
933            flex_wrap_wrap_to_child_height::compute();
934            gap_column_gap_child_margins::compute();
935            gap_column_gap_determines_parent_width::compute();
936            gap_column_gap_flexible::compute();
937            gap_column_gap_flexible_undefined_parent::compute();
938            gap_column_gap_inflexible::compute();
939            gap_column_gap_inflexible_undefined_parent::compute();
940            gap_column_gap_justify_center::compute();
941            gap_column_gap_justify_flex_end::compute();
942            gap_column_gap_justify_flex_start::compute();
943            gap_column_gap_justify_space_around::compute();
944            gap_column_gap_justify_space_between::compute();
945            gap_column_gap_justify_space_evenly::compute();
946            gap_column_gap_mixed_flexible::compute();
947            gap_column_gap_percentage_cyclic_partially_shrinkable::compute();
948            gap_column_gap_percentage_cyclic_shrinkable::compute();
949            gap_column_gap_percentage_cyclic_unshrinkable::compute();
950            gap_column_gap_percentage_flexible::compute();
951            gap_column_gap_percentage_flexible_with_padding::compute();
952            gap_column_gap_percentage_inflexible::compute();
953            gap_column_gap_row_gap_wrapping::compute();
954            gap_column_gap_wrap_align_center::compute();
955            gap_column_gap_wrap_align_flex_end::compute();
956            gap_column_gap_wrap_align_flex_start::compute();
957            gap_column_gap_wrap_align_space_around::compute();
958            gap_column_gap_wrap_align_space_between::compute();
959            gap_column_gap_wrap_align_stretch::compute();
960            gap_column_row_gap_wrapping::compute();
961            gap_percentage_row_gap_wrapping::compute();
962            gap_row_gap_align_items_end::compute();
963            gap_row_gap_align_items_stretch::compute();
964            gap_row_gap_column_child_margins::compute();
965            gap_row_gap_determines_parent_height::compute();
966            gap_row_gap_row_wrap_child_margins::compute();
967            #[cfg(feature = "grid")]
968            grid_absolute_align_self_sized_all::compute();
969            #[cfg(feature = "grid")]
970            grid_absolute_column_end::compute();
971            #[cfg(feature = "grid")]
972            grid_absolute_column_start::compute();
973            #[cfg(feature = "grid")]
974            grid_absolute_container_bottom_left::compute();
975            #[cfg(feature = "grid")]
976            grid_absolute_container_bottom_left_margin::compute();
977            #[cfg(feature = "grid")]
978            grid_absolute_container_left_overrides_right::compute();
979            #[cfg(feature = "grid")]
980            grid_absolute_container_left_right::compute();
981            #[cfg(feature = "grid")]
982            grid_absolute_container_left_right_margin::compute();
983            #[cfg(feature = "grid")]
984            grid_absolute_container_negative_position::compute();
985            #[cfg(feature = "grid")]
986            grid_absolute_container_negative_position_margin::compute();
987            #[cfg(feature = "grid")]
988            grid_absolute_container_top_bottom::compute();
989            #[cfg(feature = "grid")]
990            grid_absolute_container_top_bottom_margin::compute();
991            #[cfg(feature = "grid")]
992            grid_absolute_container_top_right::compute();
993            #[cfg(feature = "grid")]
994            grid_absolute_container_top_right_margin::compute();
995            #[cfg(feature = "grid")]
996            grid_absolute_justify_self_sized_all::compute();
997            #[cfg(feature = "grid")]
998            grid_absolute_layout_within_border::compute();
999            #[cfg(feature = "grid")]
1000            grid_absolute_layout_within_border_static::compute();
1001            #[cfg(feature = "grid")]
1002            grid_absolute_row_end::compute();
1003            #[cfg(feature = "grid")]
1004            grid_absolute_row_start::compute();
1005            #[cfg(feature = "grid")]
1006            grid_absolute_top_overrides_bottom::compute();
1007            #[cfg(feature = "grid")]
1008            grid_absolute_with_padding::compute();
1009            #[cfg(feature = "grid")]
1010            grid_absolute_with_padding_and_margin::compute();
1011            #[cfg(feature = "grid")]
1012            grid_align_content_center::compute();
1013            #[cfg(feature = "grid")]
1014            grid_align_content_end::compute();
1015            #[cfg(feature = "grid")]
1016            grid_align_content_end_with_padding_border::compute();
1017            #[cfg(feature = "grid")]
1018            grid_align_content_space_around::compute();
1019            #[cfg(feature = "grid")]
1020            grid_align_content_space_around_with_padding_border::compute();
1021            #[cfg(feature = "grid")]
1022            grid_align_content_space_between::compute();
1023            #[cfg(feature = "grid")]
1024            grid_align_content_space_between_with_padding_border::compute();
1025            #[cfg(feature = "grid")]
1026            grid_align_content_space_evenly::compute();
1027            #[cfg(feature = "grid")]
1028            grid_align_content_space_evenly_with_padding_border::compute();
1029            #[cfg(feature = "grid")]
1030            grid_align_content_start::compute();
1031            #[cfg(feature = "grid")]
1032            grid_align_content_start_with_padding_border::compute();
1033            #[cfg(feature = "grid")]
1034            grid_align_items_sized_center::compute();
1035            #[cfg(feature = "grid")]
1036            grid_align_items_sized_end::compute();
1037            #[cfg(feature = "grid")]
1038            grid_align_items_sized_start::compute();
1039            #[cfg(feature = "grid")]
1040            grid_align_items_sized_stretch::compute();
1041            #[cfg(feature = "grid")]
1042            grid_align_self_sized_all::compute();
1043            #[cfg(feature = "grid")]
1044            grid_aspect_ratio_absolute_aspect_ratio_overrides_height_of_full_inset::compute();
1045            #[cfg(feature = "grid")]
1046            grid_aspect_ratio_absolute_fill_height_from_inset::compute();
1047            #[cfg(feature = "grid")]
1048            grid_aspect_ratio_absolute_fill_width_from_inset::compute();
1049            #[cfg(feature = "grid")]
1050            grid_aspect_ratio_absolute_height_overrides_inset::compute();
1051            #[cfg(feature = "grid")]
1052            grid_aspect_ratio_absolute_width_overrides_inset::compute();
1053            #[cfg(feature = "grid")]
1054            grid_aspect_ratio_child_fill_content_height::compute();
1055            #[cfg(feature = "grid")]
1056            grid_aspect_ratio_child_fill_content_width::compute();
1057            #[cfg(feature = "grid")]
1058            grid_aspect_ratio_fill_child_height::compute();
1059            #[cfg(feature = "grid")]
1060            grid_aspect_ratio_fill_child_max_height::compute();
1061            #[cfg(feature = "grid")]
1062            grid_aspect_ratio_fill_child_max_width::compute();
1063            #[cfg(feature = "grid")]
1064            grid_aspect_ratio_fill_child_min_height::compute();
1065            #[cfg(feature = "grid")]
1066            grid_aspect_ratio_fill_child_min_width::compute();
1067            #[cfg(feature = "grid")]
1068            grid_aspect_ratio_fill_child_width::compute();
1069            #[cfg(feature = "grid")]
1070            grid_aspect_ratio_overriden_by_explicit_sizes::compute();
1071            #[cfg(feature = "grid")]
1072            grid_aspect_ratio_overriden_by_explicit_sizes_flex::compute();
1073            #[cfg(feature = "grid")]
1074            grid_auto_columns_fixed_width::compute();
1075            #[cfg(feature = "grid")]
1076            grid_auto_fill_fixed_size::compute();
1077            #[cfg(feature = "grid")]
1078            grid_auto_fill_with_empty_auto_track::compute();
1079            #[cfg(feature = "grid")]
1080            grid_auto_fit_with_empty_auto_track::compute();
1081            #[cfg(feature = "grid")]
1082            grid_auto_single_item::compute();
1083            #[cfg(feature = "grid")]
1084            grid_auto_single_item_fixed_width::compute();
1085            #[cfg(feature = "grid")]
1086            grid_auto_single_item_fixed_width_with_definite_width::compute();
1087            #[cfg(feature = "grid")]
1088            grid_basic::compute();
1089            #[cfg(feature = "grid")]
1090            grid_basic_implicit_tracks::compute();
1091            #[cfg(feature = "grid")]
1092            grid_basic_with_overflow::compute();
1093            #[cfg(feature = "grid")]
1094            grid_basic_with_padding::compute();
1095            #[cfg(feature = "grid")]
1096            grid_fit_content_points_argument::compute();
1097            #[cfg(feature = "grid")]
1098            grid_fit_content_points_max_content::compute();
1099            #[cfg(feature = "grid")]
1100            grid_fit_content_points_min_content::compute();
1101            #[cfg(feature = "grid")]
1102            grid_fr_auto_no_sized_items::compute();
1103            #[cfg(feature = "grid")]
1104            grid_fr_auto_single_item::compute();
1105            #[cfg(feature = "grid")]
1106            grid_fr_fixed_size_no_content::compute();
1107            #[cfg(feature = "grid")]
1108            grid_fr_fixed_size_single_item::compute();
1109            #[cfg(feature = "grid")]
1110            grid_gap::compute();
1111            #[cfg(feature = "grid")]
1112            grid_hidden::compute();
1113            #[cfg(feature = "grid")]
1114            grid_justify_content_center::compute();
1115            #[cfg(feature = "grid")]
1116            grid_justify_content_center_with_padding_border::compute();
1117            #[cfg(feature = "grid")]
1118            grid_justify_content_end::compute();
1119            #[cfg(feature = "grid")]
1120            grid_justify_content_end_with_padding_border::compute();
1121            #[cfg(feature = "grid")]
1122            grid_justify_content_space_around::compute();
1123            #[cfg(feature = "grid")]
1124            grid_justify_content_space_around_with_padding_border::compute();
1125            #[cfg(feature = "grid")]
1126            grid_justify_content_space_between::compute();
1127            #[cfg(feature = "grid")]
1128            grid_justify_content_space_between_with_padding_border::compute();
1129            #[cfg(feature = "grid")]
1130            grid_justify_content_space_evenly::compute();
1131            #[cfg(feature = "grid")]
1132            grid_justify_content_space_evenly_with_padding_border::compute();
1133            #[cfg(feature = "grid")]
1134            grid_justify_content_start::compute();
1135            #[cfg(feature = "grid")]
1136            grid_justify_content_start_with_padding_border::compute();
1137            #[cfg(feature = "grid")]
1138            grid_justify_items_sized_center::compute();
1139            #[cfg(feature = "grid")]
1140            grid_justify_items_sized_end::compute();
1141            #[cfg(feature = "grid")]
1142            grid_justify_items_sized_start::compute();
1143            #[cfg(feature = "grid")]
1144            grid_justify_items_sized_stretch::compute();
1145            #[cfg(feature = "grid")]
1146            grid_justify_self_sized_all::compute();
1147            #[cfg(feature = "grid")]
1148            grid_margins_auto_margins::compute();
1149            #[cfg(feature = "grid")]
1150            grid_margins_auto_margins_override_stretch::compute();
1151            #[cfg(feature = "grid")]
1152            grid_margins_fixed_center::compute();
1153            #[cfg(feature = "grid")]
1154            grid_margins_fixed_end::compute();
1155            #[cfg(feature = "grid")]
1156            grid_margins_fixed_start::compute();
1157            #[cfg(feature = "grid")]
1158            grid_margins_fixed_stretch::compute();
1159            #[cfg(feature = "grid")]
1160            grid_margins_percent_center::compute();
1161            #[cfg(feature = "grid")]
1162            grid_margins_percent_end::compute();
1163            #[cfg(feature = "grid")]
1164            grid_margins_percent_start::compute();
1165            #[cfg(feature = "grid")]
1166            grid_margins_percent_stretch::compute();
1167            #[cfg(feature = "grid")]
1168            grid_max_content_maximum_single_item::compute();
1169            #[cfg(feature = "grid")]
1170            grid_max_content_single_item::compute();
1171            #[cfg(feature = "grid")]
1172            grid_max_content_single_item_margin_auto::compute();
1173            #[cfg(feature = "grid")]
1174            grid_max_content_single_item_margin_fixed::compute();
1175            #[cfg(feature = "grid")]
1176            grid_max_content_single_item_margin_percent::compute();
1177            #[cfg(feature = "grid")]
1178            grid_min_content_flex_column::compute();
1179            #[cfg(feature = "grid")]
1180            grid_min_content_flex_row::compute();
1181            #[cfg(feature = "grid")]
1182            grid_min_content_flex_single_item::compute();
1183            #[cfg(feature = "grid")]
1184            grid_min_content_flex_single_item_margin_auto::compute();
1185            #[cfg(feature = "grid")]
1186            grid_min_content_flex_single_item_margin_fixed::compute();
1187            #[cfg(feature = "grid")]
1188            grid_min_content_flex_single_item_margin_percent::compute();
1189            #[cfg(feature = "grid")]
1190            grid_min_content_maximum_single_item::compute();
1191            #[cfg(feature = "grid")]
1192            grid_min_content_single_item::compute();
1193            #[cfg(feature = "grid")]
1194            grid_min_max_column_auto::compute();
1195            #[cfg(feature = "grid")]
1196            grid_min_max_column_fixed_width_above_range::compute();
1197            #[cfg(feature = "grid")]
1198            grid_min_max_column_fixed_width_below_range::compute();
1199            #[cfg(feature = "grid")]
1200            grid_min_max_column_fixed_width_within_range::compute();
1201            #[cfg(feature = "grid")]
1202            grid_out_of_order_items::compute();
1203            #[cfg(feature = "grid")]
1204            grid_percent_items_nested_moderate::compute();
1205            #[cfg(feature = "grid")]
1206            grid_percent_items_nested_with_padding_margin::compute();
1207            #[cfg(feature = "grid")]
1208            grid_percent_items_width_and_margin::compute();
1209            #[cfg(feature = "grid")]
1210            grid_percent_items_width_and_padding::compute();
1211            #[cfg(feature = "grid")]
1212            grid_percent_tracks_definite_overflow::compute();
1213            #[cfg(feature = "grid")]
1214            grid_percent_tracks_definite_underflow::compute();
1215            #[cfg(feature = "grid")]
1216            grid_percent_tracks_indefinite_only::compute();
1217            #[cfg(feature = "grid")]
1218            grid_percent_tracks_indefinite_with_content_overflow::compute();
1219            #[cfg(feature = "grid")]
1220            grid_percent_tracks_indefinite_with_content_underflow::compute();
1221            #[cfg(feature = "grid")]
1222            grid_placement_auto_negative::compute();
1223            #[cfg(feature = "grid")]
1224            grid_placement_definite_in_secondary_axis_with_fully_definite_negative::compute();
1225            #[cfg(feature = "grid")]
1226            grid_relayout_vertical_text::compute();
1227            #[cfg(feature = "grid")]
1228            grid_size_child_fixed_tracks::compute();
1229            justify_content_column_center::compute();
1230            justify_content_column_flex_end::compute();
1231            justify_content_column_flex_start::compute();
1232            justify_content_column_min_height_and_margin_bottom::compute();
1233            justify_content_column_min_height_and_margin_top::compute();
1234            justify_content_column_space_around::compute();
1235            justify_content_column_space_between::compute();
1236            justify_content_column_space_evenly::compute();
1237            justify_content_min_max::compute();
1238            justify_content_min_width_with_padding_child_width_greater_than_parent::compute();
1239            justify_content_min_width_with_padding_child_width_lower_than_parent::compute();
1240            justify_content_overflow_min_max::compute();
1241            justify_content_row_center::compute();
1242            justify_content_row_flex_end::compute();
1243            justify_content_row_flex_start::compute();
1244            justify_content_row_max_width_and_margin::compute();
1245            justify_content_row_min_width_and_margin::compute();
1246            justify_content_row_space_around::compute();
1247            justify_content_row_space_between::compute();
1248            justify_content_row_space_evenly::compute();
1249            margin_and_flex_column::compute();
1250            margin_and_flex_row::compute();
1251            margin_and_stretch_column::compute();
1252            margin_and_stretch_row::compute();
1253            margin_auto_bottom::compute();
1254            margin_auto_bottom_and_top::compute();
1255            margin_auto_bottom_and_top_justify_center::compute();
1256            margin_auto_left::compute();
1257            margin_auto_left_and_right::compute();
1258            margin_auto_left_and_right_column::compute();
1259            margin_auto_left_and_right_column_and_center::compute();
1260            margin_auto_left_and_right_stretch::compute();
1261            margin_auto_left_child_bigger_than_parent::compute();
1262            margin_auto_left_fix_right_child_bigger_than_parent::compute();
1263            margin_auto_left_right_child_bigger_than_parent::compute();
1264            margin_auto_left_stretching_child::compute();
1265            margin_auto_mutiple_children_column::compute();
1266            margin_auto_mutiple_children_row::compute();
1267            margin_auto_right::compute();
1268            margin_auto_top::compute();
1269            margin_auto_top_and_bottom_stretch::compute();
1270            margin_auto_top_stretching_child::compute();
1271            margin_bottom::compute();
1272            margin_fix_left_auto_right_child_bigger_than_parent::compute();
1273            margin_left::compute();
1274            margin_right::compute();
1275            margin_should_not_be_part_of_max_height::compute();
1276            margin_should_not_be_part_of_max_width::compute();
1277            margin_top::compute();
1278            margin_with_sibling_column::compute();
1279            margin_with_sibling_row::compute();
1280            max_height::compute();
1281            max_height_overrides_height::compute();
1282            max_height_overrides_height_on_root::compute();
1283            max_width::compute();
1284            max_width_overrides_width::compute();
1285            max_width_overrides_width_on_root::compute();
1286            measure_child::compute();
1287            measure_child_absolute::compute();
1288            measure_child_constraint::compute();
1289            measure_child_constraint_padding_parent::compute();
1290            measure_child_with_flex_grow::compute();
1291            measure_child_with_flex_shrink::compute();
1292            measure_flex_basis_overrides_measure::compute();
1293            measure_height_overrides_measure::compute();
1294            measure_remeasure_child_after_growing::compute();
1295            measure_remeasure_child_after_shrinking::compute();
1296            measure_remeasure_child_after_stretching::compute();
1297            measure_root::compute();
1298            measure_stretch_overrides_measure::compute();
1299            measure_width_overrides_measure::compute();
1300            min_height::compute();
1301            min_height_larger_than_height::compute();
1302            min_height_overrides_height::compute();
1303            min_height_overrides_height_on_root::compute();
1304            min_height_overrides_max_height::compute();
1305            min_height_with_nested_fixed_height::compute();
1306            min_max_percent_different_width_height::compute();
1307            min_max_percent_no_width_height::compute();
1308            min_width::compute();
1309            min_width_larger_than_width::compute();
1310            min_width_overrides_max_width::compute();
1311            min_width_overrides_width::compute();
1312            min_width_overrides_width_on_root::compute();
1313            nested_overflowing_child::compute();
1314            nested_overflowing_child_in_constraint_parent::compute();
1315            only_shrinkable_item_with_flex_basis_zero::compute();
1316            overflow_cross_axis::compute();
1317            overflow_main_axis::compute();
1318            padding_align_end_child::compute();
1319            padding_center_child::compute();
1320            padding_container_match_child::compute();
1321            padding_flex_child::compute();
1322            padding_no_child::compute();
1323            padding_no_size::compute();
1324            padding_stretch_child::compute();
1325            parent_wrap_child_size_overflowing_parent::compute();
1326            percent_absolute_position::compute();
1327            percent_within_flex_grow::compute();
1328            percentage_absolute_position::compute();
1329            percentage_container_in_wrapping_container::compute();
1330            percentage_different_width_height::compute();
1331            percentage_different_width_height_column::compute();
1332            percentage_flex_basis::compute();
1333            percentage_flex_basis_cross::compute();
1334            percentage_flex_basis_cross_max_height::compute();
1335            percentage_flex_basis_cross_max_width::compute();
1336            percentage_flex_basis_cross_min_height::compute();
1337            percentage_flex_basis_cross_min_width::compute();
1338            percentage_flex_basis_main_max_height::compute();
1339            percentage_flex_basis_main_max_width::compute();
1340            percentage_flex_basis_main_min_width::compute();
1341            percentage_main_max_height::compute();
1342            percentage_margin_should_calculate_based_only_on_width::compute();
1343            percentage_moderate_complexity::compute();
1344            percentage_multiple_nested_with_padding_margin_and_percentage_values::compute();
1345            percentage_padding_should_calculate_based_only_on_width::compute();
1346            percentage_position_bottom_right::compute();
1347            percentage_position_left_top::compute();
1348            percentage_size_based_on_parent_inner_size::compute();
1349            percentage_size_of_flex_basis::compute();
1350            percentage_width_height::compute();
1351            percentage_width_height_undefined_parent_size::compute();
1352            relative_position_should_not_nudge_siblings::compute();
1353            rounding_flex_basis_flex_grow_row_prime_number_width::compute();
1354            rounding_flex_basis_flex_grow_row_width_of_100::compute();
1355            rounding_flex_basis_flex_shrink_row::compute();
1356            rounding_flex_basis_overrides_main_size::compute();
1357            rounding_fractial_input_1::compute();
1358            rounding_fractial_input_2::compute();
1359            rounding_fractial_input_3::compute();
1360            rounding_fractial_input_4::compute();
1361            rounding_inner_node_controversy_vertical::compute();
1362            rounding_total_fractial::compute();
1363            rounding_total_fractial_nested::compute();
1364            single_flex_child_after_absolute_child::compute();
1365            size_defined_by_child::compute();
1366            size_defined_by_child_with_border::compute();
1367            size_defined_by_child_with_padding::compute();
1368            size_defined_by_grand_child::compute();
1369            undefined_height_with_min_max::compute();
1370            undefined_width_with_min_max::compute();
1371            undefined_width_with_min_max_row::compute();
1372            width_smaller_then_content_with_flex_grow_large_size::compute();
1373            width_smaller_then_content_with_flex_grow_small_size::compute();
1374            width_smaller_then_content_with_flex_grow_unconstraint_size::compute();
1375            width_smaller_then_content_with_flex_grow_very_large_size::compute();
1376            wrap_child::compute();
1377            wrap_column::compute();
1378            wrap_grandchild::compute();
1379            wrap_nodes_with_content_sizing_margin_cross::compute();
1380            wrap_nodes_with_content_sizing_overflowing_margin::compute();
1381            wrap_reverse_column::compute();
1382            wrap_reverse_column_fixed_size::compute();
1383            wrap_reverse_row::compute();
1384            wrap_reverse_row_align_content_center::compute();
1385            wrap_reverse_row_align_content_flex_start::compute();
1386            wrap_reverse_row_align_content_space_around::compute();
1387            wrap_reverse_row_align_content_stretch::compute();
1388            wrap_reverse_row_single_line_different_size::compute();
1389            wrap_row::compute();
1390            wrap_row_align_items_center::compute();
1391            wrap_row_align_items_flex_end::compute();
1392            wrapped_column_max_height::compute();
1393            wrapped_column_max_height_flex::compute();
1394            wrapped_row_within_align_items_center::compute();
1395            wrapped_row_within_align_items_flex_end::compute();
1396            wrapped_row_within_align_items_flex_start::compute();
1397        })
1398    });
1399}
1400criterion_group!(benches, benchmark);
1401criterion_main!(benches);