public final class space/kscience/kmath/memory/ByteBufferMemory : space/kscience/kmath/memory/Memory {
	public fun <init> (Ljava/nio/ByteBuffer;II)V
	public synthetic fun <init> (Ljava/nio/ByteBuffer;IIILkotlin/jvm/internal/DefaultConstructorMarker;)V
	public fun copy ()Lspace/kscience/kmath/memory/Memory;
	public final fun getBuffer ()Ljava/nio/ByteBuffer;
	public fun getSize ()I
	public final fun getStartOffset ()I
	public fun reader ()Lspace/kscience/kmath/memory/MemoryReader;
	public fun view (II)Lspace/kscience/kmath/memory/Memory;
	public fun writer ()Lspace/kscience/kmath/memory/MemoryWriter;
}

public final class space/kscience/kmath/memory/ByteBufferMemoryKt {
	public static final fun allocate (Lspace/kscience/kmath/memory/Memory$Companion;I)Lspace/kscience/kmath/memory/Memory;
	public static final fun asMemory (Ljava/nio/ByteBuffer;II)Lspace/kscience/kmath/memory/Memory;
	public static synthetic fun asMemory$default (Ljava/nio/ByteBuffer;IIILjava/lang/Object;)Lspace/kscience/kmath/memory/Memory;
	public static final fun readAsMemory (Ljava/nio/file/Path;JJLkotlin/jvm/functions/Function1;)Ljava/lang/Object;
	public static synthetic fun readAsMemory$default (Ljava/nio/file/Path;JJLkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/Object;
	public static final fun wrap (Lspace/kscience/kmath/memory/Memory$Companion;[B)Lspace/kscience/kmath/memory/Memory;
}

public abstract interface class space/kscience/kmath/memory/Memory {
	public static final field Companion Lspace/kscience/kmath/memory/Memory$Companion;
	public abstract fun copy ()Lspace/kscience/kmath/memory/Memory;
	public abstract fun getSize ()I
	public abstract fun reader ()Lspace/kscience/kmath/memory/MemoryReader;
	public abstract fun view (II)Lspace/kscience/kmath/memory/Memory;
	public abstract fun writer ()Lspace/kscience/kmath/memory/MemoryWriter;
}

public final class space/kscience/kmath/memory/Memory$Companion {
}

public class space/kscience/kmath/memory/MemoryBuffer : space/kscience/kmath/structures/Buffer {
	public static final field Companion Lspace/kscience/kmath/memory/MemoryBuffer$Companion;
	public fun <init> (Lspace/kscience/kmath/memory/Memory;Lspace/kscience/kmath/memory/MemorySpec;)V
	public fun get (I)Ljava/lang/Object;
	protected final fun getMemory ()Lspace/kscience/kmath/memory/Memory;
	public fun getSize ()I
	protected final fun getSpec ()Lspace/kscience/kmath/memory/MemorySpec;
	public fun iterator ()Ljava/util/Iterator;
	public fun toString ()Ljava/lang/String;
}

public final class space/kscience/kmath/memory/MemoryBuffer$Companion {
	public final fun create (Lspace/kscience/kmath/memory/MemorySpec;I)Lspace/kscience/kmath/memory/MemoryBuffer;
	public final fun create (Lspace/kscience/kmath/memory/MemorySpec;ILkotlin/jvm/functions/Function1;)Lspace/kscience/kmath/memory/MemoryBuffer;
}

public final class space/kscience/kmath/memory/MemoryKt {
	public static final fun read (Lspace/kscience/kmath/memory/Memory;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
	public static final fun write (Lspace/kscience/kmath/memory/Memory;Lkotlin/jvm/functions/Function1;)V
}

public abstract interface class space/kscience/kmath/memory/MemoryReader : java/lang/AutoCloseable {
	public abstract fun close ()V
	public abstract fun getMemory ()Lspace/kscience/kmath/memory/Memory;
	public abstract fun readByte (I)B
	public abstract fun readDouble (I)D
	public abstract fun readFloat (I)F
	public abstract fun readInt (I)I
	public abstract fun readLong (I)J
	public abstract fun readShort (I)S
}

public abstract interface class space/kscience/kmath/memory/MemorySpec : space/kscience/attributes/WithType {
	public abstract fun getObjectSize ()I
	public abstract fun read (Lspace/kscience/kmath/memory/MemoryReader;I)Ljava/lang/Object;
	public abstract fun write (Lspace/kscience/kmath/memory/MemoryWriter;ILjava/lang/Object;)V
}

public final class space/kscience/kmath/memory/MemorySpecKt {
	public static final fun read (Lspace/kscience/kmath/memory/MemoryReader;Lspace/kscience/kmath/memory/MemorySpec;I)Ljava/lang/Object;
	public static final fun write (Lspace/kscience/kmath/memory/MemoryWriter;Lspace/kscience/kmath/memory/MemorySpec;ILjava/lang/Object;)V
	public static final fun writeArray (Lspace/kscience/kmath/memory/MemoryWriter;Lspace/kscience/kmath/memory/MemorySpec;I[Ljava/lang/Object;)V
}

public abstract interface class space/kscience/kmath/memory/MemoryWriter : java/lang/AutoCloseable {
	public abstract fun close ()V
	public abstract fun getMemory ()Lspace/kscience/kmath/memory/Memory;
	public abstract fun writeByte (IB)V
	public abstract fun writeDouble (ID)V
	public abstract fun writeFloat (IF)V
	public abstract fun writeInt (II)V
	public abstract fun writeLong (IJ)V
	public abstract fun writeShort (IS)V
}

public final class space/kscience/kmath/memory/MutableMemoryBuffer : space/kscience/kmath/memory/MemoryBuffer, space/kscience/kmath/structures/MutableBuffer {
	public static final field Companion Lspace/kscience/kmath/memory/MutableMemoryBuffer$Companion;
	public fun <init> (Lspace/kscience/kmath/memory/Memory;Lspace/kscience/kmath/memory/MemorySpec;)V
	public fun set (ILjava/lang/Object;)V
}

public final class space/kscience/kmath/memory/MutableMemoryBuffer$Companion {
	public final fun create (Lspace/kscience/kmath/memory/MemorySpec;I)Lspace/kscience/kmath/memory/MutableMemoryBuffer;
	public final fun create (Lspace/kscience/kmath/memory/MemorySpec;ILkotlin/jvm/functions/Function1;)Lspace/kscience/kmath/memory/MutableMemoryBuffer;
}