docs / stdlib / math / npio

Stdlib index
  1. Overview
  1. Captured-borrow migration worklist (3.3.3)
  2. Owned-bind migration worklist (8.2.7)
  3. Return-side title audit — the ride-through enumeration
  4. stdlib ownership audit
  5. stdlib ownership dispositions (plan 1.3.1 / 4.3.1)

aot

  1. Components
  2. Scope
  3. Scoped

codec

  1. Base32
  2. Base64

codec / csv

  1. Csv

codec / json

  1. Json

collection

  1. ArrayList
  2. BPlusTree
  3. Cache
  4. Collectors
  5. HashMap
  6. HashSet
  7. Heap
  8. ImmutableList
  9. ImmutableMap
  10. ImmutableSet
  11. LinkedList
  12. RedBlackTree
  13. Sort

collection / ltm

  1. LtmBPlusTree

concurrent

  1. AtomicInt32
  2. AtomicInt64
  3. Channel
  4. Fiber
  5. FiberLocal
  6. Lock
  7. Mutex
  8. RwLock
  9. Semaphore
  10. Tasks

error

  1. Exception
  2. NoOptionalValueException
  3. NotProvidedException
  4. RecoverableException
  5. ScopedBuildFailedException
  6. ScopeNotActiveException
  7. Throwable
  8. UnrecoverableException

gfx

  1. Sampler
  2. Texture2D

hash

  1. DefaultHasher
  2. Hash
  3. SipHash
  4. XXHash3

ifx

  1. BackendRegistry
  2. Window

io

  1. Buffer

io / file

  1. File
  2. FileInfo
  3. FileReader
  4. FileWriter
  5. Path
  6. Watcher

io / net

  1. BufferPool
  2. ByteBuffer
  3. IpAddress
  4. Server
  5. ServerBuilder
  6. SocketAddress
  7. TcpListener
  8. TcpStream
  9. UdpSocket

io / net / dns

  1. Dns

io / net / uri

  1. Uri
  2. UriBuilder

lang

  1. Guid
  2. Math
  3. Optional
  4. Pair
  5. Slice
  6. String
  7. StringBuilder

lang / stream

  1. ArrayStream
  2. Stream

math

  1. Camera
  2. Color
  3. DType
  4. Ray
  5. Rotation
  6. Tensor
  7. Transform

math / fft

  1. Fft

math / linalg

  1. LinAlg

math / npio

  1. Npy

math / poly

  1. Poly

math / random

  1. Generator

math / stats

  1. Stats

nucleo

  1. Columns — the Arrow-laid-out substrate
  2. Fused tensor expressions — Fuse
  3. Table — the lazy, typed dataframe
  4. Tape — define-by-run autograd
  5. Transform intrinsics — Grad, Vmap, Jit

process

  1. Command
  2. Process

reflect

  1. Class

search / distance

  1. Distance

search / fuzzy

  1. Matcher

search / ngram

  1. Index

session

  1. PackageInstallException
  2. Packages

time

  1. Clock
  2. DateTimeFormatter
  3. Duration
  4. Instant
  5. LocalDate
  6. LocalDateTime
  7. LocalTime
  8. Period
  9. ZonedDateTime
  10. ZoneId
  11. ZoneOffset

wire

  1. Compressor
  2. CompressStream
  3. DecompressionLimitException
  4. Decompressor
  5. Encoder
  6. Schema
  7. SchemaEncoder

xpu

  1. Device
  2. KernelBuffer
  3. KernelStream
  4. KernelTimer

xpu / mesh

  1. MeshSimplifier

Npy

cajeta.math.npio.Npy — NumPy .npy binary array I/O. Reads and writes the NumPy v1.0 format: magic + version + header, then the raw little-endian element bytes in C-order. Four dtypes are supported, each a typed encode/decode pair over in-memory byte images plus a save/load pair over files (cajeta is statically typed, so the caller picks the variant matching the dtype): float32 '<f4', float64 '<f8', int32 '<i4', int64 '<i8'. save* is encode* + File.writeAllBytes; load* is File.readAllBytes + decode* — use the encode/decode forms to keep the .npy image in memory (sockets, archives) instead of touching disk.

package snip.npy;

import cajeta.math.Tensor;
import cajeta.math.npio.Npy;

public final class Demo {
    public static void run() {
        Tensor<float32> t #= Tensor.arange<float32>(6);
        Npy.saveF32("data.npy", t);
        Tensor<float32> back #= Npy.loadF32("data.npy");
        return;
    }
}

Methods

Signature
static #int8[] encodeF32(Tensor<float32> t)Serialize a float32 tensor to its full .npy byte image ('<f4')
static #Tensor<float32> decodeF32(int8[] buf)Decode a float32 .npy byte image (starting at offset 0)
static void saveF32(String path, Tensor<float32> t) ⚑Save a float32 tensor to path as a .npy ('<f4', C-order)
static #Tensor<float32> loadF32(String path) ⚑Load a float32 .npy from path
static #int8[] encodeF64(Tensor<float64> t)Serialize a float64 tensor to its full .npy byte image ('<f8')
static #Tensor<float64> decodeF64(int8[] buf)Decode a float64 .npy byte image
static void saveF64(String path, Tensor<float64> t)Save a float64 tensor ('<f8', C-order)
static #Tensor<float64> loadF64(String path)Load a float64 .npy
static #int8[] encodeI32(Tensor<int32> t)Serialize an int32 tensor to its full .npy byte image ('<i4')
static #Tensor<int32> decodeI32(int8[] buf)Decode an int32 .npy byte image
static void saveI32(String path, Tensor<int32> t)Save an int32 tensor ('<i4', C-order)
static #Tensor<int32> loadI32(String path)Load an int32 .npy
static #int8[] encodeI64(Tensor<int64> t)Serialize an int64 tensor to its full .npy byte image ('<i8')
static #Tensor<int64> decodeI64(int8[] buf)Decode an int64 .npy byte image
static void saveI64(String path, Tensor<int64> t)Save an int64 tensor ('<i8', C-order)
static #Tensor<int64> loadI64(String path)Load an int64 .npy

⚑ = @EntryPoint

See also

Source: docs/stdlib/math/npio/Npy.md · 2 min read · 367 words