mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-04 22:58:46 +00:00
Merge pull request #5030 from Kelimion/type_elem_type
Allow intrinsics.type_elem_type(simd_vector) to return the element type.
This commit is contained in:
@@ -176,6 +176,7 @@ typeid_elem :: proc(id: typeid) -> typeid {
|
|||||||
case Type_Info_Enumerated_Array: return v.elem.id
|
case Type_Info_Enumerated_Array: return v.elem.id
|
||||||
case Type_Info_Slice: return v.elem.id
|
case Type_Info_Slice: return v.elem.id
|
||||||
case Type_Info_Dynamic_Array: return v.elem.id
|
case Type_Info_Dynamic_Array: return v.elem.id
|
||||||
|
case Type_Info_Simd_Vector: return v.elem.id
|
||||||
}
|
}
|
||||||
return id
|
return id
|
||||||
}
|
}
|
||||||
@@ -260,7 +261,11 @@ length :: proc(val: any) -> int {
|
|||||||
} else {
|
} else {
|
||||||
return (^runtime.Raw_String)(val.data).len
|
return (^runtime.Raw_String)(val.data).len
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case Type_Info_Simd_Vector:
|
||||||
|
return a.count
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -286,7 +291,11 @@ capacity :: proc(val: any) -> int {
|
|||||||
|
|
||||||
case Type_Info_Map:
|
case Type_Info_Map:
|
||||||
return runtime.map_cap((^runtime.Raw_Map)(val.data)^)
|
return runtime.map_cap((^runtime.Raw_Map)(val.data)^)
|
||||||
|
|
||||||
|
case Type_Info_Simd_Vector:
|
||||||
|
return a.count
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5550,6 +5550,7 @@ gb_internal bool check_builtin_procedure(CheckerContext *c, Operand *operand, As
|
|||||||
case Type_EnumeratedArray: operand->type = bt->EnumeratedArray.elem; break;
|
case Type_EnumeratedArray: operand->type = bt->EnumeratedArray.elem; break;
|
||||||
case Type_Slice: operand->type = bt->Slice.elem; break;
|
case Type_Slice: operand->type = bt->Slice.elem; break;
|
||||||
case Type_DynamicArray: operand->type = bt->DynamicArray.elem; break;
|
case Type_DynamicArray: operand->type = bt->DynamicArray.elem; break;
|
||||||
|
case Type_SimdVector: operand->type = bt->SimdVector.elem; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
operand->mode = Addressing_Type;
|
operand->mode = Addressing_Type;
|
||||||
|
|||||||
Reference in New Issue
Block a user