aboutsummaryrefslogtreecommitdiff
path: root/builtins/array.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2024-03-26 14:59:52 -0400
committerBruce Hill <bruce@bruce-hill.com>2024-03-26 14:59:52 -0400
commitd94053ca7768037016cbcacc4cadf843dad1bea6 (patch)
treecfca6501f96d46c15adb40651de8213ee83d0f31 /builtins/array.c
parent135e23094c42b33acdd05dd522bbe0fd691b9eee (diff)
Add array:reversed()
Diffstat (limited to 'builtins/array.c')
-rw-r--r--builtins/array.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/builtins/array.c b/builtins/array.c
index 3380d4d3..6ebc6429 100644
--- a/builtins/array.c
+++ b/builtins/array.c
@@ -223,6 +223,14 @@ public array_t Array__slice(array_t *array, int64_t first, int64_t length, int64
};
}
+public array_t Array__reversed(array_t array)
+{
+ array_t reversed = array;
+ reversed.stride = -array.stride;
+ reversed.data = array.data + (array.length-1)*array.stride;
+ return reversed;
+}
+
public array_t Array__concat(array_t x, array_t y, const TypeInfo *type)
{
int64_t item_size = get_item_size(type);