[Suggestion] This package may be highly benefitted from SystemC fixed-point arithmetics
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 20/100
Hướng nghiên cứu
Không có tệp, bài kiểm thử hoặc điểm vào nào được nêu tên. Hãy bắt đầu bằng việc xem xét ngữ nghĩa số dấu phẩy cố định của SystemC trong IEEE 1666-2011 Mục 7.10 và phạm vi hiện tại của package, sau đó xác định Julia API mong muốn, các phép toán được hỗ trợ và hành vi chuyển đổi trước khi triển khai.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
I've been using SystemC for modelling systems with fixed-point arithmetics for a while. It focuses on describing hardware systems with C++ language and it's been pretty mature, with an IEEE Standard (https://standards.ieee.org/standard/1666-2011.html)
Section 7.10 of the standard approaches fixed-point types and their characteristics. In general, a fixed-point number can be represented and used as:
sc_fixed_fast<8, 1, SC_RND, SC_SAT> x = 0.5; //round and saturate
sc_fixed_fast<9, 2, SC_TRN, SC_WRAP> y = 0.5; //truncate and wraparound overflow
One of the useful applications of this type system is you can have 'wide' variables to do a series of calculations and store a given value, then create a <8, 1> type to round and saturate the input to your interface. The error from converting a wide type (for example, <32, 8> storing some multiplication) to a smaller type is expected and is part of the whole analysis for the system application.
Apparently, sc_fixed_fast types always store 32/64 bit numbers, but only operate on their given number of bits. They are fast because they don't try to store and odd number of bits (such as 9) in the memory, although they obviously use more memory than necessary.
A bunch of useful operations are defined, such as bitwise AND and OR and bitshift operators (<<, >>, <<<, >>>).
Although this type system from SystemC is pretty useful, I think Julia could offer a much wider world of opportunities.
If all this sounds reasonable, I'd be glad to help. If it's not the scope of the project, it's understandable.
- Ngôn ngữ chính
- Julia
- Star
- 95
- Fork
- 38
- Merge trung bình
- 1 ngày 7 phút
- Pull request đã merge (30 ngày)
- 4
Chuẩn bị môi trường
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của JuliaMath/FixedPointNumbers.jl
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
JuliaMath/FixedPointNumbers.jl#310 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 42/100
JuliaMath/FixedPointNumbers.jl#331 · 7 bình luận ·
-
needs comments
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
JuliaMath/FixedPointNumbers.jl#318 · 1 bình luận ·
-
add-on enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
JuliaMath/FixedPointNumbers.jl#311 · 4 bình luận ·
Tất cả issue của JuliaMath/FixedPointNumbers.jl
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
`default_linear_interpolation` is called with its arguments swapped, so its opt-outs never applyĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
SciML/OrdinaryDiffEq.jl#4684 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
SciML/Evolutionary.jl#182 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
jmejia8/Metaheuristics.jl#130 ·
-
Upgrade plan for Julia version?Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
exercism/julia-test-runner#164 · 1 bình luận ·