ruby-numo / numo-narray

Ruby/Numo::NArray - New NArray class library
http://ruby-numo.github.io/narray/
BSD 3-Clause "New" or "Revised" License
413 stars 41 forks source link

Allow convert nil to NaN when making Numo::DFloat #207

Open mrkn opened 2 years ago

mrkn commented 2 years ago

Before

% irb -rnumo/narray
irb(main):001:0> Numo::DFloat[1, nil, 3]
(irb):1:in `[]': no implicit conversion to float from nil (TypeError)
        from (irb):1:in `<main>'
        from /Users/mrkn/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/irb-1.4.1/exe/irb:11:in `<top (required)>'
        from /Users/mrkn/.rbenv/versions/3.1.2/bin/irb:25:in `load'
        from /Users/mrkn/.rbenv/versions/3.1.2/bin/irb:25:in `<main>'
irb(main):002:0> Numo::RObject[1, nil, 3].cast_to(Numo::DFloat)
(irb):2:in `cast': no implicit conversion to float from nil (TypeError)
        from (irb):2:in `cast_to'
        from (irb):2:in `<main>'
        from /Users/mrkn/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/irb-1.4.1/exe/irb:11:in `<top (required)>'
        from /Users/mrkn/.rbenv/versions/3.1.2/bin/irb:25:in `load'
        from /Users/mrkn/.rbenv/versions/3.1.2/bin/irb:25:in `<main>'
irb(main):003:0>

After

% irb -Ilib -rnumo/narray
irb(main):001:0> Numo::DFloat[1, nil, 3]
=>
Numo::DFloat#shape=[3]
[1, nan, 3]
irb(main):002:0> Numo::RObject[1, nil, 3].cast_to(Numo::DFloat)
=>
Numo::DFloat#shape=[3]
[1, nan, 3]
irb(main):003:0>

TODO