tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 1118HTML 1044Markdown 12TOML 94781 Definitions

⎇ ec371711989b7f4d870d91bea4b66bdd94b45c9e benches/generated/mod.rs Rust · 1527 lines · 68.0 KB History Who touched what raw

Fix inset being incorrectly applied to `position:relative` flex items when both insets were set in a given axis (#348) ec3717119 · 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_column_relative_all_sides;
237mod flex_direction_column;
238mod flex_direction_column_no_height;
239mod flex_direction_column_reverse;
240mod flex_direction_column_reverse_no_height;
241mod flex_direction_row;
242mod flex_direction_row_no_width;
243mod flex_direction_row_reverse;
244mod flex_grow_child;
245mod flex_grow_flex_basis_percent_min_max;
246mod flex_grow_height_maximized;
247mod flex_grow_in_at_most_container;
248mod flex_grow_less_than_factor_one;
249mod flex_grow_root_minimized;
250mod flex_grow_shrink_at_most;
251mod flex_grow_to_min;
252mod flex_grow_within_constrained_max_column;
253mod flex_grow_within_constrained_max_row;
254mod flex_grow_within_constrained_max_width;
255mod flex_grow_within_constrained_min_column;
256mod flex_grow_within_constrained_min_max_column;
257mod flex_grow_within_constrained_min_row;
258mod flex_grow_within_max_width;
259mod flex_root_ignored;
260mod flex_row_relative_all_sides;
261mod flex_shrink_by_outer_margin_with_max_size;
262mod flex_shrink_flex_grow_child_flex_shrink_other_child;
263mod flex_shrink_flex_grow_row;
264mod flex_shrink_to_zero;
265mod flex_wrap_align_stretch_fits_one_row;
266mod flex_wrap_children_with_min_main_overriding_flex_basis;
267mod flex_wrap_wrap_to_child_height;
268mod gap_column_gap_child_margins;
269mod gap_column_gap_determines_parent_width;
270mod gap_column_gap_flexible;
271mod gap_column_gap_flexible_undefined_parent;
272mod gap_column_gap_inflexible;
273mod gap_column_gap_inflexible_undefined_parent;
274mod gap_column_gap_justify_center;
275mod gap_column_gap_justify_flex_end;
276mod gap_column_gap_justify_flex_start;
277mod gap_column_gap_justify_space_around;
278mod gap_column_gap_justify_space_between;
279mod gap_column_gap_justify_space_evenly;
280mod gap_column_gap_mixed_flexible;
281mod gap_column_gap_percentage_cyclic_partially_shrinkable;
282mod gap_column_gap_percentage_cyclic_shrinkable;
283mod gap_column_gap_percentage_cyclic_unshrinkable;
284mod gap_column_gap_percentage_flexible;
285mod gap_column_gap_percentage_flexible_with_padding;
286mod gap_column_gap_percentage_inflexible;
287mod gap_column_gap_row_gap_wrapping;
288mod gap_column_gap_wrap_align_center;
289mod gap_column_gap_wrap_align_flex_end;
290mod gap_column_gap_wrap_align_flex_start;
291mod gap_column_gap_wrap_align_space_around;
292mod gap_column_gap_wrap_align_space_between;
293mod gap_column_gap_wrap_align_stretch;
294mod gap_column_row_gap_wrapping;
295mod gap_percentage_row_gap_wrapping;
296mod gap_row_gap_align_items_end;
297mod gap_row_gap_align_items_stretch;
298mod gap_row_gap_column_child_margins;
299mod gap_row_gap_determines_parent_height;
300mod gap_row_gap_row_wrap_child_margins;
301#[cfg(feature = "grid")]
302mod grid_absolute_align_self_sized_all;
303#[cfg(feature = "grid")]
304mod grid_absolute_column_end;
305#[cfg(feature = "grid")]
306mod grid_absolute_column_start;
307#[cfg(feature = "grid")]
308mod grid_absolute_container_bottom_left;
309#[cfg(feature = "grid")]
310mod grid_absolute_container_bottom_left_margin;
311#[cfg(feature = "grid")]
312mod grid_absolute_container_left_overrides_right;
313#[cfg(feature = "grid")]
314mod grid_absolute_container_left_right;
315#[cfg(feature = "grid")]
316mod grid_absolute_container_left_right_margin;
317#[cfg(feature = "grid")]
318mod grid_absolute_container_negative_position;
319#[cfg(feature = "grid")]
320mod grid_absolute_container_negative_position_margin;
321#[cfg(feature = "grid")]
322mod grid_absolute_container_top_bottom;
323#[cfg(feature = "grid")]
324mod grid_absolute_container_top_bottom_margin;
325#[cfg(feature = "grid")]
326mod grid_absolute_container_top_right;
327#[cfg(feature = "grid")]
328mod grid_absolute_container_top_right_margin;
329#[cfg(feature = "grid")]
330mod grid_absolute_justify_self_sized_all;
331#[cfg(feature = "grid")]
332mod grid_absolute_layout_within_border;
333#[cfg(feature = "grid")]
334mod grid_absolute_layout_within_border_static;
335#[cfg(feature = "grid")]
336mod grid_absolute_row_end;
337#[cfg(feature = "grid")]
338mod grid_absolute_row_start;
339#[cfg(feature = "grid")]
340mod grid_absolute_top_overrides_bottom;
341#[cfg(feature = "grid")]
342mod grid_absolute_with_padding;
343#[cfg(feature = "grid")]
344mod grid_absolute_with_padding_and_margin;
345#[cfg(feature = "grid")]
346mod grid_align_content_center;
347#[cfg(feature = "grid")]
348mod grid_align_content_end;
349#[cfg(feature = "grid")]
350mod grid_align_content_end_with_padding_border;
351#[cfg(feature = "grid")]
352mod grid_align_content_space_around;
353#[cfg(feature = "grid")]
354mod grid_align_content_space_around_with_padding_border;
355#[cfg(feature = "grid")]
356mod grid_align_content_space_between;
357#[cfg(feature = "grid")]
358mod grid_align_content_space_between_with_padding_border;
359#[cfg(feature = "grid")]
360mod grid_align_content_space_evenly;
361#[cfg(feature = "grid")]
362mod grid_align_content_space_evenly_with_padding_border;
363#[cfg(feature = "grid")]
364mod grid_align_content_start;
365#[cfg(feature = "grid")]
366mod grid_align_content_start_with_padding_border;
367#[cfg(feature = "grid")]
368mod grid_align_items_baseline;
369#[cfg(feature = "grid")]
370mod grid_align_items_baseline_child;
371#[cfg(feature = "grid")]
372mod grid_align_items_baseline_child_margin;
373#[cfg(feature = "grid")]
374mod grid_align_items_baseline_child_margin_percent;
375#[cfg(feature = "grid")]
376mod grid_align_items_baseline_child_multiline;
377#[cfg(feature = "grid")]
378mod grid_align_items_baseline_child_multiline_no_override_on_secondline;
379#[cfg(feature = "grid")]
380mod grid_align_items_baseline_child_multiline_override;
381#[cfg(feature = "grid")]
382mod grid_align_items_baseline_child_padding;
383#[cfg(feature = "grid")]
384mod grid_align_items_baseline_child_top;
385#[cfg(feature = "grid")]
386mod grid_align_items_baseline_child_top2;
387#[cfg(feature = "grid")]
388mod grid_align_items_baseline_complex;
389#[cfg(feature = "grid")]
390mod grid_align_items_baseline_double_nested_child;
391#[cfg(feature = "grid")]
392mod grid_align_items_baseline_multiline;
393#[cfg(feature = "grid")]
394mod grid_align_items_baseline_multiline_column;
395#[cfg(feature = "grid")]
396mod grid_align_items_baseline_multiline_row_and_column;
397#[cfg(feature = "grid")]
398mod grid_align_items_baseline_nested_column;
399#[cfg(feature = "grid")]
400mod grid_align_items_sized_center;
401#[cfg(feature = "grid")]
402mod grid_align_items_sized_end;
403#[cfg(feature = "grid")]
404mod grid_align_items_sized_start;
405#[cfg(feature = "grid")]
406mod grid_align_items_sized_stretch;
407#[cfg(feature = "grid")]
408mod grid_align_self_sized_all;
409#[cfg(feature = "grid")]
410mod grid_aspect_ratio_absolute_aspect_ratio_overrides_height_of_full_inset;
411#[cfg(feature = "grid")]
412mod grid_aspect_ratio_absolute_fill_height_from_inset;
413#[cfg(feature = "grid")]
414mod grid_aspect_ratio_absolute_fill_width_from_inset;
415#[cfg(feature = "grid")]
416mod grid_aspect_ratio_absolute_height_overrides_inset;
417#[cfg(feature = "grid")]
418mod grid_aspect_ratio_absolute_width_overrides_inset;
419#[cfg(feature = "grid")]
420mod grid_aspect_ratio_child_fill_content_height;
421#[cfg(feature = "grid")]
422mod grid_aspect_ratio_child_fill_content_width;
423#[cfg(feature = "grid")]
424mod grid_aspect_ratio_fill_child_height;
425#[cfg(feature = "grid")]
426mod grid_aspect_ratio_fill_child_max_height;
427#[cfg(feature = "grid")]
428mod grid_aspect_ratio_fill_child_max_width;
429#[cfg(feature = "grid")]
430mod grid_aspect_ratio_fill_child_min_height;
431#[cfg(feature = "grid")]
432mod grid_aspect_ratio_fill_child_min_width;
433#[cfg(feature = "grid")]
434mod grid_aspect_ratio_fill_child_width;
435#[cfg(feature = "grid")]
436mod grid_aspect_ratio_overriden_by_explicit_sizes;
437#[cfg(feature = "grid")]
438mod grid_aspect_ratio_overriden_by_explicit_sizes_flex;
439#[cfg(feature = "grid")]
440mod grid_auto_columns_fixed_width;
441#[cfg(feature = "grid")]
442mod grid_auto_fill_fixed_size;
443#[cfg(feature = "grid")]
444mod grid_auto_fill_with_empty_auto_track;
445#[cfg(feature = "grid")]
446mod grid_auto_fit_with_empty_auto_track;
447#[cfg(feature = "grid")]
448mod grid_auto_single_item;
449#[cfg(feature = "grid")]
450mod grid_auto_single_item_fixed_width;
451#[cfg(feature = "grid")]
452mod grid_auto_single_item_fixed_width_with_definite_width;
453#[cfg(feature = "grid")]
454mod grid_basic;
455#[cfg(feature = "grid")]
456mod grid_basic_implicit_tracks;
457#[cfg(feature = "grid")]
458mod grid_basic_with_overflow;
459#[cfg(feature = "grid")]
460mod grid_basic_with_padding;
461#[cfg(feature = "grid")]
462mod grid_fit_content_percent_definite_argument;
463#[cfg(feature = "grid")]
464mod grid_fit_content_percent_definite_max_content;
465#[cfg(feature = "grid")]
466mod grid_fit_content_percent_definite_min_content;
467#[cfg(feature = "grid")]
468mod grid_fit_content_percent_indefinite_argument;
469#[cfg(feature = "grid")]
470mod grid_fit_content_percent_indefinite_max_content;
471#[cfg(feature = "grid")]
472mod grid_fit_content_percent_indefinite_min_content;
473#[cfg(feature = "grid")]
474mod grid_fit_content_points_argument;
475#[cfg(feature = "grid")]
476mod grid_fit_content_points_max_content;
477#[cfg(feature = "grid")]
478mod grid_fit_content_points_min_content;
479#[cfg(feature = "grid")]
480mod grid_fr_auto_no_sized_items;
481#[cfg(feature = "grid")]
482mod grid_fr_auto_single_item;
483#[cfg(feature = "grid")]
484mod grid_fr_fixed_size_no_content;
485#[cfg(feature = "grid")]
486mod grid_fr_fixed_size_single_item;
487#[cfg(feature = "grid")]
488mod grid_gap;
489#[cfg(feature = "grid")]
490mod grid_hidden;
491#[cfg(feature = "grid")]
492mod grid_justify_content_center;
493#[cfg(feature = "grid")]
494mod grid_justify_content_center_with_padding_border;
495#[cfg(feature = "grid")]
496mod grid_justify_content_end;
497#[cfg(feature = "grid")]
498mod grid_justify_content_end_with_padding_border;
499#[cfg(feature = "grid")]
500mod grid_justify_content_space_around;
501#[cfg(feature = "grid")]
502mod grid_justify_content_space_around_with_padding_border;
503#[cfg(feature = "grid")]
504mod grid_justify_content_space_between;
505#[cfg(feature = "grid")]
506mod grid_justify_content_space_between_with_padding_border;
507#[cfg(feature = "grid")]
508mod grid_justify_content_space_evenly;
509#[cfg(feature = "grid")]
510mod grid_justify_content_space_evenly_with_padding_border;
511#[cfg(feature = "grid")]
512mod grid_justify_content_start;
513#[cfg(feature = "grid")]
514mod grid_justify_content_start_with_padding_border;
515#[cfg(feature = "grid")]
516mod grid_justify_items_sized_center;
517#[cfg(feature = "grid")]
518mod grid_justify_items_sized_end;
519#[cfg(feature = "grid")]
520mod grid_justify_items_sized_start;
521#[cfg(feature = "grid")]
522mod grid_justify_items_sized_stretch;
523#[cfg(feature = "grid")]
524mod grid_justify_self_sized_all;
525#[cfg(feature = "grid")]
526mod grid_margins_auto_margins;
527#[cfg(feature = "grid")]
528mod grid_margins_auto_margins_override_stretch;
529#[cfg(feature = "grid")]
530mod grid_margins_fixed_center;
531#[cfg(feature = "grid")]
532mod grid_margins_fixed_end;
533#[cfg(feature = "grid")]
534mod grid_margins_fixed_start;
535#[cfg(feature = "grid")]
536mod grid_margins_fixed_stretch;
537#[cfg(feature = "grid")]
538mod grid_margins_percent_center;
539#[cfg(feature = "grid")]
540mod grid_margins_percent_end;
541#[cfg(feature = "grid")]
542mod grid_margins_percent_start;
543#[cfg(feature = "grid")]
544mod grid_margins_percent_stretch;
545#[cfg(feature = "grid")]
546mod grid_max_content_maximum_single_item;
547#[cfg(feature = "grid")]
548mod grid_max_content_single_item;
549#[cfg(feature = "grid")]
550mod grid_max_content_single_item_margin_auto;
551#[cfg(feature = "grid")]
552mod grid_max_content_single_item_margin_fixed;
553#[cfg(feature = "grid")]
554mod grid_max_content_single_item_margin_percent;
555#[cfg(feature = "grid")]
556mod grid_max_content_single_item_span_2;
557#[cfg(feature = "grid")]
558mod grid_max_content_single_item_span_2_gap_fixed;
559#[cfg(feature = "grid")]
560mod grid_max_content_single_item_span_2_gap_percent_definite;
561#[cfg(feature = "grid")]
562mod grid_max_content_single_item_span_2_gap_percent_indefinite;
563#[cfg(feature = "grid")]
564mod grid_min_content_flex_column;
565#[cfg(feature = "grid")]
566mod grid_min_content_flex_row;
567#[cfg(feature = "grid")]
568mod grid_min_content_flex_single_item;
569#[cfg(feature = "grid")]
570mod grid_min_content_flex_single_item_margin_auto;
571#[cfg(feature = "grid")]
572mod grid_min_content_flex_single_item_margin_fixed;
573#[cfg(feature = "grid")]
574mod grid_min_content_flex_single_item_margin_percent;
575#[cfg(feature = "grid")]
576mod grid_min_content_maximum_single_item;
577#[cfg(feature = "grid")]
578mod grid_min_content_single_item;
579#[cfg(feature = "grid")]
580mod grid_min_max_column_auto;
581#[cfg(feature = "grid")]
582mod grid_min_max_column_fixed_width_above_range;
583#[cfg(feature = "grid")]
584mod grid_min_max_column_fixed_width_below_range;
585#[cfg(feature = "grid")]
586mod grid_min_max_column_fixed_width_within_range;
587#[cfg(feature = "grid")]
588mod grid_out_of_order_items;
589#[cfg(feature = "grid")]
590mod grid_percent_items_nested_moderate;
591#[cfg(feature = "grid")]
592mod grid_percent_items_nested_with_padding_margin;
593#[cfg(feature = "grid")]
594mod grid_percent_items_width_and_margin;
595#[cfg(feature = "grid")]
596mod grid_percent_items_width_and_padding;
597#[cfg(feature = "grid")]
598mod grid_percent_tracks_definite_overflow;
599#[cfg(feature = "grid")]
600mod grid_percent_tracks_definite_underflow;
601#[cfg(feature = "grid")]
602mod grid_percent_tracks_indefinite_only;
603#[cfg(feature = "grid")]
604mod grid_percent_tracks_indefinite_with_content_overflow;
605#[cfg(feature = "grid")]
606mod grid_percent_tracks_indefinite_with_content_underflow;
607#[cfg(feature = "grid")]
608mod grid_placement_auto_negative;
609#[cfg(feature = "grid")]
610mod grid_placement_definite_in_secondary_axis_with_fully_definite_negative;
611#[cfg(feature = "grid")]
612mod grid_relative_all_sides;
613#[cfg(feature = "grid")]
614mod grid_relayout_vertical_text;
615#[cfg(feature = "grid")]
616mod grid_repeat_integer;
617#[cfg(feature = "grid")]
618mod grid_repeat_mixed;
619#[cfg(feature = "grid")]
620mod grid_size_child_fixed_tracks;
621mod justify_content_column_center;
622mod justify_content_column_flex_end;
623mod justify_content_column_flex_start;
624mod justify_content_column_max_height_and_margin;
625mod justify_content_column_min_height_and_margin;
626mod justify_content_column_min_height_and_margin_bottom;
627mod justify_content_column_min_height_and_margin_top;
628mod justify_content_column_space_around;
629mod justify_content_column_space_between;
630mod justify_content_column_space_evenly;
631mod justify_content_min_max;
632mod justify_content_min_width_with_padding_child_width_greater_than_parent;
633mod justify_content_min_width_with_padding_child_width_lower_than_parent;
634mod justify_content_overflow_min_max;
635mod justify_content_row_center;
636mod justify_content_row_flex_end;
637mod justify_content_row_flex_start;
638mod justify_content_row_max_width_and_margin;
639mod justify_content_row_min_width_and_margin;
640mod justify_content_row_space_around;
641mod justify_content_row_space_between;
642mod justify_content_row_space_evenly;
643mod margin_and_flex_column;
644mod margin_and_flex_row;
645mod margin_and_stretch_column;
646mod margin_and_stretch_row;
647mod margin_auto_bottom;
648mod margin_auto_bottom_and_top;
649mod margin_auto_bottom_and_top_justify_center;
650mod margin_auto_left;
651mod margin_auto_left_and_right;
652mod margin_auto_left_and_right_column;
653mod margin_auto_left_and_right_column_and_center;
654mod margin_auto_left_and_right_stretch;
655mod margin_auto_left_child_bigger_than_parent;
656mod margin_auto_left_fix_right_child_bigger_than_parent;
657mod margin_auto_left_right_child_bigger_than_parent;
658mod margin_auto_left_stretching_child;
659mod margin_auto_mutiple_children_column;
660mod margin_auto_mutiple_children_row;
661mod margin_auto_right;
662mod margin_auto_top;
663mod margin_auto_top_and_bottom_stretch;
664mod margin_auto_top_stretching_child;
665mod margin_bottom;
666mod margin_fix_left_auto_right_child_bigger_than_parent;
667mod margin_left;
668mod margin_right;
669mod margin_should_not_be_part_of_max_height;
670mod margin_should_not_be_part_of_max_width;
671mod margin_top;
672mod margin_with_sibling_column;
673mod margin_with_sibling_row;
674mod max_height;
675mod max_height_overrides_height;
676mod max_height_overrides_height_on_root;
677mod max_width;
678mod max_width_overrides_width;
679mod max_width_overrides_width_on_root;
680mod measure_child;
681mod measure_child_absolute;
682mod measure_child_constraint;
683mod measure_child_constraint_padding_parent;
684mod measure_child_with_flex_grow;
685mod measure_child_with_flex_shrink;
686mod measure_flex_basis_overrides_measure;
687mod measure_height_overrides_measure;
688mod measure_remeasure_child_after_growing;
689mod measure_remeasure_child_after_shrinking;
690mod measure_remeasure_child_after_stretching;
691mod measure_root;
692mod measure_stretch_overrides_measure;
693mod measure_width_overrides_measure;
694mod min_height;
695mod min_height_larger_than_height;
696mod min_height_overrides_height;
697mod min_height_overrides_height_on_root;
698mod min_height_overrides_max_height;
699mod min_height_with_nested_fixed_height;
700mod min_max_percent_different_width_height;
701mod min_max_percent_no_width_height;
702mod min_width;
703mod min_width_larger_than_width;
704mod min_width_overrides_max_width;
705mod min_width_overrides_width;
706mod min_width_overrides_width_on_root;
707mod nested_overflowing_child;
708mod nested_overflowing_child_in_constraint_parent;
709mod only_shrinkable_item_with_flex_basis_zero;
710mod overflow_cross_axis;
711mod overflow_main_axis;
712mod padding_align_end_child;
713mod padding_center_child;
714mod padding_container_match_child;
715mod padding_flex_child;
716mod padding_no_child;
717mod padding_no_size;
718mod padding_stretch_child;
719mod parent_wrap_child_size_overflowing_parent;
720mod percent_absolute_position;
721mod percent_within_flex_grow;
722mod percentage_absolute_position;
723mod percentage_container_in_wrapping_container;
724mod percentage_different_width_height;
725mod percentage_different_width_height_column;
726mod percentage_flex_basis;
727mod percentage_flex_basis_cross;
728mod percentage_flex_basis_cross_max_height;
729mod percentage_flex_basis_cross_max_width;
730mod percentage_flex_basis_cross_min_height;
731mod percentage_flex_basis_cross_min_width;
732mod percentage_flex_basis_main_max_height;
733mod percentage_flex_basis_main_max_width;
734mod percentage_flex_basis_main_min_width;
735mod percentage_main_max_height;
736mod percentage_margin_should_calculate_based_only_on_width;
737mod percentage_moderate_complexity;
738mod percentage_multiple_nested_with_padding_margin_and_percentage_values;
739mod percentage_padding_should_calculate_based_only_on_width;
740mod percentage_position_bottom_right;
741mod percentage_position_left_top;
742mod percentage_size_based_on_parent_inner_size;
743mod percentage_size_of_flex_basis;
744mod percentage_width_height;
745mod percentage_width_height_undefined_parent_size;
746mod position_root_with_rtl_should_position_withoutdirection;
747mod relative_position_should_not_nudge_siblings;
748mod rounding_flex_basis_flex_grow_row_prime_number_width;
749mod rounding_flex_basis_flex_grow_row_width_of_100;
750mod rounding_flex_basis_flex_shrink_row;
751mod rounding_flex_basis_overrides_main_size;
752mod rounding_fractial_input_1;
753mod rounding_fractial_input_2;
754mod rounding_fractial_input_3;
755mod rounding_fractial_input_4;
756mod rounding_inner_node_controversy_vertical;
757mod rounding_total_fractial;
758mod rounding_total_fractial_nested;
759mod single_flex_child_after_absolute_child;
760mod size_defined_by_child;
761mod size_defined_by_child_with_border;
762mod size_defined_by_child_with_padding;
763mod size_defined_by_grand_child;
764mod undefined_height_with_min_max;
765mod undefined_width_with_min_max;
766mod undefined_width_with_min_max_row;
767mod width_smaller_then_content_with_flex_grow_large_size;
768mod width_smaller_then_content_with_flex_grow_small_size;
769mod width_smaller_then_content_with_flex_grow_unconstraint_size;
770mod width_smaller_then_content_with_flex_grow_very_large_size;
771mod wrap_child;
772mod wrap_column;
773mod wrap_grandchild;
774mod wrap_nodes_with_content_sizing_margin_cross;
775mod wrap_nodes_with_content_sizing_overflowing_margin;
776mod wrap_reverse_column;
777mod wrap_reverse_column_fixed_size;
778mod wrap_reverse_row;
779mod wrap_reverse_row_align_content_center;
780mod wrap_reverse_row_align_content_flex_start;
781mod wrap_reverse_row_align_content_space_around;
782mod wrap_reverse_row_align_content_stretch;
783mod wrap_reverse_row_single_line_different_size;
784mod wrap_row;
785mod wrap_row_align_items_center;
786mod wrap_row_align_items_flex_end;
787mod wrapped_column_max_height;
788mod wrapped_column_max_height_flex;
789mod wrapped_row_within_align_items_center;
790mod wrapped_row_within_align_items_flex_end;
791mod wrapped_row_within_align_items_flex_start;
792fn benchmark(c: &mut Criterion) {
793    c.bench_function("generated benchmarks", |b| {
794        b.iter(|| {
795            absolute_aspect_ratio_aspect_ratio_overrides_height_of_full_inset::compute();
796            absolute_aspect_ratio_fill_height::compute();
797            absolute_aspect_ratio_fill_height_from_inset::compute();
798            absolute_aspect_ratio_fill_max_height::compute();
799            absolute_aspect_ratio_fill_max_width::compute();
800            absolute_aspect_ratio_fill_min_height::compute();
801            absolute_aspect_ratio_fill_min_width::compute();
802            absolute_aspect_ratio_fill_width::compute();
803            absolute_aspect_ratio_fill_width_from_inset::compute();
804            absolute_aspect_ratio_height_overrides_inset::compute();
805            absolute_aspect_ratio_width_overrides_inset::compute();
806            absolute_child_with_cross_margin::compute();
807            absolute_child_with_main_margin::compute();
808            absolute_child_with_max_height::compute();
809            absolute_child_with_max_height_larger_shrinkable_grandchild::compute();
810            absolute_layout_align_items_and_justify_content_center::compute();
811            absolute_layout_align_items_and_justify_content_center_and_bottom_position::compute();
812            absolute_layout_align_items_and_justify_content_center_and_left_position::compute();
813            absolute_layout_align_items_and_justify_content_center_and_right_position::compute();
814            absolute_layout_align_items_and_justify_content_center_and_top_position::compute();
815            absolute_layout_align_items_and_justify_content_flex_end::compute();
816            absolute_layout_align_items_center::compute();
817            absolute_layout_align_items_center_on_child_only::compute();
818            absolute_layout_child_order::compute();
819            absolute_layout_in_wrap_reverse_column_container::compute();
820            absolute_layout_in_wrap_reverse_column_container_flex_end::compute();
821            absolute_layout_in_wrap_reverse_row_container::compute();
822            absolute_layout_in_wrap_reverse_row_container_flex_end::compute();
823            absolute_layout_justify_content_center::compute();
824            absolute_layout_no_size::compute();
825            absolute_layout_percentage_bottom_based_on_parent_height::compute();
826            absolute_layout_percentage_height::compute();
827            absolute_layout_row_width_height_end_bottom::compute();
828            absolute_layout_start_top_end_bottom::compute();
829            absolute_layout_width_height_end_bottom::compute();
830            absolute_layout_width_height_start_top::compute();
831            absolute_layout_width_height_start_top_end_bottom::compute();
832            absolute_layout_within_border::compute();
833            absolute_margin_bottom_left::compute();
834            absolute_minmax_bottom_right_max::compute();
835            absolute_minmax_bottom_right_min_max::compute();
836            absolute_minmax_bottom_right_min_max_preferred::compute();
837            absolute_minmax_top_left_bottom_right_max::compute();
838            absolute_minmax_top_left_bottom_right_min_max::compute();
839            align_baseline::compute();
840            align_baseline_child::compute();
841            align_baseline_child_margin::compute();
842            align_baseline_child_margin_percent::compute();
843            align_baseline_child_multiline::compute();
844            align_baseline_child_multiline_no_override_on_secondline::compute();
845            align_baseline_child_multiline_override::compute();
846            align_baseline_child_padding::compute();
847            align_baseline_child_top::compute();
848            align_baseline_child_top2::compute();
849            align_baseline_column::compute();
850            align_baseline_double_nested_child::compute();
851            align_baseline_multiline::compute();
852            align_baseline_multiline_column::compute();
853            align_baseline_multiline_column2::compute();
854            align_baseline_multiline_row_and_column::compute();
855            align_baseline_nested_child::compute();
856            align_baseline_nested_column::compute();
857            align_center_should_size_based_on_content::compute();
858            align_content_flex_end::compute();
859            align_content_flex_start::compute();
860            align_content_flex_start_with_flex::compute();
861            align_content_flex_start_without_height_on_children::compute();
862            align_content_not_stretch_with_align_items_stretch::compute();
863            align_content_space_around_single_line::compute();
864            align_content_space_around_wrapped::compute();
865            align_content_space_between_single_line::compute();
866            align_content_space_between_wrapped::compute();
867            align_content_space_evenly_single_line::compute();
868            align_content_space_evenly_wrapped::compute();
869            align_content_spacearound::compute();
870            align_content_spacebetween::compute();
871            align_content_stretch::compute();
872            align_content_stretch_column::compute();
873            align_content_stretch_is_not_overriding_align_items::compute();
874            align_content_stretch_row::compute();
875            align_content_stretch_row_with_children::compute();
876            align_content_stretch_row_with_fixed_height::compute();
877            align_content_stretch_row_with_flex::compute();
878            align_content_stretch_row_with_flex_no_shrink::compute();
879            align_content_stretch_row_with_margin::compute();
880            align_content_stretch_row_with_max_height::compute();
881            align_content_stretch_row_with_min_height::compute();
882            align_content_stretch_row_with_padding::compute();
883            align_content_stretch_row_with_single_row::compute();
884            align_flex_start_with_shrinking_children::compute();
885            align_flex_start_with_shrinking_children_with_stretch::compute();
886            align_flex_start_with_stretching_children::compute();
887            align_items_center::compute();
888            align_items_center_child_with_margin_bigger_than_parent::compute();
889            align_items_center_child_without_margin_bigger_than_parent::compute();
890            align_items_center_justify_content_center::compute();
891            align_items_center_min_max_with_padding::compute();
892            align_items_center_with_child_margin::compute();
893            align_items_center_with_child_top::compute();
894            align_items_flex_end::compute();
895            align_items_flex_end_child_with_margin_bigger_than_parent::compute();
896            align_items_flex_end_child_without_margin_bigger_than_parent::compute();
897            align_items_flex_start::compute();
898            align_items_min_max::compute();
899            align_items_stretch::compute();
900            align_items_stretch_min_cross::compute();
901            align_self_baseline::compute();
902            align_self_center::compute();
903            align_self_center_undefined_max_height::compute();
904            align_self_flex_end::compute();
905            align_self_flex_end_override_flex_start::compute();
906            align_self_flex_start::compute();
907            align_stretch_should_size_based_on_parent::compute();
908            android_news_feed::compute();
909            aspect_ratio_flex_column_fill_height::compute();
910            aspect_ratio_flex_column_fill_max_height::compute();
911            aspect_ratio_flex_column_fill_max_width::compute();
912            aspect_ratio_flex_column_fill_min_height::compute();
913            aspect_ratio_flex_column_fill_min_width::compute();
914            aspect_ratio_flex_column_fill_width::compute();
915            aspect_ratio_flex_column_fill_width_flex::compute();
916            aspect_ratio_flex_column_stretch_fill_height::compute();
917            aspect_ratio_flex_column_stretch_fill_max_height::compute();
918            aspect_ratio_flex_column_stretch_fill_max_width::compute();
919            aspect_ratio_flex_column_stretch_fill_width::compute();
920            aspect_ratio_flex_row_fill_height::compute();
921            aspect_ratio_flex_row_fill_max_height::compute();
922            aspect_ratio_flex_row_fill_max_width::compute();
923            aspect_ratio_flex_row_fill_min_height::compute();
924            aspect_ratio_flex_row_fill_min_width::compute();
925            aspect_ratio_flex_row_fill_width::compute();
926            aspect_ratio_flex_row_fill_width_flex::compute();
927            aspect_ratio_flex_row_stretch_fill_height::compute();
928            aspect_ratio_flex_row_stretch_fill_max_height::compute();
929            aspect_ratio_flex_row_stretch_fill_max_width::compute();
930            aspect_ratio_flex_row_stretch_fill_width::compute();
931            border_center_child::compute();
932            border_container_match_child::compute();
933            border_flex_child::compute();
934            border_no_child::compute();
935            border_no_size::compute();
936            border_stretch_child::compute();
937            child_min_max_width_flexing::compute();
938            child_with_padding_align_end::compute();
939            container_with_unsized_child::compute();
940            display_none::compute();
941            display_none_absolute_child::compute();
942            display_none_fixed_size::compute();
943            display_none_with_child::compute();
944            display_none_with_margin::compute();
945            display_none_with_position::compute();
946            display_none_with_position_absolute::compute();
947            flex_basis_and_main_dimen_set_when_flexing::compute();
948            flex_basis_flex_grow_column::compute();
949            flex_basis_flex_grow_row::compute();
950            flex_basis_flex_shrink_column::compute();
951            flex_basis_flex_shrink_row::compute();
952            flex_basis_larger_than_content_column::compute();
953            flex_basis_larger_than_content_row::compute();
954            flex_basis_overrides_main_size::compute();
955            flex_basis_slightly_smaller_then_content_with_flex_grow_large_size::compute();
956            flex_basis_smaller_than_content_column::compute();
957            flex_basis_smaller_than_content_row::compute();
958            flex_basis_smaller_than_main_dimen_column::compute();
959            flex_basis_smaller_than_main_dimen_row::compute();
960            flex_basis_smaller_then_content_with_flex_grow_large_size::compute();
961            flex_basis_smaller_then_content_with_flex_grow_small_size::compute();
962            flex_basis_smaller_then_content_with_flex_grow_unconstraint_size::compute();
963            flex_basis_smaller_then_content_with_flex_grow_very_large_size::compute();
964            flex_basis_unconstraint_column::compute();
965            flex_basis_unconstraint_row::compute();
966            flex_basis_zero_undefined_main_size::compute();
967            flex_column_relative_all_sides::compute();
968            flex_direction_column::compute();
969            flex_direction_column_no_height::compute();
970            flex_direction_column_reverse::compute();
971            flex_direction_column_reverse_no_height::compute();
972            flex_direction_row::compute();
973            flex_direction_row_no_width::compute();
974            flex_direction_row_reverse::compute();
975            flex_grow_child::compute();
976            flex_grow_flex_basis_percent_min_max::compute();
977            flex_grow_height_maximized::compute();
978            flex_grow_in_at_most_container::compute();
979            flex_grow_less_than_factor_one::compute();
980            flex_grow_root_minimized::compute();
981            flex_grow_shrink_at_most::compute();
982            flex_grow_to_min::compute();
983            flex_grow_within_constrained_max_column::compute();
984            flex_grow_within_constrained_max_row::compute();
985            flex_grow_within_constrained_max_width::compute();
986            flex_grow_within_constrained_min_column::compute();
987            flex_grow_within_constrained_min_max_column::compute();
988            flex_grow_within_constrained_min_row::compute();
989            flex_grow_within_max_width::compute();
990            flex_root_ignored::compute();
991            flex_row_relative_all_sides::compute();
992            flex_shrink_by_outer_margin_with_max_size::compute();
993            flex_shrink_flex_grow_child_flex_shrink_other_child::compute();
994            flex_shrink_flex_grow_row::compute();
995            flex_shrink_to_zero::compute();
996            flex_wrap_align_stretch_fits_one_row::compute();
997            flex_wrap_children_with_min_main_overriding_flex_basis::compute();
998            flex_wrap_wrap_to_child_height::compute();
999            gap_column_gap_child_margins::compute();
1000            gap_column_gap_determines_parent_width::compute();
1001            gap_column_gap_flexible::compute();
1002            gap_column_gap_flexible_undefined_parent::compute();
1003            gap_column_gap_inflexible::compute();
1004            gap_column_gap_inflexible_undefined_parent::compute();
1005            gap_column_gap_justify_center::compute();
1006            gap_column_gap_justify_flex_end::compute();
1007            gap_column_gap_justify_flex_start::compute();
1008            gap_column_gap_justify_space_around::compute();
1009            gap_column_gap_justify_space_between::compute();
1010            gap_column_gap_justify_space_evenly::compute();
1011            gap_column_gap_mixed_flexible::compute();
1012            gap_column_gap_percentage_cyclic_partially_shrinkable::compute();
1013            gap_column_gap_percentage_cyclic_shrinkable::compute();
1014            gap_column_gap_percentage_cyclic_unshrinkable::compute();
1015            gap_column_gap_percentage_flexible::compute();
1016            gap_column_gap_percentage_flexible_with_padding::compute();
1017            gap_column_gap_percentage_inflexible::compute();
1018            gap_column_gap_row_gap_wrapping::compute();
1019            gap_column_gap_wrap_align_center::compute();
1020            gap_column_gap_wrap_align_flex_end::compute();
1021            gap_column_gap_wrap_align_flex_start::compute();
1022            gap_column_gap_wrap_align_space_around::compute();
1023            gap_column_gap_wrap_align_space_between::compute();
1024            gap_column_gap_wrap_align_stretch::compute();
1025            gap_column_row_gap_wrapping::compute();
1026            gap_percentage_row_gap_wrapping::compute();
1027            gap_row_gap_align_items_end::compute();
1028            gap_row_gap_align_items_stretch::compute();
1029            gap_row_gap_column_child_margins::compute();
1030            gap_row_gap_determines_parent_height::compute();
1031            gap_row_gap_row_wrap_child_margins::compute();
1032            #[cfg(feature = "grid")]
1033            grid_absolute_align_self_sized_all::compute();
1034            #[cfg(feature = "grid")]
1035            grid_absolute_column_end::compute();
1036            #[cfg(feature = "grid")]
1037            grid_absolute_column_start::compute();
1038            #[cfg(feature = "grid")]
1039            grid_absolute_container_bottom_left::compute();
1040            #[cfg(feature = "grid")]
1041            grid_absolute_container_bottom_left_margin::compute();
1042            #[cfg(feature = "grid")]
1043            grid_absolute_container_left_overrides_right::compute();
1044            #[cfg(feature = "grid")]
1045            grid_absolute_container_left_right::compute();
1046            #[cfg(feature = "grid")]
1047            grid_absolute_container_left_right_margin::compute();
1048            #[cfg(feature = "grid")]
1049            grid_absolute_container_negative_position::compute();
1050            #[cfg(feature = "grid")]
1051            grid_absolute_container_negative_position_margin::compute();
1052            #[cfg(feature = "grid")]
1053            grid_absolute_container_top_bottom::compute();
1054            #[cfg(feature = "grid")]
1055            grid_absolute_container_top_bottom_margin::compute();
1056            #[cfg(feature = "grid")]
1057            grid_absolute_container_top_right::compute();
1058            #[cfg(feature = "grid")]
1059            grid_absolute_container_top_right_margin::compute();
1060            #[cfg(feature = "grid")]
1061            grid_absolute_justify_self_sized_all::compute();
1062            #[cfg(feature = "grid")]
1063            grid_absolute_layout_within_border::compute();
1064            #[cfg(feature = "grid")]
1065            grid_absolute_layout_within_border_static::compute();
1066            #[cfg(feature = "grid")]
1067            grid_absolute_row_end::compute();
1068            #[cfg(feature = "grid")]
1069            grid_absolute_row_start::compute();
1070            #[cfg(feature = "grid")]
1071            grid_absolute_top_overrides_bottom::compute();
1072            #[cfg(feature = "grid")]
1073            grid_absolute_with_padding::compute();
1074            #[cfg(feature = "grid")]
1075            grid_absolute_with_padding_and_margin::compute();
1076            #[cfg(feature = "grid")]
1077            grid_align_content_center::compute();
1078            #[cfg(feature = "grid")]
1079            grid_align_content_end::compute();
1080            #[cfg(feature = "grid")]
1081            grid_align_content_end_with_padding_border::compute();
1082            #[cfg(feature = "grid")]
1083            grid_align_content_space_around::compute();
1084            #[cfg(feature = "grid")]
1085            grid_align_content_space_around_with_padding_border::compute();
1086            #[cfg(feature = "grid")]
1087            grid_align_content_space_between::compute();
1088            #[cfg(feature = "grid")]
1089            grid_align_content_space_between_with_padding_border::compute();
1090            #[cfg(feature = "grid")]
1091            grid_align_content_space_evenly::compute();
1092            #[cfg(feature = "grid")]
1093            grid_align_content_space_evenly_with_padding_border::compute();
1094            #[cfg(feature = "grid")]
1095            grid_align_content_start::compute();
1096            #[cfg(feature = "grid")]
1097            grid_align_content_start_with_padding_border::compute();
1098            #[cfg(feature = "grid")]
1099            grid_align_items_baseline::compute();
1100            #[cfg(feature = "grid")]
1101            grid_align_items_baseline_child::compute();
1102            #[cfg(feature = "grid")]
1103            grid_align_items_baseline_child_margin::compute();
1104            #[cfg(feature = "grid")]
1105            grid_align_items_baseline_child_margin_percent::compute();
1106            #[cfg(feature = "grid")]
1107            grid_align_items_baseline_child_multiline::compute();
1108            #[cfg(feature = "grid")]
1109            grid_align_items_baseline_child_multiline_no_override_on_secondline::compute();
1110            #[cfg(feature = "grid")]
1111            grid_align_items_baseline_child_multiline_override::compute();
1112            #[cfg(feature = "grid")]
1113            grid_align_items_baseline_child_padding::compute();
1114            #[cfg(feature = "grid")]
1115            grid_align_items_baseline_child_top::compute();
1116            #[cfg(feature = "grid")]
1117            grid_align_items_baseline_child_top2::compute();
1118            #[cfg(feature = "grid")]
1119            grid_align_items_baseline_complex::compute();
1120            #[cfg(feature = "grid")]
1121            grid_align_items_baseline_double_nested_child::compute();
1122            #[cfg(feature = "grid")]
1123            grid_align_items_baseline_multiline::compute();
1124            #[cfg(feature = "grid")]
1125            grid_align_items_baseline_multiline_column::compute();
1126            #[cfg(feature = "grid")]
1127            grid_align_items_baseline_multiline_row_and_column::compute();
1128            #[cfg(feature = "grid")]
1129            grid_align_items_baseline_nested_column::compute();
1130            #[cfg(feature = "grid")]
1131            grid_align_items_sized_center::compute();
1132            #[cfg(feature = "grid")]
1133            grid_align_items_sized_end::compute();
1134            #[cfg(feature = "grid")]
1135            grid_align_items_sized_start::compute();
1136            #[cfg(feature = "grid")]
1137            grid_align_items_sized_stretch::compute();
1138            #[cfg(feature = "grid")]
1139            grid_align_self_sized_all::compute();
1140            #[cfg(feature = "grid")]
1141            grid_aspect_ratio_absolute_aspect_ratio_overrides_height_of_full_inset::compute();
1142            #[cfg(feature = "grid")]
1143            grid_aspect_ratio_absolute_fill_height_from_inset::compute();
1144            #[cfg(feature = "grid")]
1145            grid_aspect_ratio_absolute_fill_width_from_inset::compute();
1146            #[cfg(feature = "grid")]
1147            grid_aspect_ratio_absolute_height_overrides_inset::compute();
1148            #[cfg(feature = "grid")]
1149            grid_aspect_ratio_absolute_width_overrides_inset::compute();
1150            #[cfg(feature = "grid")]
1151            grid_aspect_ratio_child_fill_content_height::compute();
1152            #[cfg(feature = "grid")]
1153            grid_aspect_ratio_child_fill_content_width::compute();
1154            #[cfg(feature = "grid")]
1155            grid_aspect_ratio_fill_child_height::compute();
1156            #[cfg(feature = "grid")]
1157            grid_aspect_ratio_fill_child_max_height::compute();
1158            #[cfg(feature = "grid")]
1159            grid_aspect_ratio_fill_child_max_width::compute();
1160            #[cfg(feature = "grid")]
1161            grid_aspect_ratio_fill_child_min_height::compute();
1162            #[cfg(feature = "grid")]
1163            grid_aspect_ratio_fill_child_min_width::compute();
1164            #[cfg(feature = "grid")]
1165            grid_aspect_ratio_fill_child_width::compute();
1166            #[cfg(feature = "grid")]
1167            grid_aspect_ratio_overriden_by_explicit_sizes::compute();
1168            #[cfg(feature = "grid")]
1169            grid_aspect_ratio_overriden_by_explicit_sizes_flex::compute();
1170            #[cfg(feature = "grid")]
1171            grid_auto_columns_fixed_width::compute();
1172            #[cfg(feature = "grid")]
1173            grid_auto_fill_fixed_size::compute();
1174            #[cfg(feature = "grid")]
1175            grid_auto_fill_with_empty_auto_track::compute();
1176            #[cfg(feature = "grid")]
1177            grid_auto_fit_with_empty_auto_track::compute();
1178            #[cfg(feature = "grid")]
1179            grid_auto_single_item::compute();
1180            #[cfg(feature = "grid")]
1181            grid_auto_single_item_fixed_width::compute();
1182            #[cfg(feature = "grid")]
1183            grid_auto_single_item_fixed_width_with_definite_width::compute();
1184            #[cfg(feature = "grid")]
1185            grid_basic::compute();
1186            #[cfg(feature = "grid")]
1187            grid_basic_implicit_tracks::compute();
1188            #[cfg(feature = "grid")]
1189            grid_basic_with_overflow::compute();
1190            #[cfg(feature = "grid")]
1191            grid_basic_with_padding::compute();
1192            #[cfg(feature = "grid")]
1193            grid_fit_content_percent_definite_argument::compute();
1194            #[cfg(feature = "grid")]
1195            grid_fit_content_percent_definite_max_content::compute();
1196            #[cfg(feature = "grid")]
1197            grid_fit_content_percent_definite_min_content::compute();
1198            #[cfg(feature = "grid")]
1199            grid_fit_content_percent_indefinite_argument::compute();
1200            #[cfg(feature = "grid")]
1201            grid_fit_content_percent_indefinite_max_content::compute();
1202            #[cfg(feature = "grid")]
1203            grid_fit_content_percent_indefinite_min_content::compute();
1204            #[cfg(feature = "grid")]
1205            grid_fit_content_points_argument::compute();
1206            #[cfg(feature = "grid")]
1207            grid_fit_content_points_max_content::compute();
1208            #[cfg(feature = "grid")]
1209            grid_fit_content_points_min_content::compute();
1210            #[cfg(feature = "grid")]
1211            grid_fr_auto_no_sized_items::compute();
1212            #[cfg(feature = "grid")]
1213            grid_fr_auto_single_item::compute();
1214            #[cfg(feature = "grid")]
1215            grid_fr_fixed_size_no_content::compute();
1216            #[cfg(feature = "grid")]
1217            grid_fr_fixed_size_single_item::compute();
1218            #[cfg(feature = "grid")]
1219            grid_gap::compute();
1220            #[cfg(feature = "grid")]
1221            grid_hidden::compute();
1222            #[cfg(feature = "grid")]
1223            grid_justify_content_center::compute();
1224            #[cfg(feature = "grid")]
1225            grid_justify_content_center_with_padding_border::compute();
1226            #[cfg(feature = "grid")]
1227            grid_justify_content_end::compute();
1228            #[cfg(feature = "grid")]
1229            grid_justify_content_end_with_padding_border::compute();
1230            #[cfg(feature = "grid")]
1231            grid_justify_content_space_around::compute();
1232            #[cfg(feature = "grid")]
1233            grid_justify_content_space_around_with_padding_border::compute();
1234            #[cfg(feature = "grid")]
1235            grid_justify_content_space_between::compute();
1236            #[cfg(feature = "grid")]
1237            grid_justify_content_space_between_with_padding_border::compute();
1238            #[cfg(feature = "grid")]
1239            grid_justify_content_space_evenly::compute();
1240            #[cfg(feature = "grid")]
1241            grid_justify_content_space_evenly_with_padding_border::compute();
1242            #[cfg(feature = "grid")]
1243            grid_justify_content_start::compute();
1244            #[cfg(feature = "grid")]
1245            grid_justify_content_start_with_padding_border::compute();
1246            #[cfg(feature = "grid")]
1247            grid_justify_items_sized_center::compute();
1248            #[cfg(feature = "grid")]
1249            grid_justify_items_sized_end::compute();
1250            #[cfg(feature = "grid")]
1251            grid_justify_items_sized_start::compute();
1252            #[cfg(feature = "grid")]
1253            grid_justify_items_sized_stretch::compute();
1254            #[cfg(feature = "grid")]
1255            grid_justify_self_sized_all::compute();
1256            #[cfg(feature = "grid")]
1257            grid_margins_auto_margins::compute();
1258            #[cfg(feature = "grid")]
1259            grid_margins_auto_margins_override_stretch::compute();
1260            #[cfg(feature = "grid")]
1261            grid_margins_fixed_center::compute();
1262            #[cfg(feature = "grid")]
1263            grid_margins_fixed_end::compute();
1264            #[cfg(feature = "grid")]
1265            grid_margins_fixed_start::compute();
1266            #[cfg(feature = "grid")]
1267            grid_margins_fixed_stretch::compute();
1268            #[cfg(feature = "grid")]
1269            grid_margins_percent_center::compute();
1270            #[cfg(feature = "grid")]
1271            grid_margins_percent_end::compute();
1272            #[cfg(feature = "grid")]
1273            grid_margins_percent_start::compute();
1274            #[cfg(feature = "grid")]
1275            grid_margins_percent_stretch::compute();
1276            #[cfg(feature = "grid")]
1277            grid_max_content_maximum_single_item::compute();
1278            #[cfg(feature = "grid")]
1279            grid_max_content_single_item::compute();
1280            #[cfg(feature = "grid")]
1281            grid_max_content_single_item_margin_auto::compute();
1282            #[cfg(feature = "grid")]
1283            grid_max_content_single_item_margin_fixed::compute();
1284            #[cfg(feature = "grid")]
1285            grid_max_content_single_item_margin_percent::compute();
1286            #[cfg(feature = "grid")]
1287            grid_max_content_single_item_span_2::compute();
1288            #[cfg(feature = "grid")]
1289            grid_max_content_single_item_span_2_gap_fixed::compute();
1290            #[cfg(feature = "grid")]
1291            grid_max_content_single_item_span_2_gap_percent_definite::compute();
1292            #[cfg(feature = "grid")]
1293            grid_max_content_single_item_span_2_gap_percent_indefinite::compute();
1294            #[cfg(feature = "grid")]
1295            grid_min_content_flex_column::compute();
1296            #[cfg(feature = "grid")]
1297            grid_min_content_flex_row::compute();
1298            #[cfg(feature = "grid")]
1299            grid_min_content_flex_single_item::compute();
1300            #[cfg(feature = "grid")]
1301            grid_min_content_flex_single_item_margin_auto::compute();
1302            #[cfg(feature = "grid")]
1303            grid_min_content_flex_single_item_margin_fixed::compute();
1304            #[cfg(feature = "grid")]
1305            grid_min_content_flex_single_item_margin_percent::compute();
1306            #[cfg(feature = "grid")]
1307            grid_min_content_maximum_single_item::compute();
1308            #[cfg(feature = "grid")]
1309            grid_min_content_single_item::compute();
1310            #[cfg(feature = "grid")]
1311            grid_min_max_column_auto::compute();
1312            #[cfg(feature = "grid")]
1313            grid_min_max_column_fixed_width_above_range::compute();
1314            #[cfg(feature = "grid")]
1315            grid_min_max_column_fixed_width_below_range::compute();
1316            #[cfg(feature = "grid")]
1317            grid_min_max_column_fixed_width_within_range::compute();
1318            #[cfg(feature = "grid")]
1319            grid_out_of_order_items::compute();
1320            #[cfg(feature = "grid")]
1321            grid_percent_items_nested_moderate::compute();
1322            #[cfg(feature = "grid")]
1323            grid_percent_items_nested_with_padding_margin::compute();
1324            #[cfg(feature = "grid")]
1325            grid_percent_items_width_and_margin::compute();
1326            #[cfg(feature = "grid")]
1327            grid_percent_items_width_and_padding::compute();
1328            #[cfg(feature = "grid")]
1329            grid_percent_tracks_definite_overflow::compute();
1330            #[cfg(feature = "grid")]
1331            grid_percent_tracks_definite_underflow::compute();
1332            #[cfg(feature = "grid")]
1333            grid_percent_tracks_indefinite_only::compute();
1334            #[cfg(feature = "grid")]
1335            grid_percent_tracks_indefinite_with_content_overflow::compute();
1336            #[cfg(feature = "grid")]
1337            grid_percent_tracks_indefinite_with_content_underflow::compute();
1338            #[cfg(feature = "grid")]
1339            grid_placement_auto_negative::compute();
1340            #[cfg(feature = "grid")]
1341            grid_placement_definite_in_secondary_axis_with_fully_definite_negative::compute();
1342            #[cfg(feature = "grid")]
1343            grid_relative_all_sides::compute();
1344            #[cfg(feature = "grid")]
1345            grid_relayout_vertical_text::compute();
1346            #[cfg(feature = "grid")]
1347            grid_repeat_integer::compute();
1348            #[cfg(feature = "grid")]
1349            grid_repeat_mixed::compute();
1350            #[cfg(feature = "grid")]
1351            grid_size_child_fixed_tracks::compute();
1352            justify_content_column_center::compute();
1353            justify_content_column_flex_end::compute();
1354            justify_content_column_flex_start::compute();
1355            justify_content_column_max_height_and_margin::compute();
1356            justify_content_column_min_height_and_margin::compute();
1357            justify_content_column_min_height_and_margin_bottom::compute();
1358            justify_content_column_min_height_and_margin_top::compute();
1359            justify_content_column_space_around::compute();
1360            justify_content_column_space_between::compute();
1361            justify_content_column_space_evenly::compute();
1362            justify_content_min_max::compute();
1363            justify_content_min_width_with_padding_child_width_greater_than_parent::compute();
1364            justify_content_min_width_with_padding_child_width_lower_than_parent::compute();
1365            justify_content_overflow_min_max::compute();
1366            justify_content_row_center::compute();
1367            justify_content_row_flex_end::compute();
1368            justify_content_row_flex_start::compute();
1369            justify_content_row_max_width_and_margin::compute();
1370            justify_content_row_min_width_and_margin::compute();
1371            justify_content_row_space_around::compute();
1372            justify_content_row_space_between::compute();
1373            justify_content_row_space_evenly::compute();
1374            margin_and_flex_column::compute();
1375            margin_and_flex_row::compute();
1376            margin_and_stretch_column::compute();
1377            margin_and_stretch_row::compute();
1378            margin_auto_bottom::compute();
1379            margin_auto_bottom_and_top::compute();
1380            margin_auto_bottom_and_top_justify_center::compute();
1381            margin_auto_left::compute();
1382            margin_auto_left_and_right::compute();
1383            margin_auto_left_and_right_column::compute();
1384            margin_auto_left_and_right_column_and_center::compute();
1385            margin_auto_left_and_right_stretch::compute();
1386            margin_auto_left_child_bigger_than_parent::compute();
1387            margin_auto_left_fix_right_child_bigger_than_parent::compute();
1388            margin_auto_left_right_child_bigger_than_parent::compute();
1389            margin_auto_left_stretching_child::compute();
1390            margin_auto_mutiple_children_column::compute();
1391            margin_auto_mutiple_children_row::compute();
1392            margin_auto_right::compute();
1393            margin_auto_top::compute();
1394            margin_auto_top_and_bottom_stretch::compute();
1395            margin_auto_top_stretching_child::compute();
1396            margin_bottom::compute();
1397            margin_fix_left_auto_right_child_bigger_than_parent::compute();
1398            margin_left::compute();
1399            margin_right::compute();
1400            margin_should_not_be_part_of_max_height::compute();
1401            margin_should_not_be_part_of_max_width::compute();
1402            margin_top::compute();
1403            margin_with_sibling_column::compute();
1404            margin_with_sibling_row::compute();
1405            max_height::compute();
1406            max_height_overrides_height::compute();
1407            max_height_overrides_height_on_root::compute();
1408            max_width::compute();
1409            max_width_overrides_width::compute();
1410            max_width_overrides_width_on_root::compute();
1411            measure_child::compute();
1412            measure_child_absolute::compute();
1413            measure_child_constraint::compute();
1414            measure_child_constraint_padding_parent::compute();
1415            measure_child_with_flex_grow::compute();
1416            measure_child_with_flex_shrink::compute();
1417            measure_flex_basis_overrides_measure::compute();
1418            measure_height_overrides_measure::compute();
1419            measure_remeasure_child_after_growing::compute();
1420            measure_remeasure_child_after_shrinking::compute();
1421            measure_remeasure_child_after_stretching::compute();
1422            measure_root::compute();
1423            measure_stretch_overrides_measure::compute();
1424            measure_width_overrides_measure::compute();
1425            min_height::compute();
1426            min_height_larger_than_height::compute();
1427            min_height_overrides_height::compute();
1428            min_height_overrides_height_on_root::compute();
1429            min_height_overrides_max_height::compute();
1430            min_height_with_nested_fixed_height::compute();
1431            min_max_percent_different_width_height::compute();
1432            min_max_percent_no_width_height::compute();
1433            min_width::compute();
1434            min_width_larger_than_width::compute();
1435            min_width_overrides_max_width::compute();
1436            min_width_overrides_width::compute();
1437            min_width_overrides_width_on_root::compute();
1438            nested_overflowing_child::compute();
1439            nested_overflowing_child_in_constraint_parent::compute();
1440            only_shrinkable_item_with_flex_basis_zero::compute();
1441            overflow_cross_axis::compute();
1442            overflow_main_axis::compute();
1443            padding_align_end_child::compute();
1444            padding_center_child::compute();
1445            padding_container_match_child::compute();
1446            padding_flex_child::compute();
1447            padding_no_child::compute();
1448            padding_no_size::compute();
1449            padding_stretch_child::compute();
1450            parent_wrap_child_size_overflowing_parent::compute();
1451            percent_absolute_position::compute();
1452            percent_within_flex_grow::compute();
1453            percentage_absolute_position::compute();
1454            percentage_container_in_wrapping_container::compute();
1455            percentage_different_width_height::compute();
1456            percentage_different_width_height_column::compute();
1457            percentage_flex_basis::compute();
1458            percentage_flex_basis_cross::compute();
1459            percentage_flex_basis_cross_max_height::compute();
1460            percentage_flex_basis_cross_max_width::compute();
1461            percentage_flex_basis_cross_min_height::compute();
1462            percentage_flex_basis_cross_min_width::compute();
1463            percentage_flex_basis_main_max_height::compute();
1464            percentage_flex_basis_main_max_width::compute();
1465            percentage_flex_basis_main_min_width::compute();
1466            percentage_main_max_height::compute();
1467            percentage_margin_should_calculate_based_only_on_width::compute();
1468            percentage_moderate_complexity::compute();
1469            percentage_multiple_nested_with_padding_margin_and_percentage_values::compute();
1470            percentage_padding_should_calculate_based_only_on_width::compute();
1471            percentage_position_bottom_right::compute();
1472            percentage_position_left_top::compute();
1473            percentage_size_based_on_parent_inner_size::compute();
1474            percentage_size_of_flex_basis::compute();
1475            percentage_width_height::compute();
1476            percentage_width_height_undefined_parent_size::compute();
1477            position_root_with_rtl_should_position_withoutdirection::compute();
1478            relative_position_should_not_nudge_siblings::compute();
1479            rounding_flex_basis_flex_grow_row_prime_number_width::compute();
1480            rounding_flex_basis_flex_grow_row_width_of_100::compute();
1481            rounding_flex_basis_flex_shrink_row::compute();
1482            rounding_flex_basis_overrides_main_size::compute();
1483            rounding_fractial_input_1::compute();
1484            rounding_fractial_input_2::compute();
1485            rounding_fractial_input_3::compute();
1486            rounding_fractial_input_4::compute();
1487            rounding_inner_node_controversy_vertical::compute();
1488            rounding_total_fractial::compute();
1489            rounding_total_fractial_nested::compute();
1490            single_flex_child_after_absolute_child::compute();
1491            size_defined_by_child::compute();
1492            size_defined_by_child_with_border::compute();
1493            size_defined_by_child_with_padding::compute();
1494            size_defined_by_grand_child::compute();
1495            undefined_height_with_min_max::compute();
1496            undefined_width_with_min_max::compute();
1497            undefined_width_with_min_max_row::compute();
1498            width_smaller_then_content_with_flex_grow_large_size::compute();
1499            width_smaller_then_content_with_flex_grow_small_size::compute();
1500            width_smaller_then_content_with_flex_grow_unconstraint_size::compute();
1501            width_smaller_then_content_with_flex_grow_very_large_size::compute();
1502            wrap_child::compute();
1503            wrap_column::compute();
1504            wrap_grandchild::compute();
1505            wrap_nodes_with_content_sizing_margin_cross::compute();
1506            wrap_nodes_with_content_sizing_overflowing_margin::compute();
1507            wrap_reverse_column::compute();
1508            wrap_reverse_column_fixed_size::compute();
1509            wrap_reverse_row::compute();
1510            wrap_reverse_row_align_content_center::compute();
1511            wrap_reverse_row_align_content_flex_start::compute();
1512            wrap_reverse_row_align_content_space_around::compute();
1513            wrap_reverse_row_align_content_stretch::compute();
1514            wrap_reverse_row_single_line_different_size::compute();
1515            wrap_row::compute();
1516            wrap_row_align_items_center::compute();
1517            wrap_row_align_items_flex_end::compute();
1518            wrapped_column_max_height::compute();
1519            wrapped_column_max_height_flex::compute();
1520            wrapped_row_within_align_items_center::compute();
1521            wrapped_row_within_align_items_flex_end::compute();
1522            wrapped_row_within_align_items_flex_start::compute();
1523        })
1524    });
1525}
1526criterion_group!(benches, benchmark);
1527criterion_main!(benches);