-
Notifications
You must be signed in to change notification settings - Fork 21
/
changelog.txt
180 lines (157 loc) · 8.41 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
version 0.4.9
--------------------------------------------------
* Fix wrap fuction over n_word_max (issue #41).
* Inaccuracy flag is propagated to a new Fxp or resulting Fxp if one or more input Fxp are inaccurate (issue #48).
* New `from_bin` method and function. Set value or create new Fxp from a binary string (issue #49).
* Support to complex binary strings as input format.
* Force to `config.op_input_size='best'` when power operation has an constant operator (non-Fxp). Add warning message. (issue #89).
* Selection of `prefix` for binary and hexadecimal representations.
* Fix `cumsum` function bug when dealing with sizes bigger than 32 bits (windows) / 64 bits (linux) (issue #76).
* Fix `numpy.reshape` function handling. This function was returning optimal size instead of same by default (issue #77).
* Fix negative number parsing in `dtype` string (issue #80).
version 0.4.8
--------------------------------------------------
* Fix value dtype handling for windows OS and uint as 32 bits.
* __getitem__ method return a Fxp with raw value as view (this solve issue #62).
* Add tests for issues #60 and #62.
version 0.4.7
--------------------------------------------------
* Keep val as original_vdtype and not as object when it is convenient (solve issue #60).
* Convert vdtype to float when scaling transformation is applied.
* Add `abs` method.
version 0.4.6
--------------------------------------------------
* Fix complex `truediv` and `floordiv` methods (issue #53).
* Fix complex binary, hexadecimal and base representation for arrays (issue #56).
* Tests updates for complex representations.
* Solve init by dtype when it is complex (issue #58).
version 0.4.5
--------------------------------------------------
* Fix FutureWarning in subdtype 'str' comparison (issue #45).
* dtype argument added to `resize` method.
* new method `get_dtype` to get dtype using argument `notation`.
* Docstring of `get_dtype`, `resize`, `reshape`, `flatten`, `set_val`, `astype`, `get_val`, `raw`, `uraw`, `equal`
* Order parameter for `reshape` and flatten methods.
version 0.4.4
--------------------------------------------------
* Fix wrapping and scaling issue #44.
version 0.4.3
--------------------------------------------------
* Fxp adds `config` as optional init parameter (kwarg).
* Functions (operators) over one and two variables copy first operator configuration by default.
* Changes above fixed wrap overflowing bug after operation (issue #42 solved).
* Wrap function of utils fix bug when data has more than n_word_max (64 bits in the most of cases) (issue #41 soved).
* Config new methods: copy, deepcopy.
* Fix warning about internal complex check (issue #39).
* Add link implementation between `functions.truediv` with `numpy.divide`.
* Add `axes` parameter to `transpose` method.
version 0.4.2
--------------------------------------------------
* Add template to Config object.
* Fix config update from Fxp's template.
version 0.4.1
--------------------------------------------------
* Test Numpy precision at init.
* Independent definition of n_word_max and error for config.
* Fix astype casting when dtype and vdtype is None.
* Fix casting to object in extended cumprod function.
* Independent definition of n_word_max and error for config.
* Fix astype casting when dtype and vdtype is None.
* Fix casting to object in extended cumprod function.
* Fix casting to object in extended precision multiply.
* Fix casting to object inside constructor.
* fix integer repr
* support numpy array of strings
Issues fixed: #26, #31
version 0.4.0
--------------------------------------------------
* Extended precision (beyond 64 bits) in `add`, `sub`, `mult`, `truediv`, `floordiv`, `mod` and `pow` functions and methods (operators).
* Support new input formats for values: `tuples`, `Decimal` type from `decimal` module.
* dtype can be specified at init if `fxp` format or `Q` format (it replaces explicit sizing by signed, n_word, and n_frac parameters).
* Template functionality added. It allows define default format for new Fxp objects.
* Config class created to manage low level configuration of Fxp object's behavior.
- size limits: `max_error`, `n_word_max`. Parameters to define n_word and n_frac of a new Fxp.
- behavior: `op_method` (defines calculation method for ALU operators).
- inputs: `op_input_size` (defines sizing of constant conversion to Fxp in math operations).
- alu ops outpus: `op_out`, `op_out_like`, `op_sizing` (define the sizing method or type for results of ALU operations).
- alu ops with a constant operand: `const_op_sizing` (alternative of `op_sizing` when one of ALU operands is a constant).
- array ops: `array_output_type` (defines the object type when use Numpy functions: Numpy Array or Fxp),
`array_op_out`, `array_op_out_like` (define the output's size), `array_op_method` (defines calculation method for ALU operators).
* Several core calculations/methods mirgrated from `float` to `int` to support extended precision.
* Extended precision flag in status (extended_prec).
* Results of ALU operations with constants keep same size than Fxp object (by default).
* `like` initialization supports overwrite of size parameters.
* Numpy functions dispatch. You can use Fxp as arguments (inputs) of Numpy functions and get Fxp as outputs of them.
* New Fxp properties: size, shape, ndim, T.
* New Fxp methods: reshape, flatten, raw, uraw.
* New Fxp methods from Numpy array methods: all, any, argmax, argmin, argpartition, argsort, max, min, mean, std, var, sum, cumsum, cumprod,
ravel, tolist, sort, conjugate, conj, transpose, item, clip, diagonal, trace, prod, dot, nonzero.
* Support for `bool`, `int`, `float` and `complex` casting.
* dtype included in Fxp's representation (__repr__).
* Callbacks (basic) functionality added: `on_value_change`, `on_status_overflow`, `on_status_underflow`, `on_status_inaccuracy`.
* Some performance improvements.
Note:
It is recommended use Numpy version >= 1.17.x to enable functions dispatch by default. If it's not the case, it is recommended
import fxpmath before numpy or set OS envirnment variable "NUMPY_EXPERIMENTAL_ARRAY_FUNCTION" = "1" before import numpy.
version 0.3.9
--------------------------------------------------
* fix wrapping (issue #20).
version 0.3.8
--------------------------------------------------
* hex representations support padding.
* fix bug with 'b' in hex string (issue #15).
* fix inaccuracy word in status (issue #16).
* fix __pow__ method (issue #17).
* fix bug that only store imaginary part in complex assignement by indexing (issue #19).
version 0.3.7
--------------------------------------------------
* right shift support expand shifting='expand' mode.
* improve performance in indexed assignement.
* Fxp slicing (when Fxp has values as array) returns a Fxp object.
* Fxp accept other Fxp as input value.
* New `sum` function in `functions`.
* Fxp object supports > 64 bits words and values.
* docstrings update.
version 0.3.6
--------------------------------------------------
* chage in setup.py to resolve not installed package dependencies.
version 0.3.5
--------------------------------------------------
* fix wrap error for ndarrays.
version 0.3.4
--------------------------------------------------
* fix wrap error for unsigned Fxp.
version 0.3.3
--------------------------------------------------
* fix shifting bitwise of unsigned values.
* fix wrap error when input was a float.
version 0.3.2
--------------------------------------------------
* fix N dimensional arrays as inputs (N > 1).
version 0.3.1
--------------------------------------------------
* fix init and best_size_calc for Win32 platforms
version 0.3.0
--------------------------------------------------
* support logical (bitwise) operators.
* binary shifting.
* value/s sclaing (scale and offset).
* comparison support.
* inaccuracy status flag to inform that the value stored is not equal to input value.
* info() method now have verbosity to display more information.
* reset() method to reset status flags.
* set_val() now also supports raw value input.
* pow operator.
* inplace operators support.
* some bugs fixed (of course).
version 0.2.0
--------------------------------------------------
* bin, hex, and base representations.
* upper, lower and precision properties.
* arithmetic operators support.
* support for input values as strings, bin, hex, also in fractional format.
* copy Fxp.
* init Fxp like other Fxp previously defined.
* indexing support.
version 0.1.0 (first release)
--------------------------------------------------