Comments (5)
Hi,
I wish to start contributing to stdlib so I am looking for a first issue to tackle. Is this issue still relevant?
If yes, should we aim for the level of genericity attained by NumPy, or is the Matlab version sufficient?
from stdlib.
If we seek to have only 2d and 3d versions, we could implement them separately under a generic interface:
interface meshgrid
module procedure meshgrid_2d
module procedure meshgrid_3d
end interface
where the 2d implementation for instance would be a pure subroutine with the following interface
pure subroutine meshgrid_2d(x, y, xm, ym, indexing)
implicit none
real, intent(in) :: x(:)
real, intent(in) :: y(:)
real, intent(out) :: xm(:)
real, intent(out) :: ym(:)
character(len=*), intent(in), optional :: indexing
end subroutine meshgrid_2d
The optional argument indexing
would have the same influence on the result than in NumPy's meshgrid.
Of course there would also the possibility to implement meshgrid_2d
/ meshgrid_3d
as functions rather than subroutines. In this case the output could either be encapsulated in a single array, or in a derived type.
What do you think?
from stdlib.
Hi @Ivanou34 , welcome and thank you for proposing to contribute to stdlib
.
This issue is still relevant, and I think it is a good one to get familiar with stdlib
If yes, should we aim for the level of genericity attained by NumPy, or is the Matlab version sufficient?
Yes, it would be nice to reach the same level of genericity as NumPy. But as a first step I would suggest to first focus on 2d and 3d. See also e.g., stdlib_stats_mean.fypp
, on how genericity could be achieved with the fypp
preprocessor.
Your propposed API of the subroutine in your comment sounds good to me. A wrapper (e.g. function, derived type) could be added in the future, if needed.
from stdlib.
Thanks for your answer @jvdp1
Should I start working on it, or is it preferable to wait for feedback from other people?
from stdlib.
from stdlib.
Related Issues (20)
- Support sorting arrays of bitsets HOT 2
- bitset count performance HOT 10
- A runtime error occurs when assigning a variable of `bitset_large` HOT 7
- Incorrect result for gamma functions of pure imaginary argument HOT 5
- Test: string_intrinsic (move) failed built with GCC 13.2 HOT 3
- Adding a procedure getting all keys in the hashmaps HOT 2
- Improve fpm build in README for faster getting started HOT 1
- test fault by string_intrisic HOT 1
- 'Sleep' not working when compiled in Win32 (x86) HOT 9
- Compilation error on Linux. Disabling hash/hashmap files compiles rest of the project successfully. HOT 6
- `string_intrinsic (Subprocess aborted)` failed HOT 7
- `bits()` in `bitset_type` returned a non-zero value even though no value is set. HOT 1
- Support for linear algebra HOT 6
- Hashtable write error on exit HOT 7
- use stdlib_math, only : gcd HOT 4
- The file src/stdlib_hashmap_chaining.f90 and two others are set as executable HOT 1
- Support for I/O of standard formats HOT 10
- Memory mapped features HOT 9
- Add `.gitignore` to `stdlib-fpm` deployment for generated test files HOT 1
- hash_functions test fails on i386: `Segmentation fault - invalid memory reference`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stdlib.