KFRlib
KFRlib is an open-source cross-platform C++ DSP framework written in C++. It is covered by a dual GPL/commercial license.
Developer(s) | KFRlib |
---|---|
Stable release | 1.0
/ August 12, 2016 |
Written in | C++ |
Operating system | OS X, Linux, Microsoft Windows, iOS, Android |
Type | library or framework |
License | Proprietary, GPL |
Website | www |
Official support
Supported platforms
KFR is supported on the following platforms.[1]
- Mac OS X
- Linux
- Microsoft Windows
- iOS
- Android
Features
- Optimized for ARM NEON,[2] SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 instruction sets
- Fast Fourier transform
- Convolution
- Finite impulse response filters
- Infinite impulse response filters
- Digital biquad filter
- Sample rate conversion
- Window function
- Goertzel algorithm
- Digital delay line
- Pseudorandom number generator
- SIMD versions of many C mathematical functions
gollark: It also does have the whole "anything which implements the right functions implements an interface" thing, which seems very horrible to me as a random change somewhere could cause compile errors with no good explanation.
gollark: - `make`/`new` are basically magic- `range` is magic too - what it does depends on the number of return values you use, or something. Also, IIRC user-defined types can't implement it- Generics are available for all of, what, three builtin types? Maps, slices and channels, if I remember right.- `select` also only works with the built-in channels- Constants: they can only be something like four types, and what even is `iota` doing- The multiple return values can't be used as tuples or anything. You can, as far as I'm aware, only return two (or, well, more than one) things at once, or bind two returns to two variables, nothing else.- no operator overloading- it *kind of* has exceptions (panic/recover), presumably because they realized not having any would be very annoying, but they're not very usable- whether reading from a channel is blocking also depends how many return values you use because of course
gollark: What, you mean no it doesn't have weird special cases everywhere?
gollark: It pretends to be "simple", but it isn't because there are bizarre special cases everywhere to make stuff appear to work.
gollark: So of course, lol no generics.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.