|
| static void | blender::index_mask::sort_course_boundaries (MutableSpan< CourseBoundary > boundaries) |
| |
| static void | blender::index_mask::sort_course_boundaries (MutableSpan< DifferenceCourseBoundary > boundaries) |
| |
| static CoarseSegment & | blender::index_mask::add_coarse_segment__full (CoarseSegment *prev_segment, const int64_t prev_boundary_index, const int64_t current_boundary_index, CoarseResult &result) |
| |
| static CoarseSegment & | blender::index_mask::add_coarse_segment__unknown (CoarseSegment *prev_segment, const int64_t prev_boundary_index, const int64_t current_boundary_index, CoarseResult &result) |
| |
| static CoarseSegment & | blender::index_mask::add_coarse_segment__copy (CoarseSegment *prev_segment, const int64_t prev_boundary_index, const int64_t current_boundary_index, const IndexMask ©_from_mask, CoarseResult &result) |
| |
| static void | blender::index_mask::evaluate_coarse_union (const Span< CourseBoundary > boundaries, CoarseResult &r_result) |
| |
| static void | blender::index_mask::evaluate_coarse_intersection (const Span< CourseBoundary > boundaries, const int64_t terms_num, CoarseResult &r_result) |
| |
| static void | blender::index_mask::evaluate_coarse_difference (const Span< DifferenceCourseBoundary > boundaries, CoarseResult &r_result) |
| |
| static CoarseResult | blender::index_mask::evaluate_coarse (const Expr &root_expression, const Span< const Expr * > eval_order, const std::optional< IndexRange > eval_bounds=std::nullopt) |
| |
| static Span< int16_t > | blender::index_mask::bits_to_indices (const BoundedBitSpan bits, LinearAllocator<> &allocator) |
| |
| static IndexMaskSegment | blender::index_mask::evaluate_exact_with_bits (const Expr &root_expression, LinearAllocator<> &allocator, const IndexRange bounds, const Span< const Expr * > eval_order) |
| |
| static IndexMaskSegment | blender::index_mask::union_index_mask_segments (const Span< IndexMaskSegment > segments, const int64_t bounds_min, int16_t *r_values) |
| |
| static IndexMaskSegment | blender::index_mask::intersect_index_mask_segments (const Span< IndexMaskSegment > segments, const int64_t bounds_min, int16_t *r_values) |
| |
| static IndexMaskSegment | blender::index_mask::difference_index_mask_segments (const IndexMaskSegment main_segment, const Span< IndexMaskSegment > subtract_segments, const int64_t bounds_min, int16_t *r_values) |
| |
| static IndexMaskSegment | blender::index_mask::evaluate_exact_with_indices (const Expr &root_expression, LinearAllocator<> &allocator, const IndexRange bounds, const Span< const Expr * > eval_order) |
| |
| static Vector< IndexMaskSegment > | blender::index_mask::build_result_mask_segments (const Span< EvaluatedSegment > evaluated_segments) |
| |
| static Vector< const Expr *, inline_expr_array_size > | blender::index_mask::compute_eval_order (const Expr &root_expression) |
| |
| static ExactEvalMode | blender::index_mask::determine_exact_eval_mode (const Expr &root_expression) |
| |
| static void | blender::index_mask::evaluate_coarse_and_split_until_segments_are_short (const Expr &root_expression, const Span< const Expr * > eval_order, Vector< EvaluatedSegment, 16 > &r_evaluated_segments, Vector< IndexRange, 16 > &r_short_unknown_segments) |
| |
| static void | blender::index_mask::evaluate_short_unknown_segments_exactly (const Expr &root_expression, const ExactEvalMode exact_eval_mode, const Span< const Expr * > eval_order, const Span< IndexRange > short_unknown_segments, IndexMaskMemory &memory, Vector< EvaluatedSegment, 16 > &r_evaluated_segments) |
| |
| static IndexMask | blender::index_mask::evaluated_segments_to_index_mask (MutableSpan< EvaluatedSegment > evaluated_segments, IndexMaskMemory &memory) |
| |
| static IndexMask | blender::index_mask::evaluate_expression_impl (const Expr &root_expression, IndexMaskMemory &memory, const ExactEvalMode exact_eval_mode) |
| |
| IndexMask | blender::index_mask::evaluate_expression (const Expr &expression, IndexMaskMemory &memory) |
| |