mojishiki
About
This is a Kotlin code that allows you to calculate literal-expression.
Mojishiki means literal-expression in Japanese
Features
- 100% rational calculation
- Pure Kotlin
- Multiplatform
Installation
Grade
implementation("io.github.arashiyama11:mojishiki:2.0.0")
implementation 'io.github.arashiyama11:mojishiki:2.0.0'
Maven
<dependency>
<groupId>io.github.arashiyama11</groupId>
<artifactId>mojishiki</artifactId>
<version>2.0.0</version>
</dependency>
Example usage
- Basic arithmetic operations
Polynomial("1+5*2-8/2").evaluate()
Polynomial("2x-y+3x+y").evaluate()
(Polynomial("2x+y+1") + Polynomial("2y-3")).evaluate()
- Expansion and factorization
Polynomial("(x+y)(x+2)").evaluate()
Polynomial("6x^2+7x+2").factorization()
- Functions and Complex number
Polynomial("sin(1)")
.approximation()
.toStringWith(decimal = true)
Polynomial("sqrt(-25)").approximation()
Polynomial("3i*2i").evaluate()
Polynomial("sqrt(-2)sqrt(-2)").evaluate()
Supporting functions are
- sin cos tan
- log
- sqrt abs
- min max
- Substitute
Polynomial("pr^2")
.substitute(mapOf('p' to Rational(3.14), 'r' to Rational(3)))
- Solve as equation
NOTE:Unfactorable equations of degree 3 or higher cannot be solved
Polynomial("2x-4").solve()
Polynomial("x^2+5x+4").solve()
- Basic differentiation and integration
Polynomial("3x^2+5x+1").differential()
Polynomial("3sin(3cos(4x))").differential()
Polynomial("sin(x)+cos(y)").integral(Letter('y'))
Polynomial("8x^3+4x").integral(from = Rational(0), to = Rational(3))
Licence
MIT