feat: Add vector clone
This commit is contained in:
parent
7d150e2860
commit
f002310581
4 changed files with 43 additions and 0 deletions
15
src/vector/helpers.js
Normal file
15
src/vector/helpers.js
Normal file
|
@ -0,0 +1,15 @@
|
|||
import {Vector} from './Vector.js'
|
||||
import {NotAType, Returns} from '#core/Type.js'
|
||||
import {match} from '#core/TypePatterns.js'
|
||||
|
||||
export const promoteUnary = name => match(Vector, (math, V, strategy) => {
|
||||
if (V.Component === NotAType) {
|
||||
// have to resolve element by element :-(
|
||||
return Returns(V, v => v.map(
|
||||
elt => math.resolve(name, math.typeOf(elt), strategy)(elt)))
|
||||
}
|
||||
const compOp = math.resolve(name, V.Component, strategy)
|
||||
return Returns(Vector(compOp.returns), v => v.map(elt => compOp(elt)))
|
||||
})
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue