Commit Graph

232 Commits

Author SHA1 Message Date
Vincent Esche 315096f78b Added `modInPlace` to ‘Arithmetic.swift’ 2019-09-24 17:21:30 +02:00
Vincent Esche 2919646dd5 Changed `div…` of ’Arithmetic.swift’ be implemented in terms of `divInPlace` 2019-09-24 17:21:30 +02:00
Vincent Esche 2ce5db6590 Changed `mul…` of ’Arithmetic.swift’ be implemented in terms of `mulInPlace` 2019-09-24 17:21:30 +02:00
Vincent Esche 88e8cb3ef1 Turned `add…`/`sub…` into thin wrappers of `muladd…` (in ‘Arithmetic.swift’) 2019-09-24 17:21:30 +02:00
Vincent Esche 99efd386f7 Added `muladd`/`muladdInPlace` to ‘Arithmetic.swift’ 2019-09-24 17:21:30 +02:00
Vincent Esche e243b08fd0 Renamed ‘General Arithmetic’ directory to ‘Arithmetic’ 2019-09-24 17:21:30 +02:00
Vincent Esche c351ba1884 Renamed `mulAdd…` to `muladd…` to match `elmul`, etc 2019-09-24 17:21:30 +02:00
Vincent Esche 65e6a2b6b5 Re-ordered functions in ‘Arithmetic.swift’ file 2019-09-24 17:21:30 +02:00
Vincent Esche 46b1687a29 Added `mulAdd(Matrix, Matrix)` (multiply-add) and turned existing addition/subtraction into shallow wrappers around it 2019-09-24 17:21:30 +02:00
Vincent Esche 1c274b3ee7 Added `Matrix += Matrix` and turned `Matrix + Matrix` into a shallow wrapper around it 2019-09-24 17:21:30 +02:00
Vincent Esche d3f7a50ad9 Fixed missing target memberships of ‘ScalarTests.swift’ file for non-macOS platforms 2019-09-23 22:54:36 +02:00
Vincent Esche 912854a747 Resolved FIXMEs, adding missing unit tests 2019-09-23 22:54:36 +02:00
Vincent Esche 0dddd7f3af Moved `exp()`/`exp2()` into ‘Arithmetic.swift’ 2019-09-23 22:54:36 +02:00
Vincent Esche 8dc60be7aa Moved `pow()` into ‘Arithmetic.swift’ 2019-09-23 22:54:36 +02:00
Vincent Esche 8d748416da Changed use of `(0..<n).map { Scalar($0) }` to `(1…n).map { Scalar($0) }` avoiding divide-by-zero 2019-09-23 22:54:36 +02:00
Vincent Esche 9933ae5bcd Renamed `func test_grid` to `func test_init_arrayLiteral` 2019-09-23 22:54:36 +02:00
Vincent Esche 741fa9a4cf Added missing `// MARK: - …` to implementation files 2019-09-23 22:54:36 +02:00
Vincent Esche 59a14fdbd2 Moved `func test_mul_empty_float` and added corresponding `func test_mul_empty_double` 2019-09-23 22:54:36 +02:00
Vincent Esche 3e48656227 Moved functions with `Scalar` as `lhs` into separate `ScalarTests` file 2019-09-23 22:54:36 +02:00
Vincent Esche fbdfc14902 Added missing tests for dot product of `Vector<Scalar>` 2019-09-23 22:54:36 +02:00
Vincent Esche 5b86954a46 Added `// MARK: - …` to unit tests to improve ergonomics in Xcode’s minimaps 2019-09-23 22:54:36 +02:00
Vincent Esche d616943927 Added benchmark measurements to `VectorTests` 2019-09-23 22:54:36 +02:00
Vincent Esche 51f09e9f50 Increased size of too-small arrays in performance measurements 2019-09-23 22:54:36 +02:00
Vincent Esche 4ec96e4ff4 Removed test helper functions in favor of explicit literals. K.I.S.S. 2019-09-23 22:54:36 +02:00
Vincent Esche bb38145240 Marked `Vector<Scalar>`’s `func …InPlace` functions as implicitly `internal` access 2019-08-31 10:31:04 +02:00
Vincent Esche 1c700c9bce Removed `func ` from inventory 2019-08-30 18:03:00 +02:00
Vincent Esche 898a908c35 Unified naming of `lhs` and `rhs` arguments (from current mix of `lhs`, `x`, `l`, …) 2019-08-30 13:48:34 +02:00
Vincent Esche da20356543 Reorganized files 2019-08-30 13:48:34 +02:00
Vincent Esche 7f4543704f Replaced `// MARK:` with `// MARK: - ` for nicer visual separation in Xcode 2019-08-30 13:48:34 +02:00
Vincent Esche 4bc8823311 Moved functions/operators with `lhs: Vector` into separate ‘Vector.swift’ file 2019-08-30 13:48:34 +02:00
Vincent Esche c83f890f33 Moved functions/operators with `lhs: Scalar` into separate ‘Scalar.swift’ file 2019-08-30 13:48:34 +02:00
Vincent Esche 8dc7cbc180 Replaced use of named functions in ‘ArithmeticTests.swift’ with operators
By the latter forward to the former we thus essentually test both code-paths in one test.
2019-08-30 13:48:34 +02:00
Vincent Esche 202a4e5ed3 Moved arithmetic operators right next to their corresponding named functions 2019-08-30 13:48:34 +02:00
Vincent Esche 9b63cb159a Unified file encodings to UTF-8 2019-08-30 13:48:34 +02:00
Vincent Esche 725a9baf85 Moved operator-precedence declarations into separate source file 2019-08-30 13:48:34 +02:00
Vincent Esche 03b3a35602 Deleted ‘INVENTORY.md’ 2019-08-30 01:24:20 +02:00
Vincent Esche 1d149cec22 Moved improved ‘Inventory’ back into README 2019-08-30 01:24:20 +02:00
Vincent Esche c111bc9e4c Moved ‘License’ further up in README 2019-08-30 01:24:20 +02:00
Vincent Esche 4cdf019df6 Moved columns for `In-Place Function` into hidden HTML comments
This way they can still serve as good internal documentation, without cluttering the publicly visible README
2019-08-30 01:24:20 +02:00
Vincent Esche b8cf92d630 Improved clustering of functions in ‘INVENTORY.md’ 2019-08-30 01:24:20 +02:00
Vincent Esche 641b33b012 Added ‘DSP-specific Operations’ section to ‘INVENTORY.md’ 2019-08-30 01:24:20 +02:00
Vincent Esche e799af112e Added ‘Matrix-specific Operations’ section to ‘INVENTORY.md’ 2019-08-30 01:24:20 +02:00
Vincent Esche d2dd38cc58 Added ‘Auxiliary Functions’ section to ‘INVENTORY.md’ 2019-08-30 01:24:20 +02:00
Vincent Esche 71208d62a7 Added ‘Statistical Operations’ section to ‘INVENTORY.md’ 2019-08-30 01:24:20 +02:00
Vincent Esche 93d93589d7 Added ‘Exponential Functions’ section to ‘INVENTORY.md’ 2019-08-30 01:24:20 +02:00
Vincent Esche bfd7b33396 Added ‘Trigonometric Operations’ section to ‘INVENTORY.md’ 2019-08-30 01:24:20 +02:00
Vincent Esche 4a6210d643 Added ‘General Arithmetic Operations’ section to ‘INVENTORY.md’ 2019-08-30 01:24:20 +02:00
Vincent Esche 1e073b24ad Moved improved ‘Inventory’ section of ‘README.md’ into separate ‘Inventory.md’ file 2019-08-30 01:24:20 +02:00
Vincent Esche 4bbef2dc49 Added unit tests for diagonal matrix initializers 2019-08-30 01:08:04 +02:00
Vincent Esche 1d6a28ea7a Added `static func eye(rows:columns:)` & `static func identity(size:)` to `Matrix<Scalar>` 2019-08-30 01:08:04 +02:00