2024 Clojure 状态调查! 分享您的想法。

欢迎!请访问 关于 页面了解此平台的更多信息。

0 投票
core.rrb-vector

在尝试解 advent of code 的第 19 题第二部分时遇到了问题。

我的程序主要是使用 catvec 和 subvec 在 https://github.com/mattiasw2/adventofcode1/blob/master/src/adventofcode1/nineteen_b.clj

以下是最简单的一个失败示例

ArrayIndexOutOfBoundsException 33 clojure.core.rrb-vector.rrbt.Vector/fn--19277 (rrbt.clj:373)

(puzzle-b 978)

(我使用的是 (stest/check `puzzle-b) )


我使用纯向量重新实现了程序,一切正常(除了我还没有办法运行大样本)

https://github.com/mattiasw2/adventofcode1/blob/master/src/adventofcode1/nineteen_c.clj

这也运行正常。

6 个回答

0 投票
_由 michalmarczyk 发起评论_

您好,感谢报告!我在修复这个问题,至少它看起来是我正在处理的问题的体现,一旦修复发布,这个问题应该会消失。我会调查一下的。
0 投票

_由 leif 发起评论_

我在较大的向量(例如大小 > 1000)上也遇到了这个错误,尤其是在进行了许多 subvec/catvec 操作并将元素插入向量中间时。

不幸的是,这使得这个库对我现在的使用来说是不适用的,但如果这个问题被解决,我乐意转换回来 :)

0 投票
_Comment made by: mattiasw_

我让 collection-check 运行起来(require 中缺少 .core),见 https://github.com/mattiasw2/core.rrb-vector/commit/abef418cf6ceb7c293c54c224089b397990740bc

但现在 collection-check 失败了

lein test :only clojure.core.rrb-vector-check/collection-check

在 (collection-check) (rrb_vector_check.clj:8) 失败
期望: (assert-vector-like 250 (fv/vector) gen/int)
  实际上: (not (assert-vector-like 250 [] #clojure.test.check.generators.Generator{:gen #object[clojure.test.check.generators$sized$fn__1400 0x354e7004 "clojure.test.check.generators$sized$fn__1400@354e7004"]}))

lein test clojure.core.rrb-vector-test

运行了 12 个测试,包含 54 个断言。
1 个失败,0 个错误。
测试失败。
0 投票

Comment made by: mattiasw

我在 https://github.com/ztellman/collection-check/issues/17 上咨询了如何获取更多关于为什么不是 vector-like 的信息

0 投票

Comment made by: jafingerhut

Michal,你提到你可能正在修复这个问题。自从那封邮件以来,我没有看到任何相关的提交。你是否有任何部分修复/改进可以供他人作为起点?当然,可以从现有的代码开始,但我很好奇你是否有一些线索或指导,来自你的调查。

0 投票
参考: https://clojure.atlassian.net/browse/CRRBV-14 (由 alex+import 报告)
...