请在 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))

is

(puzzle-b 978)

(我曾在 (stest/check `puzzle-b) 中使用它)


我重新实现了程序,使用普通向量化,一切正常(除了我没有运行大样本)

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

这工作正常。

6 答案

0
_Comment made by: michalmarczyk_

你好,感谢报告!我认为我在修复这个问题,至少它看起来是我正在处理的问题的一个表现,一旦这个修复完成,应该就没有问题了。我会检查的。
0

Comment made by: leif

我也在较大的向量化(例如大小 >1000)后在许多 subvec/catvec 操作之后得到这个错误,尤其是在向向量中间插入元素时。

不幸的是,这使我无法使用这个库,但如果这个问题被修复,我愿意切换回来 :)

0
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
by

评论来自:mattiasw

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

0
by

评论来自:jafingerhut

Michal,你说你可能在修复这个过程,但我没有看到任何与这条消息相关的提交。你是否有一些部分修复/改进,其他人可以从这里开始?当然,总是从现有的代码开始,但我很好奇你是否有一些调查的线索或指针。

0
by
参考资料:https://clojure.atlassian.net/browse/CRRBV-14(由alex+import报告)
欢迎来到Clojure问答社区,在这里你可以提问并从Clojure社区成员那里获得答案。

分类

...