Skip to content

Releases: WeiR-h/moonmatbridge

MoonMatBridge v0.0.9

Choose a tag to compare

@WeiR-h WeiR-h released this 16 Oct 21:25

MoonMatBridge v0.0.9

本版冻结 API,交付混合实验归档、大型稀疏仿真交换、NumPy 转换与差异门禁三个完整科研场景。输入、独立生成器、Windows 一键演示、两宿主独立核对和结果哈希随包提供。

全局标记补入全部公开基本类 1—15 的大小端/压缩矩阵,形成 16 组独立混合往返;三目标测试、原有互操作、真实 GNU Octave v6/v7 生产/消费继续执行。公开下载的 EXE 与预编译 JS 将再次运行全部 6 组科研流程。

性能汇总保留 v0.0.7/v0.0.8 的同机固定基线和全部样本,v0.0.9 不以版本描述变化伪造新加速成绩。指标与兼容性分别验收。

16 选 1 的 v0.0.8 实测:native 约 14.2 倍、峰值下降 38.3%;JS 约 10.3 倍、峰值下降 48.1%。native 的 40% 峰值目标仍未达,继续公开跟踪。四组写入目标通过,最终 24 个固定组合没有超过 10% 的退化。发行页另提供包含实际输入、输出及独立报告的 workflows ZIP。

安装:moon add WeiR-h/moonmatbridge@0.0.9。便携包解压后运行 powershell -ExecutionPolicy Bypass -File examples/workflows/demo.ps1。完整兼容终点及实际 MATLAB 运行仍有未完成项,继续保持 0.x;复审技术附件见 docs/REVIEW_EVIDENCE-v0.0.9.md。

MoonMatBridge v0.0.8

Choose a tag to compare

@WeiR-h WeiR-h released this 16 Oct 21:05

MoonMatBridge v0.0.8

新增 read_selected、inspect_roots、MatRootInfo 和 roots INPUT.mat。select 保持请求顺序,减少未选数据树与负载分配,同时保留所有变量的结构、类型转换、稀疏索引、字符编码、资源额度和压缩校验。

空选择、遗漏的损坏变量及未知类型仍明确报错,不提供跳过校验模式。输入文件仍整体在内存,压缩根变量仍须有界解压;不宣称随机磁盘读取或压缩流内部直接跳转。

公开消费者验证新增 API;独立 SciPy 核对 15 类混合文件的元数据和选择结果,实际 GNU Octave 流程继续执行。UTF8 扫描与标准解码器作边界和随机字节差分验证。

同机 v0.0.5 对照报告随版本提供,分开报告核心、命令行和峰值内存。安装:moon add WeiR-h/moonmatbridge@0.0.8。完整标准变体终点尚未全部验证,保持 0.x。

正式复测:16 个各 1 MiB 变量中选择一个,native 核心提速约 14.2 倍、峰值下降 38.3%;JS 提速约 10.3 倍、峰值下降 48.1%。native 的峰值下降仍未达到自定 40% 目标,性能目标未全部完成。四组写入目标继续通过,24 个固定操作/宿主组合没有超过 10% 的退化。原始样本、首次退化记录与修复后的测量均保留。

MoonMatBridge v0.0.7

Choose a tag to compare

@WeiR-h WeiR-h released this 16 Oct 20:02

MoonMatBridge v0.0.7

将未压缩写入改为完整预检后一次分配固定缓冲,密集、CSC 和递归混合树共用底层实现,避免逐层临时缓冲及最后一次整文件复制。压缩路径也减少中间复制。

输出缓冲完全由内部独占,写入结束后转移为不可变字节,不保留可修改别名。类型、维度、字段顺序、IEEE 原始位、精确整数、稀疏存储和错误限额继续验证。

性能报告以同机、同工具链的 v0.0.5 为对照,分别列出 native / JS 核心计时、命令行总耗时和峰值内存;未达目标或出现退化的项目如实列出。公开验证与实际科研工具回执随发行提供。

安装:moon add WeiR-h/moonmatbridge@0.0.7。完整标准变体终点仍在推进,保持 0.x。

MoonMatBridge v0.0.6

Choose a tag to compare

@WeiR-h WeiR-h released this 16 Oct 19:17

MoonMatBridge v0.0.6

本版完善科研文件交换的兼容证据,并建立后续性能优化的固定对照。

  • 全部 15 个公开基本类的独立混合文件矩阵:大小端、压缩/未压缩、native/JS,共 8 组;包含多维、空数组与交叉嵌套。
  • 真实 GNU Octave v6/v7 生产和消费验证;修复空格 subsystem 字段、nonsparse 保留字 1,并使用跨工具一致的 struct 字段宽度小数据标签。
  • Octave 8.4 的短字符矩阵和 sparse logical 生产者变体保留为独立案例,未解决项单列,不计为通过。
  • 固定 v0.0.5 源码与同机工具链,记录原始计时、CLI 总耗时、进程峰值内存和输入哈希;本版不预先宣称性能目标已达到。

核心保持 MoonBit 原生实现,无新增产品运行时依赖。MATLAB 实际执行及主办方验收仍单独跟踪,完整标准变体终点未达前保持 0.x。

验证报告和可下载混合文件随版本提供。安装:moon add WeiR-h/moonmatbridge@0.0.6。

MoonMatBridge v0.0.5

Choose a tag to compare

@WeiR-h WeiR-h released this 16 Oct 04:13

本版补齐 MAT Level 5 的递归 cell、struct、char 与 legacy object 数据读写,修正旧申报材料的类型范围。info、roundtrip、compress、select 可保留数值、文本、容器和 CSC 混合数据。

  • 三个公开混合 MAT 文件各含 13 个根变量,覆盖交叉嵌套、中文/非 BMP、精确 uint64、复数、logical、CSC、空和多维数组;附独立 SciPy 生成器、递归比较与 SHA-256。
  • 59 项测试分别在 JS / wasm-gc / native 通过;62 组 SciPy/NumPy 验证通过;源码、Windows 程序和 JS 包均经解压后独立消费者检查。
  • 新增深度、节点、字段及累计元素预算;旧数值/CSC 接口保持原输入域,遇到容器明确拒绝。

兼容终点与未完成门槛见 COMPATIBILITY.md,混合案例可直接下载。实际 MATLAB/Octave 尚未验证,官方复审尚未重新提交;本次发布不代表已达完整兼容终点或获主办方认可。

Mooncakes:moon add WeiR-h/moonmatbridge@0.0.5。下载附件后可对照 SHA256SUMS.txt 验证;Windows 程序无需 MoonBit、Python 或 Node。

MoonMatBridge v0.0.3 — 科研数据保真与可复现互操作

Choose a tag to compare

@WeiR-h WeiR-h released this 10 Oct 14:51

MoonMatBridge v0.0.3 完成五轮核心迭代,将 MAT 数值交换扩展为可复现的科研数据处理流程。

  • 新增保留原始数值字节的切片、按轴取样、拼接与严格转换计划。
  • 新增 MoonBit 原生确定性 LZ77 / zlib 编码和压缩 MAT 写入。
  • 新增 CSC double、logical、complex double 及密集/稀疏混合文件;稀疏数据只在显式调用时展开。
  • 新增原始十六进制快照与恢复,保留 NaN 编码、负零、精确整数和稀疏容量。
  • 新增按变量名匹配的精确差异报告、坐标及全局样本额度,退出码 0/2/1 可用于自动回归。

验证:52 项 MoonBit 测试分别在 JS、wasm-gc、native 全部通过;54 组独立 SciPy/NumPy 文件互通通过;704 个 zlib 解压对照流、2,072 个截断检查与 44 个原生编码输出通过。三种发布包从新目录解压验证:Windows 程序在仅含 System32 的 PATH 下执行完整工作流,源码重新检查和运行 52 项测试,JS 包执行压缩、稀疏、转换、快照和差异检查。

源码与标签的 GitHub Linux 验证均已通过,且 Linux 报告的源码指纹与 Windows 发布包相同:main 验证、v0.0.3 标签验证。

下载包含源码、Windows x64 免安装程序与 JS 导出包。SHA256SUMS.txt 和 release-v0.0.3.json 用于核对下载及本地发布证据;linux-v0.0.3.json 保留 Linux 的三个编译目标与独立科学库验证结果。

当前不支持 cell/struct/char、MAT v4/v7.3、非规范 CSC、流式文件处理或浮点容差比较。尚无 MATLAB/Octave 实际执行结果;兼容性证据来自独立 SciPy/NumPy。Mooncakes 发布和赛事验收需单独确认。

MoonMatBridge v0.0.2

Choose a tag to compare

@WeiR-h WeiR-h released this 07 Oct 10:53

MoonMatBridge v0.0.2 extends the original MoonBit-native MAT Level 5 bridge with primitive NumPy import, exact array reshaping/axis permutation and variable selection.

New capabilities:

  • Read NPY 1.0/2.0/3.0 with little/big-endian and C/Fortran order, preserving numerical/complex bytes and exact 64-bit integers.
  • Import NPY from both the native and JS command lines: from-npy INPUT.npy VARIABLE OUTPUT.mat.
  • Extract MAT variables: select INPUT.mat OUTPUT.mat VARIABLE...
  • Validate direct scalar access to publicly constructed arrays and preserve Windows PATH for compiler subprocesses.

Validation: 36 unit tests on each of JS, wasm-gc and native; 35 independent SciPy/NumPy groups, including 72 NumPy-generated NPY imports per host; 704 differential zlib streams and 2,072 truncations. The complete Linux verification also runs on GitHub. Source, native and JS ZIPs passed clean-consumer checks, including all nine native commands without development tools on PATH.

The v0.0.1 tag and downloads remain available. Source fingerprint: ff87ac49a0918993b67f1e8b5c19c459370dcca2e5fecb9e26fb03f4781d162b.

Limits: dense MAT Level 5 only; no cell/struct/char/sparse, MAT v4/v7.3, compressed writing or streaming. NPY input supports primitive types and does not evaluate object/pickle payloads. NPY scalar/vector shapes map explicitly to MAT [1,1] / [n,1]. No MATLAB/Octave execution or organizer acceptance is claimed. Apache-2.0.

See docs/HACKATHON_REGISTRATION.md for the official registration requirements and participant-written proposal requirement.

MoonMatBridge v0.0.1

Choose a tag to compare

@WeiR-h WeiR-h released this 07 Oct 10:19

MoonMatBridge v0.0.1 is the first MoonBit-native MAT Level 5 scientific data bridge.

  • Read dense numerical/logical arrays in little or big endian, including bounded zlib/DEFLATE input.
  • Write deterministic MAT files; preserve dtype, dimensions, column-major order, complex planes and exact 64-bit integers.
  • Exchange the documented JSON schema and export NumPy NPY v1 files.
  • Run the Windows x64 command line without MATLAB, Python or Node.js. An optional JS distribution is also included.

Validation: 27 unit tests on each of JS, wasm-gc and native; 29 independent SciPy/NumPy check groups; 704 zlib differential streams and 2,072 truncation cases. Reported checks ran locally on the tagged source. MATLAB/Octave execution and organizer acceptance have not been verified.

Unsupported in this version: cell/struct/char/sparse, MAT v4/v7.3, compressed writing, NPY input and streaming.

Choose the windows-x64 ZIP to run the executable, the JS ZIP for host-neutral JS exports, or the source ZIP to build. SHA256SUMS.txt lists package checksums. Apache-2.0.