 
 M: VECTOR element-type
     drop TYPE ;
-M: VECTOR n*V+V!
-    (prepare-axpy) [ XAXPY execute ] dip ;
-M: VECTOR n*V!
-    (prepare-scal) [ XSCAL execute ] dip ;
 M: VECTOR Vswap
     (prepare-swap) [ XSWAP execute ] 2dip ;
 M: VECTOR Viamax

<DIRECT-COMPLEX-ARRAY> DEFINES <direct-${TYPE}-complex-array>
>COMPLEX-ARRAY         DEFINES >${TYPE}-complex-array
ALIEN>COMPLEX          DEFINES alien>${TYPE}-complex
<DIRECT-ARRAY>         IS      <direct-${TYPE}-array>
>ARRAY                 IS      >${TYPE}-array

WHERE

: <DIRECT-COMPLEX-ARRAY> ( alien len -- sequence )
    <DIRECT-ARRAY> execute <complex-sequence> ;
: >COMPLEX-ARRAY ( sequence -- sequence )
    <complex-components> >ARRAY execute ;
: ALIEN>COMPLEX ( alien -- complex )
    2 <DIRECT-ARRAY> execute first2 rect> ;


    TYPE (define-complex-helpers)
    TYPE "-complex" append
    [ C (define-blas-vector) ]
    [ C S (define-complex-blas-vector) ] bi ;

"float"  "s" define-real-blas-vector
"double" "d" define-real-blas-vector
