forked from metaeducation/rebol-issues
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Good job for new vector maths.
But
x: make vector! [1 2 3 4]
y: make vector! [2 3 4 5]
x + y
Script error: cannot use add: on #(vector!) value
May be such a function?
opsOnVectors: function [
v1 [vector!]
v2 [vector!]
type [word!] ; char integer decimal
bitSize [integer!]
op [word!]
][
case [
type = 'char [v: make vector! compose [integer! (bitSize) (v1/length)]]
type = 'integer [v: make vector! compose [integer! (bitSize) (v1/length)]]
type = 'decimal [v: make vector! compose [decimal! (bitSize) (v1/length)]]
]
case [
op = '+ [repeat i v1/length [v/:i: v1/:i + v2/:I]]
op = '- [repeat i v1/length [v/:i: v1/:i - v2/:I]]
op = '* [repeat i v1/length [v/:i: v1/:i * v2/:I]]
op = '/ [repeat i v1/length [v/:i: v1/:i / v2/:I]]
op = '% [repeat i v1/length [v/:i: v1/:i % v2/:I]]
op = 'and [repeat i v1/length [v/:i: v1/:i and v2/:I]]
op = 'or [repeat i v1/length [v/:i: v1/:i or v2/:I]]
op = 'xor [repeat i v1/length [v/:i: v1/:i xor v2/:I]]
op = '>> [repeat i v1/length [v/:i: v1/:i >> v2/:I]]
op = '<< [repeat i v1/length [v/:i: v1/:i << v2/:I]]
]
v
]