     [ drop (define-blas-vector) ]
     [ (define-complex-blas-vector) ] 3bi ;
 
-"float"  "s" define-real-blas-vector
-"double" "d" define-real-blas-vector
-"complex-float"  "c" "s" define-complex-blas-vector
-"complex-double" "z" "d" define-complex-blas-vector
+"float"  "S" define-real-blas-vector
+"double" "D" define-real-blas-vector
+"complex-float"  "C" "S" define-complex-blas-vector
+"complex-double" "Z" "D" define-complex-blas-vector
 
 >>
 

    [ [ length>> ] [ inc>> ] bi * ] bi
    <DIRECT-ARRAY> ;

: XVECTOR{ \ } [ >VECTOR ] parse-literal ; parsing

M: VECTOR pprint-delims

    (prepare-nrm2) XNRM2 ;
M: VECTOR Vasum
    (prepare-nrm2) XASUM ;

;FUNCTOR


FUNCTOR: (define-complex-blas-vector) ( TYPE C S -- )

VECTOR         IS ${TYPE}-blas-vector
XDOTU          IS ${C}DOTU
XDOTC          IS ${C}DOTC
XXNRM2         IS ${S}${C}NRM2
XXASUM         IS ${S}${C}ASUM

WHERE

M: VECTOR V.
    (prepare-dot) XDOTU ;
M: VECTOR V.conj
    (prepare-dot) XDOTC ;
M: VECTOR Vnorm
    (prepare-nrm2) XXNRM2 ;
M: VECTOR Vasum
    (prepare-nrm2) XXASUM ;

;FUNCTOR

