Commit Graph

44 Commits

Author SHA1 Message Date
Julien Cretin de77d4fc0c Add histogram for fuzzing 2020-11-13 10:34:23 +01:00
Julien Cretin 1c2e450660 Improve documentation 2020-11-12 16:24:35 +01:00
Julien Cretin db5b21a4ff Add more documentation 2020-11-12 10:54:23 +01:00
Julien Cretin c6f9270be1 Update documentation 2020-11-11 17:52:33 +01:00
Julien Cretin 163e92fa6b Create fuzzing and add entropy helpers 2020-11-11 12:30:24 +01:00
Julien Cretin d5a43c346f Rename into_ into extract_ 2020-11-11 10:28:32 +01:00
Julien Cretin 0e4be8ca4a Update documentation 2020-11-10 19:44:28 +01:00
Julien Cretin 45332158df Add driver for new store 2020-11-03 21:27:32 +01:00
Julien Cretin a024e642d3 Return zero instead of negative immediate capacity 2020-11-03 13:30:39 +01:00
Julien Cretin 410314b780 Move transaction validity check to Format 2020-11-03 12:54:30 +01:00
Julien Cretin d734da3a0e Move transaction capacity formula to Format 2020-11-03 12:39:38 +01:00
Julien Cretin b97758dd99 Do not use import ::* 2020-11-03 11:58:20 +01:00
Julien Cretin 233c15b20c Add new store (without tests yet) 2020-11-02 11:17:09 +01:00
Julien Cretin 9778ea7fd2 Introduce distinct integer types
This PR does the following things:
- Give incompatible representations for integers with different semantics:
  - `usize` is used for natural numbers for the public API.
  - `Nat` is used internally for natural numbers (essentially a stable `usize`).
  - `Word` is used for sequences of bits representing words in flash.
  - `Position` is used for word positions in the virtual storage.
- Only use fixed size integers to preserve overflow behavior between targets.
- Use little-endian representation instead of native representation for `Word`.

Alternatives:
- Run tests and fuzzing on 32-bits architecture (or some compatibility mode).
  This approach would have better readability than the current solution (less
  conversions at public API). However it would require additional setup and
  might not be viable long-term by restricting machines on which fuzzing is
  possible.
- Accept the behavior difference for tests and fuzzing. This approach would also
  have better readability. However checking for arithmetic overflow (and other
  `usize` related concerns like memory size) is more important.
2020-10-29 18:48:15 +01:00
Julien Cretin 5ce91947b6 Fix StoreRatio fields visibility and improve documentation 2020-10-29 12:23:34 +01:00
Julien Cretin e7303ed7c6 Add model for new store 2020-10-27 14:23:39 +01:00
Julien Cretin 71815cad09 Update ERASED_WORD definition to use WORD 2020-10-27 13:45:18 +01:00
Julien Cretin edd1bcf5d2 Do not inline constants in documentation 2020-10-27 11:25:08 +01:00
Julien Cretin 552bab6ba9 Remove public visibility for internal function 2020-10-26 17:51:40 +01:00
Julien Cretin cb3369213f Fix merge missing conflict 2020-10-23 17:27:20 +02:00
Julien Cretin 3755be1625 Merge branch 'master' into v2_lib 2020-10-23 17:20:19 +02:00
Julien Cretin 99e2d07156 Fix documentation 2020-10-23 16:38:48 +02:00
Julien Cretin f52ea953b8 Improve documentation 2020-10-23 15:38:21 +02:00
Julien Cretin 34ad35fdc1 Fix documentation 2020-10-23 11:52:21 +02:00
Julien Cretin f5e6f8728f Do not use nightly features 2020-10-23 08:41:44 +02:00
Julien Cretin d8f405baab Add missing alloc crate 2020-10-23 08:37:09 +02:00
Julien Cretin 10ac76e58a Add buffer storage for new store 2020-10-23 08:22:30 +02:00
Julien Cretin f8fe1a9493 Add small proofs 2020-10-14 17:36:52 +02:00
Julien Cretin c098f2695b Clarify current supported values 2020-10-14 12:20:48 +02:00
Julien Cretin 223908febd Remove confusing clarification 2020-10-14 11:41:46 +02:00
Julien Cretin f512645837 Improve documentation 2020-10-13 12:46:25 +02:00
Julien Cretin eede767fe3 Improve documentation 2020-10-12 18:07:29 +02:00
Julien Cretin 0242873a23 Improve comments 2020-10-12 16:25:25 +02:00
Julien Cretin d721949806 Improve documentation 2020-10-12 14:40:30 +02:00
Julien Cretin 7b21eba5df Expand documentation 2020-10-09 11:55:51 +02:00
Julien Cretin c09a5ed719 Address comments 2020-10-07 15:17:37 +02:00
Julien Cretin f9f428dcbf Fix documentation 2020-09-30 18:37:33 +02:00
Julien Cretin d0ad46b868 Add format helpers for new store 2020-09-30 18:30:39 +02:00
Julien Cretin 91805db1f0 Rename Const to ConstField 2020-09-29 22:18:30 +02:00
Julien Cretin abe1230364 Clarify documentation 2020-09-29 19:29:06 +02:00
Julien Cretin 67714510f5 Add bitfield helpers for new store 2020-09-28 17:30:44 +02:00
Julien Cretin ba151d9289 Update copyright dates 2020-09-28 13:14:33 +02:00
Julien Cretin 7f826dde53 Add dot at end of short comments 2020-09-28 12:44:56 +02:00
Julien Cretin a203ff13df Create new store and add storage API 2020-09-24 14:24:18 +02:00