Fix AttributeBuilder inlining
This commit is contained in:
parent
255d4ba6b7
commit
2fe04040c6
@ -92,7 +92,7 @@ public inline fun <reified T : Any> GaussIntegrator<T>.integrate(
|
|||||||
range: ClosedRange<Double>,
|
range: ClosedRange<Double>,
|
||||||
order: Int = 10,
|
order: Int = 10,
|
||||||
intervals: Int = 10,
|
intervals: Int = 10,
|
||||||
attributesBuilder: AttributesBuilder<UnivariateIntegrand<T>>.() -> Unit = {},
|
noinline attributesBuilder: AttributesBuilder<UnivariateIntegrand<T>>.() -> Unit = {},
|
||||||
noinline function: (Double) -> T,
|
noinline function: (Double) -> T,
|
||||||
): UnivariateIntegrand<T> {
|
): UnivariateIntegrand<T> {
|
||||||
require(range.endInclusive > range.start) { "The range upper bound should be higher than lower bound" }
|
require(range.endInclusive > range.start) { "The range upper bound should be higher than lower bound" }
|
||||||
|
@ -29,6 +29,6 @@ public fun <T> MultivariateIntegrand<T>.withAttributes(
|
|||||||
): MultivariateIntegrand<T> = withAttributes(attributes.modified(block))
|
): MultivariateIntegrand<T> = withAttributes(attributes.modified(block))
|
||||||
|
|
||||||
public inline fun <reified T : Any> MultivariateIntegrand(
|
public inline fun <reified T : Any> MultivariateIntegrand(
|
||||||
attributeBuilder: AttributesBuilder<MultivariateIntegrand<T>>.() -> Unit,
|
noinline attributeBuilder: AttributesBuilder<MultivariateIntegrand<T>>.() -> Unit,
|
||||||
noinline function: (Point<T>) -> T,
|
noinline function: (Point<T>) -> T,
|
||||||
): MultivariateIntegrand<T> = MultivariateIntegrand(safeTypeOf<T>(), Attributes(attributeBuilder), function)
|
): MultivariateIntegrand<T> = MultivariateIntegrand(safeTypeOf<T>(), Attributes(attributeBuilder), function)
|
||||||
|
@ -30,7 +30,7 @@ public fun <T> UnivariateIntegrand<T>.withAttributes(
|
|||||||
): UnivariateIntegrand<T> = withAttributes(attributes.modified(block))
|
): UnivariateIntegrand<T> = withAttributes(attributes.modified(block))
|
||||||
|
|
||||||
public inline fun <reified T : Any> UnivariateIntegrand(
|
public inline fun <reified T : Any> UnivariateIntegrand(
|
||||||
attributeBuilder: AttributesBuilder<UnivariateIntegrand<T>>.() -> Unit,
|
noinline attributeBuilder: AttributesBuilder<UnivariateIntegrand<T>>.() -> Unit,
|
||||||
noinline function: (Double) -> T,
|
noinline function: (Double) -> T,
|
||||||
): UnivariateIntegrand<T> = UnivariateIntegrand(safeTypeOf(), Attributes(attributeBuilder), function)
|
): UnivariateIntegrand<T> = UnivariateIntegrand(safeTypeOf(), Attributes(attributeBuilder), function)
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ public fun AttributesBuilder<UnivariateIntegrand<*>>.integrationNodes(vararg nod
|
|||||||
*/
|
*/
|
||||||
@UnstableKMathAPI
|
@UnstableKMathAPI
|
||||||
public inline fun <reified T : Any> UnivariateIntegrator<T>.integrate(
|
public inline fun <reified T : Any> UnivariateIntegrator<T>.integrate(
|
||||||
attributesBuilder: AttributesBuilder<UnivariateIntegrand<T>>.() -> Unit,
|
noinline attributesBuilder: AttributesBuilder<UnivariateIntegrand<T>>.() -> Unit,
|
||||||
noinline function: (Double) -> T,
|
noinline function: (Double) -> T,
|
||||||
): UnivariateIntegrand<T> = integrate(UnivariateIntegrand(attributesBuilder, function))
|
): UnivariateIntegrand<T> = integrate(UnivariateIntegrand(attributesBuilder, function))
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ public inline fun <reified T : Any> UnivariateIntegrator<T>.integrate(
|
|||||||
@UnstableKMathAPI
|
@UnstableKMathAPI
|
||||||
public inline fun <reified T : Any> UnivariateIntegrator<T>.integrate(
|
public inline fun <reified T : Any> UnivariateIntegrator<T>.integrate(
|
||||||
range: ClosedRange<Double>,
|
range: ClosedRange<Double>,
|
||||||
attributeBuilder: AttributesBuilder<UnivariateIntegrand<T>>.() -> Unit = {},
|
noinline attributeBuilder: AttributesBuilder<UnivariateIntegrand<T>>.() -> Unit = {},
|
||||||
noinline function: (Double) -> T,
|
noinline function: (Double) -> T,
|
||||||
): UnivariateIntegrand<T> {
|
): UnivariateIntegrand<T> {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user