Feature: Polynomials and rational functions #469

Merged
lounres merged 132 commits from feature/polynomials into dev 2022-07-28 18:04:06 +03:00
Showing only changes of commit 7e328a5dbf - Show all commits

View File

@ -157,7 +157,8 @@ public class NumberedPolynomialTermSignatureBuilder {
signature[this] = deg signature[this] = deg
} }
} }
public infix fun Int.to(deg: UInt): Unit = this inPowerOf deg public infix fun Int.pow(deg: UInt): Unit = this inPowerOf deg
public infix fun Int.of(deg: UInt): Unit = this inPowerOf deg
} }
@NumberedPolynomialConstructorDSL @NumberedPolynomialConstructorDSL
@ -168,6 +169,7 @@ public class NumberedPolynomialBuilderOverRing<C> internal constructor(internal
val signature = NumberedPolynomialTermSignatureBuilder().apply(block).build() val signature = NumberedPolynomialTermSignatureBuilder().apply(block).build()
coefficients[signature] = context { coefficients.getOrElse(signature) { zero } + this@invoke } coefficients[signature] = context { coefficients.getOrElse(signature) { zero } + this@invoke }
} }
public infix fun C.with(block: NumberedPolynomialTermSignatureBuilder.() -> Unit): Unit = this.invoke(block)
} }
@NumberedPolynomialConstructorDSL @NumberedPolynomialConstructorDSL