DoubleBuffer generator was moved to DoubleBuffer file and factory fun…#485
Open
apomytkina wants to merge 3 commits intoSciProgCentre:devfrom
Open
DoubleBuffer generator was moved to DoubleBuffer file and factory fun…#485apomytkina wants to merge 3 commits intoSciProgCentre:devfrom
apomytkina wants to merge 3 commits intoSciProgCentre:devfrom
Conversation
…ctions were added for LongArray
altavir
requested changes
May 15, 2022
| package space.kscience.kmath.structures | ||
|
|
||
| import kotlin.jvm.JvmInline | ||
| import kotlin.random.Random.Default.nextDouble |
Member
There was a problem hiding this comment.
The default generator should never be used outside of tests
| /** | ||
| * A chunk of doubles of given [size]. | ||
| */ | ||
| public fun nextDoubleBuffer(size: Int): DoubleBuffer = DoubleBuffer(size) { nextDouble() } |
Member
There was a problem hiding this comment.
Are there any reasons to add this to the core?
| @Test | ||
| fun rebinDown() = runTest { | ||
| val h1 = Histogram.uniform1D(DoubleField, 0.01).produce(generator.nextDoubleBuffer(10000)) | ||
| val h1 = Histogram.uniform1D(DoubleField, 0.01).produce(nextDoubleBuffer(10000)) |
|
|
||
| internal fun LongArray.toIntArray(): IntArray = IntArray(size) { this[it].toIntExact() } | ||
|
|
||
| internal fun LongArray.linspace(start: Long, stop: Long) = Array(this.size) { |
Member
There was a problem hiding this comment.
We try not to use Arrays in mathematics because they have some default overrides in Kotling StdLib. You should use Buffer and there are already BufferAlgebra.zero producers for that. There is a DoubleBuffer producer that uses step, we can add a similar one for Longs, but we need to be careful about naming.
| override fun nextBufferBlocking(size: Int): DoubleBuffer { | ||
| val xs = generator.nextDoubleBuffer(size) | ||
| val ys = generator.nextDoubleBuffer(size) | ||
| val xs = nextDoubleBuffer(size) |
Member
There was a problem hiding this comment.
This is a mistake. You are using the default generator instead of provided one. It will give wrong results.
…d into separate interface from LinearAlgebra
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…ctions were added for LongArray