Explorar o código

Add `reflect.length` + `reflect.capacity` support for `#simd[N]T`

Jeroen van Rijn hai 5 meses
pai
achega
41d4ddbc5e
Modificáronse 1 ficheiros con 8 adicións e 0 borrados
  1. 8 0
      core/reflect/reflect.odin

+ 8 - 0
core/reflect/reflect.odin

@@ -261,7 +261,11 @@ length :: proc(val: any) -> int {
 		} else {
 			return (^runtime.Raw_String)(val.data).len
 		}
+
+	case Type_Info_Simd_Vector:
+		return a.count
 	}
+
 	return 0
 }
 
@@ -287,7 +291,11 @@ capacity :: proc(val: any) -> int {
 
 	case Type_Info_Map:
 		return runtime.map_cap((^runtime.Raw_Map)(val.data)^)
+
+	case Type_Info_Simd_Vector:
+		return a.count
 	}
+
 	return 0
 }