Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New methods and features for 0.6.0 #64

Merged
merged 25 commits into from
Jul 16, 2024
Merged

Conversation

henrique-borba
Copy link
Member

@henrique-borba henrique-borba commented Jul 15, 2024

This is an update package that implements new methods and new features to existing methods for the 0.6.0 update.

Updated: NDArray::transpose

Transpose now allows the user to specify permutation axes.

Updated: NDArray::squeeze

Now support axis parameter

New: NDArray::full

Creates a new array initialized with a user-specified value.

New: NDArray->fill

Fills an existing array with the user-specified value.

New: NDArray::positive

Returns a copy of the NDArray with all positive values.

New: NDArray::reciprocal

Returns the reciprocal of the matrix, element-wise.

New: NDArray::swapaxes

Interchange array axes.

New: NDArray::argmin

Return the indices of the minimum values over a specified axis.

New:: NDArray::argmax

Return the indices of the maximimum values over a specified axis.

New:: NDArray::rollaxis

Roll the specified axis backwards, until it lies in a given position.

New:: NDArray::moveaxis

Move axes of an array to new positions.

New:: NDArray::hstack

Stack arrays in sequence horizontally (column wise).

New:: NDArray::vstack

Stack arrays in sequence vertically (row wise).

New:: NDArray::dstack

Stack arrays in sequence depth wise (along third axis).

New:: NDArray::column_stack

Stack 1-D arrays as columns into a 2-D array.

New:: NDArray::concatenate

Join a sequence of arrays along an existing axis.

New:: NDArray::append

Append values to the end of an array.

@henrique-borba henrique-borba added the enhancement New feature or request label Jul 15, 2024
@henrique-borba henrique-borba added this to the 0.6.0 milestone Jul 15, 2024
@henrique-borba henrique-borba self-assigned this Jul 15, 2024
@henrique-borba henrique-borba marked this pull request as draft July 16, 2024 00:50
@henrique-borba henrique-borba marked this pull request as ready for review July 16, 2024 16:01
@henrique-borba henrique-borba merged commit 8f392c8 into main Jul 16, 2024
4 checks passed
@henrique-borba henrique-borba deleted the feat/routines_package branch July 16, 2024 16:01
henrique-borba added a commit that referenced this pull request Sep 30, 2024
…oses #57 (#65)

* CPU Benchmark files for initializers

Added benchmark files for CPU initializers using phpBench

* New methods and features for 0.6.0 (#64)

* feat: squeeze manipulation routine with axis support

* feat: NDArray::full implementation

* feat: NDArray::fill release

* feat: argmin and argmax with axis support

* feat: NDArray::positive implementation

* feat: NDArray::reciprocal implementation

* feat: NDArray::reciprocal stubs

* feat: NDArray::reciprocal stubs

* feat: NDArray::swapaxes implementation
feat: NDArray::transpose permutation

* feat: NDArray::swapaxes and new transpose stubs

* feat: NDArray::argmin and argmax keepdims option

* feat: NDArray::rollaxis implementation

* feat: NDArray::moveaxis implementation

* fix: improvements to the slicing mechanism

* feat: ndarray slicing stubs

* fix: fixed slicing shape when arrays contain values

* feat: hstack, vstack and dstack implementation

* feat: column_stack implementation

* feat: column_stack PHP stubs

* feat: NDArray::concatenate implementation

* feat: NDArray::append implementation

* feat: NDArray::append stubs

* docs: update README.md

* fix: NDArray::append memory leak when using PHP arrays as arguments.

* fix: new routines GPU implementation

* Added Param Providers

+ Added parameter providers for readability and coding best practices

- removed repetitive code

* Added default phpbench file

+ Added default PHPBench configuration file

* Update composer.json

* Update initializers.c

Fixed comment for NDArray ones

* Fixed setUp for benchmarking

Refactored function names for clarity, and fixed phpBench setup method

* Added benchmarks for the linear algebra methods

Added benchmarks for Linear Algebra methods with the exception of functions Cond, Inv, and Qr

* Added benchmarks for sum and products methods

Added benchmarks for sum and products methods

* Added benchmarks for the arithmetic methods

Added benchmarks for the arithmetic methods
- removed initial testArray values

* Added default values for aggregate benchmarking

Added default Revs and iteration values for more accurate runtime time estimates.

* Added Benchmarks for QR decomp, Condi, and Inverse

- remove extra comments on Cholesky benchmark file
- removed extra param comment in linalg file
+ Benchmark for QR decomposition function
+ Benchmark for Inverse function
+ Benchmark for Cond function

* Added annotations and ignore configure~ file

+ Updated .gitignore to ignore generated configure file
+ Added MIT license under composer file

* Added Group annotations

Added Group annotations to all benchmarks.

* Update readability of ArrayInitializerBench

Updated Array Initializer Benchmark to utilize zeros Initializer for setup instead of hard coded arrays

* Temp files in .gitignore

Removed temp files from .gitignore

---------

Co-authored-by: Henrique Borba <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

[FEAT] Improve indexing and slicing to accept negative indices [FEAT] Implement more manipulation routines
1 participant