     ! in the general case.
     elt-class float = [ { distance [ v- norm ] } suffix ] when ;
 
-TUPLE: simd class elt-class ops wrappers ctor rep ;
+TUPLE: simd class elt-class ops special-wrappers schema-wrappers ctor rep ;
 
 : define-simd ( simd -- )
     dup rep>> rep-component-type c:c-type-boxed-class >>elt-class
     {
         [ class>> ]
         [ elt-class>> ]
-        [ [ ops>> ] [ wrappers>> ] bi low-level-ops ]
+        [ [ ops>> ] [ special-wrappers>> ] [ schema-wrappers>> ] tri low-level-ops ]
         [ rep>> supported-simd-ops ]
         [ [ ctor>> ] [ elt-class>> ] bi high-level-ops assoc-union ]
     } cleave

        { { +vector+ -> +vector+ } A-v->v-op }
        { { +vector+ -> +scalar+ } A-v->n-op }
        { { +vector+ -> +nonnegative+ } A-v->n-op }
    } >>wrappers
(define-simd-128)

PRIVATE>

math.vectors math.vectors.private math.vectors.simd.intrinsics
math.vectors.specialization parser prettyprint.custom sequences
sequences.private strings words definitions macros cpu.architecture
namespaces arrays quotations combinators combinators.short-circuit sets
layouts ;
QUALIFIED-WITH: alien.c-types c
IN: math.vectors.simd.functor

