Giter Club home page Giter Club logo

Comments (5)

bkamins avatar bkamins commented on May 29, 2024 1

@baumgold - it is not the type of the numbers you use but the actual value. If your values were not actually all integers things would work:

julia> df = DataFrame(A = [FixedDecimal{Int,3}(1), FixedDecimal{Int,3}(2), FixedDecimal{Int,3}(3.1)])
3×1 DataFrame
 Row │ A
     │ FixedDec…
─────┼───────────
   1 │       1.0
   2 │       2.0
   3 │       3.1

julia> unique(df)
3×1 DataFrame
 Row │ A
     │ FixedDec…
─────┼───────────
   1 │       1.0
   2 │       2.0
   3 │       3.1

Note that BigInt works:

julia> BigInt(FixedDecimal{Int,3}(1))
1

It is just the shorthand big does not work (which could be added to that package but probably its maintainers should make this decision).

@nalimilan - probably we can change big to BigInt in DataFrames.jl as a solution. OK?


@baumgold - as a temporary fix you can define big(x::FixedDecimal) = BigInt(x) in your code. It should not break anything (as big is not supported by FixedDecimal).

from dataframes.jl.

bkamins avatar bkamins commented on May 29, 2024

@nalimilan - we need to make a decision here. FixedPointDecimals.jl does not support conversion of integer FixedDecimal values to BigInt. I think it should, but the fact is that it does not. Our code assumes that all integers can be passed to big and be properly converted to BigInt. Do you think we should change this assumption?

@baumgold - the simplest fix would be on FixedPointDecimals.jl side if they added support for conversion of integer values to BigInt.

from dataframes.jl.

baumgold avatar baumgold commented on May 29, 2024

@bkamins - thanks for the quick response. I would be happy with a fix on the FixedPointDecimals.jl side. I'm not familiar enough with the purpose of Base.big to know how that should be implemented for FixedDecimal. You say that it should support conversion to BigInt but FixedDecimal is more akin like a non-lossy BigFloat than a BigInt. How should we proceed? Thanks for your help.

from dataframes.jl.

baumgold avatar baumgold commented on May 29, 2024

It looks like the following may be the correct implementation but I'm not confident. Thoughts?

julia> Base.big(n::FixedDecimal) = convert(BigFloat, n)

julia> Base.big(::Type{<:FixedDecimal}) = BigFloat

from dataframes.jl.

baumgold avatar baumgold commented on May 29, 2024

I logged JuliaMath/FixedPointDecimals.jl#91 to request that Base.big be implemented for FixedDecimal.

from dataframes.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.