blasMMult :: IOVector Double -> IOVector Double -> IOVector Double -> Int -> IO ()
blasMMult aVect bVect  cVect n =
    unsafeWith aVect $! \aPtr ->
               unsafeWith bVect $!  \bPtr -> 
                 unsafeWith cVect  $! \cPtr -> 
                    dgemm_wrapped aPtr bPtr cPtr n
blasMMult :: IOVector Double -> IOVector Double -> IOVector Double -> Int -> IO ()
blasMMult aVect bVect  cVect n =
    unsafeWith aVect $! \aPtr ->
               unsafeWith bVect $!  \bPtr -> 
                 unsafeWith cVect  $! \cPtr -> 
                    dgemm_wrapped aPtr bPtr cPtr n
blasMMult aVect bVect  cVect n =
    unsafeWith aVect $! \aPtr ->
               unsafeWith bVect $!  \bPtr -> 
                 unsafeWith cVect  $! \cPtr -> 
                    dgemm_wrapped aPtr bPtr cPtr n