pub trait DialectCubeBuiltins<D: Dialect> {
Show 36 methods
// Provided methods
fn builtin_rules(flags: &CubeIndexFlags) -> CubeIndexFlags { ... }
fn compile_absolute_pos_tuple_computation(f: &mut Formatter<'_>) -> Result { ... }
fn compile_absolute_pos_base_name(f: &mut Formatter<'_>) -> Result { ... }
fn compile_absolute_pos(f: &mut Formatter<'_>) -> Result { ... }
fn compile_absolute_pos_x(f: &mut Formatter<'_>) -> Result { ... }
fn compile_absolute_pos_y(f: &mut Formatter<'_>) -> Result { ... }
fn compile_absolute_pos_z(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_count_base_name(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_count(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_count_x(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_count_y(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_count_z(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_dim_base_name(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_dim(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_dim_x(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_dim_y(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_dim_z(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_pos_base_name(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_pos(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_pos_x(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_pos_y(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cube_pos_z(f: &mut Formatter<'_>) -> Result { ... }
fn compile_unit_pos_computation(f: &mut Formatter<'_>) -> Result { ... }
fn compile_unit_pos(f: &mut Formatter<'_>) -> Result { ... }
fn compile_unit_pos_base_name(f: &mut Formatter<'_>) -> Result { ... }
fn compile_unit_pos_x(f: &mut Formatter<'_>) -> Result { ... }
fn compile_unit_pos_y(f: &mut Formatter<'_>) -> Result { ... }
fn compile_unit_pos_z(f: &mut Formatter<'_>) -> Result { ... }
fn compile_plane_dim(f: &mut Formatter<'_>) -> Result { ... }
fn compile_plane_dim_checked(f: &mut Formatter<'_>) -> Result { ... }
fn compile_plane_pos(f: &mut Formatter<'_>) -> Result { ... }
fn compile_unit_pos_plane(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cluster_pos(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cluster_pos_x(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cluster_pos_y(f: &mut Formatter<'_>) -> Result { ... }
fn compile_cluster_pos_z(f: &mut Formatter<'_>) -> Result { ... }
}
Provided Methods§
Sourcefn builtin_rules(flags: &CubeIndexFlags) -> CubeIndexFlags
fn builtin_rules(flags: &CubeIndexFlags) -> CubeIndexFlags
Depending on the dialect available built-in variables the inclusion rules might change. For instance in metal we have a built-in for the Unit plane position but in other dialects there is none so we have to compute it using other built-ins.
fn compile_absolute_pos_tuple_computation(f: &mut Formatter<'_>) -> Result
fn compile_absolute_pos_base_name(f: &mut Formatter<'_>) -> Result
fn compile_absolute_pos(f: &mut Formatter<'_>) -> Result
fn compile_absolute_pos_x(f: &mut Formatter<'_>) -> Result
fn compile_absolute_pos_y(f: &mut Formatter<'_>) -> Result
fn compile_absolute_pos_z(f: &mut Formatter<'_>) -> Result
fn compile_cube_count_base_name(f: &mut Formatter<'_>) -> Result
fn compile_cube_count(f: &mut Formatter<'_>) -> Result
fn compile_cube_count_x(f: &mut Formatter<'_>) -> Result
fn compile_cube_count_y(f: &mut Formatter<'_>) -> Result
fn compile_cube_count_z(f: &mut Formatter<'_>) -> Result
fn compile_cube_dim_base_name(f: &mut Formatter<'_>) -> Result
fn compile_cube_dim(f: &mut Formatter<'_>) -> Result
fn compile_cube_dim_x(f: &mut Formatter<'_>) -> Result
fn compile_cube_dim_y(f: &mut Formatter<'_>) -> Result
fn compile_cube_dim_z(f: &mut Formatter<'_>) -> Result
fn compile_cube_pos_base_name(f: &mut Formatter<'_>) -> Result
fn compile_cube_pos(f: &mut Formatter<'_>) -> Result
fn compile_cube_pos_x(f: &mut Formatter<'_>) -> Result
fn compile_cube_pos_y(f: &mut Formatter<'_>) -> Result
fn compile_cube_pos_z(f: &mut Formatter<'_>) -> Result
fn compile_unit_pos_computation(f: &mut Formatter<'_>) -> Result
fn compile_unit_pos(f: &mut Formatter<'_>) -> Result
fn compile_unit_pos_base_name(f: &mut Formatter<'_>) -> Result
fn compile_unit_pos_x(f: &mut Formatter<'_>) -> Result
fn compile_unit_pos_y(f: &mut Formatter<'_>) -> Result
fn compile_unit_pos_z(f: &mut Formatter<'_>) -> Result
fn compile_plane_dim(f: &mut Formatter<'_>) -> Result
fn compile_plane_dim_checked(f: &mut Formatter<'_>) -> Result
fn compile_plane_pos(f: &mut Formatter<'_>) -> Result
fn compile_unit_pos_plane(f: &mut Formatter<'_>) -> Result
fn compile_cluster_pos(f: &mut Formatter<'_>) -> Result
fn compile_cluster_pos_x(f: &mut Formatter<'_>) -> Result
fn compile_cluster_pos_y(f: &mut Formatter<'_>) -> Result
fn compile_cluster_pos_z(f: &mut Formatter<'_>) -> Result
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.