 ;;   You must not remove this notice, or any other, from this software.
 
 (ns uncomplicate.neanderthal.internal.host.buffer-block
-  (:require [uncomplicate.commons.core
-             :refer [Releaseable release let-release double-fn wrap-float wrap-double wrap-int wrap-long]]
+  (:require [uncomplicate.commons
+             [core :refer [Releaseable release let-release double-fn wrap-float wrap-double wrap-int wrap-long]]
+             [utils :refer [direct-buffer slice-buffer]]]
             [uncomplicate.fluokitten.protocols
              :refer [PseudoFunctor Functor Foldable Magma Monoid Applicative fold]]
             [uncomplicate.neanderthal

             [printing :refer [print-vector print-ge print-uplo print-banded print-diagonal]]
             [navigation :refer :all]]
            [uncomplicate.neanderthal.internal.host.fluokitten :refer :all])
  (:import [java.nio ByteBuffer DirectByteBuffer ByteOrder]
           [clojure.lang Seqable IFn IFn$DD IFn$DDD IFn$DDDD IFn$DDDDD IFn$LD IFn$LLD IFn$L IFn$LL
            IFn$LDD IFn$LLDD IFn$LLL]
           [uncomplicate.neanderthal.internal.api BufferAccessor RealBufferAccessor IntegerBufferAccessor

  (double (clojure.lang.Util/hashCombine h (Double/hashCode x))))

(def ^:private f* (double-fn *))

;; ================== Declarations ============================================

