|
3 | 3 | - Added initial matrix/linear algebra handler support from base R, using the |
4 | 4 | same BLAS/LAPACK as R: `%*%`, `t()`, `crossprod()`, `tcrossprod()`, |
5 | 5 | `outer()` (with `FUN="*"`), `%o%`, `forwardsolve()`, `backsolve()`, `diag()`, |
6 | | - `t()`, `chol()`, `chol2inv()`, `solve()`, and `qr.solve()`. |
| 6 | + `t()`, `chol()`, `chol2inv()`, `solve()`, and `qr.solve()`. This includes |
| 7 | + support for: |
| 8 | + |
| 9 | + - `drop()` for rank 0-2 inputs (including singleton matrices). |
| 10 | + - `svd()` results via `$d`, `$u`, and `$v` (either from `s <- svd(x)` or |
| 11 | + directly from `svd(x)$d`/`$u`/`$v`). |
| 12 | + - `.Machine$double.eps`. |
| 13 | + - `qr.solve()` using the LINPACK QR path (for better compatibility with |
| 14 | + base R behavior). |
7 | 15 |
|
8 | 16 | The plan is to add more functions in the future (#77, #79 @mns-nordicals) |
9 | 17 |
|
|
79 | 87 | - Fixed a crash when compiling chained / fall-through assignments like |
80 | 88 | `a <- b <- 1` (#60). |
81 | 89 |
|
| 90 | +- `quick()` now supports dotted symbols (e.g. `foo.bar`) for arguments, locals, |
| 91 | + and loop variables. Conflicting names that map to the same Fortran symbol now |
| 92 | + error (Fortran is case-insensitive). |
| 93 | +
|
| 94 | +- Fixed C bridge size checks for dotted argument names used in |
| 95 | + `declare(type(...))` size expressions (e.g. `type(x = double(foo.bar))`). |
| 96 | +
|
| 97 | +- `quick()` now gives a helpful error message when a function argument is used |
| 98 | + without being declared |
| 99 | + (i.e. missing `declare(type(arg = ...))`). |
| 100 | +
|
| 101 | +- Fixed an error in invalid subscript arity reporting, e.g. `x[1, 2, 3]` on a |
| 102 | + matrix now errors cleanly instead of failing while formatting the message. |
| 103 | +
|
| 104 | +- Vector-matrix recycling in arithmetic is now restricted to recycling |
| 105 | + along the first axes only. |
| 106 | +
|
| 107 | +- Local closures now support optional arguments with `NULL` defaults, with |
| 108 | + validation to ensure optional arguments are initialized (via `is.null()`) |
| 109 | + before use. |
| 110 | +
|
82 | 111 | # quickr 0.2.1 |
83 | 112 |
|
84 | 113 | - Added support for `!` and unary `-` and `+` (#49, @mns-nordicals) |
|
0 commit comments