let sint_ty = TypeKind::SInt.ty(bits, vector_scalar);
let type_trait = match type_kind {
TypeKind::Bool => quote! { Bool },
- TypeKind::UInt => quote! { UInt },
- TypeKind::SInt => quote! { SInt },
+ TypeKind::UInt => {
+ quote! { UInt<PrimUInt = #prim_ty, SignedType = Self::#sint_ty> }
+ }
+ TypeKind::SInt => {
+ quote! { SInt<PrimSInt = #prim_ty, UnsignedType = Self::#uint_ty> }
+ }
TypeKind::Float => quote! { Float<
BitsType = Self::#uint_ty,
SignedBitsType = Self::#sint_ty,
- FloatEncoding = #prim_ty,
+ PrimFloat = #prim_ty,
> },
};
self.add_trait(type_kind, bits, vector_scalar, type_trait);