Skip to content

reducing readers without accumulator does not use first element #13

@CalderBot

Description

@CalderBot

Maybe change this line:

https://github.com/cnuernber/tmdjs/blob/5d9d9932d9e4c321681978f7354213a762cb7d14/src/tech/v3/datatype/reader_vec.cljs#L85C59-L85C62

From
(-reduce [this rfn] (-reduce (range cnt) #(rfn %1 (idx->val %2))))

To something like:

(-reduce [this rfn]
                  (if (zero? cnt)
                    (rfn)
                    (-reduce (hamf/range 1 cnt) #(rfn %1 (idx->val %2)) (idx->val 0))))

Test:
(reduce + (dt/reify-reader :float64 3 (partial nth [3 2 5])))

  • Before change: 7, after change: 10

  • Note: there is a similar issue in tech.v3.datatype.emap1-vec

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions