(define-simd-128-cord) ( A/2 A -- )


Vocabulary
math.vectors.simd.cords.private

Inputs
A/2an object
Aan object


Outputs
None

Definition


:: (define-simd-128-cord) ( A/2 A -- )
[ A/2 present write "-rep" write ] with-string-writer
parse-word :> A-rep
[ ">" write A/2 present write ] with-string-writer
parse-word :> >A/2
[ A/2 present write "-boa" write ] with-string-writer
parse-word :> A/2-boa
[ A/2 present write "-with" write ] with-string-writer
parse-word :> A/2-with
[ A/2 present write "-cast" write ] with-string-writer
parse-word :> A/2-cast
[ ">" write A present write ] with-string-writer
create-word-in :> >A
[ A present write "-boa" write ] with-string-writer
create-word-in :> A-boa
[ A present write "-with" write ] with-string-writer
create-word-in :> A-with
[ A present write "-cast" write ] with-string-writer
create-word-in :> A-cast
[ A present write "{" write ] with-string-writer
create-word-in :> A{ A-rep rep-length :> N N 2 * "n" <array>
{ "v" } <effect> :> BOA-EFFECT >A T{ fake-quotation
{ seq
{
T{ fake-quotation { seq ~array~ } }
T{ fake-quotation { seq ~array~ } }
bi
cord-append
}
}
} fake-quotations> first ( seq -- A ) define-declared*
\ A-boa
{ N ndip A/2-boa cord-append } { A/2-boa } >quotation prefix
>quotation BOA-EFFECT define-inline A-with T{ fake-quotation
{ seq
{
T{ fake-quotation { seq ~array~ } }
T{ fake-quotation { seq ~array~ } }
bi
cord-append
}
}
} fake-quotations> first ( n -- v ) define-declared*
last-word make-inline A-cast T{ fake-quotation
{ seq { T{ fake-quotation { seq ~array~ } } cord-map } }
} fake-quotations> first ( v -- v' ) define-declared*
last-word make-inline A \ new-sequence create-method-in
dup \ method set T{ fake-quotation
{ seq
{
2drop
N
A/2
new
new-sequence
N
A/2
new
new-sequence
\ A
boa
}
}
} fake-quotations> first define* A \ like create-method-in
dup \ method set T{ fake-quotation
{ seq
{
over
\ A
instance?
T{ fake-quotation { seq ~array~ } }
T{ fake-quotation { seq ~array~ } }
if
}
}
} fake-quotations> ~54 more~ ;