sin
Требования к платформе и версии: Common (1.2), Wasm-JS (1.8), Wasm-WASI (1.8)
expect fun sin(x: Double): Double
Вычисляет синус угла x, заданного в радианах.
Особые случаи:
sin(NaN|+Inf|-Inf)isNaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
val epsilon = 1e-10
println(sin(0.0)) // 0.0
// Results may not be exact, so we're only checking that they are within epsilon from the expected value
// sin(π/2) = 1.0
println("(sin(PI / 2) - 1.0).absoluteValue < epsilon is ${(sin(PI / 2) - 1.0).absoluteValue < epsilon}") // true
// sin(-π/2) = -1.0
println("(sin(-PI / 2) - -1.0).absoluteValue < epsilon is ${(sin(-PI / 2) - -1.0).absoluteValue < epsilon}") // true
// special cases
println(sin(Double.NaN)) // NaN
println(sin(Double.POSITIVE_INFINITY)) // NaN
println(sin(Double.NEGATIVE_INFINITY)) // NaN
//sampleEnd
}
expect fun sin(x: Float): Float
Вычисляет синус угла x, заданного в радианах.
Особые случаи:
sin(NaN|+Inf|-Inf)isNaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
val epsilon = 1e-6f
println(sin(0.0f)) // 0.0
// Results may not be exact, so we're only checking that they are within epsilon from the expected value
// sin(π/2) = 1.0
println("(sin(PI.toFloat() / 2) - 1.0f).absoluteValue < epsilon is ${(sin(PI.toFloat() / 2) - 1.0f).absoluteValue < epsilon}") // true
// sin(-π/2) = -1.0
println("(sin(-PI.toFloat() / 2) - -1.0f).absoluteValue < epsilon is ${(sin(-PI.toFloat() / 2) - -1.0f).absoluteValue < epsilon}") // true
// special cases
println(sin(Float.NaN)) // NaN
println(sin(Float.POSITIVE_INFINITY)) // NaN
println(sin(Float.NEGATIVE_INFINITY)) // NaN
//sampleEnd
}
Требования к платформе и версии: JS (1.2), JVM (1.2)
actual inline fun sin(x: Double): Double
Вычисляет синус угла x, заданного в радианах.
Особые случаи:
sin(NaN|+Inf|-Inf)isNaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
val epsilon = 1e-10
println(sin(0.0)) // 0.0
// Results may not be exact, so we're only checking that they are within epsilon from the expected value
// sin(π/2) = 1.0
println("(sin(PI / 2) - 1.0).absoluteValue < epsilon is ${(sin(PI / 2) - 1.0).absoluteValue < epsilon}") // true
// sin(-π/2) = -1.0
println("(sin(-PI / 2) - -1.0).absoluteValue < epsilon is ${(sin(-PI / 2) - -1.0).absoluteValue < epsilon}") // true
// special cases
println(sin(Double.NaN)) // NaN
println(sin(Double.POSITIVE_INFINITY)) // NaN
println(sin(Double.NEGATIVE_INFINITY)) // NaN
//sampleEnd
}
actual inline fun sin(x: Float): Float
Вычисляет синус угла x, заданного в радианах.
Особые случаи:
sin(NaN|+Inf|-Inf)isNaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
val epsilon = 1e-6f
println(sin(0.0f)) // 0.0
// Results may not be exact, so we're only checking that they are within epsilon from the expected value
// sin(π/2) = 1.0
println("(sin(PI.toFloat() / 2) - 1.0f).absoluteValue < epsilon is ${(sin(PI.toFloat() / 2) - 1.0f).absoluteValue < epsilon}") // true
// sin(-π/2) = -1.0
println("(sin(-PI.toFloat() / 2) - -1.0f).absoluteValue < epsilon is ${(sin(-PI.toFloat() / 2) - -1.0f).absoluteValue < epsilon}") // true
// special cases
println(sin(Float.NaN)) // NaN
println(sin(Float.POSITIVE_INFINITY)) // NaN
println(sin(Float.NEGATIVE_INFINITY)) // NaN
//sampleEnd
}
Требования к платформе и версии: Native (1.3)
actual external fun sin(x: Double): Double
Вычисляет синус угла x, заданного в радианах.
Особые случаи:
sin(NaN|+Inf|-Inf)isNaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
val epsilon = 1e-10
println(sin(0.0)) // 0.0
// Results may not be exact, so we're only checking that they are within epsilon from the expected value
// sin(π/2) = 1.0
println("(sin(PI / 2) - 1.0).absoluteValue < epsilon is ${(sin(PI / 2) - 1.0).absoluteValue < epsilon}") // true
// sin(-π/2) = -1.0
println("(sin(-PI / 2) - -1.0).absoluteValue < epsilon is ${(sin(-PI / 2) - -1.0).absoluteValue < epsilon}") // true
// special cases
println(sin(Double.NaN)) // NaN
println(sin(Double.POSITIVE_INFINITY)) // NaN
println(sin(Double.NEGATIVE_INFINITY)) // NaN
//sampleEnd
}
actual external fun sin(x: Float): Float
Вычисляет синус угла x, заданного в радианах.
Особые случаи:
sin(NaN|+Inf|-Inf)isNaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
val epsilon = 1e-6f
println(sin(0.0f)) // 0.0
// Results may not be exact, so we're only checking that they are within epsilon from the expected value
// sin(π/2) = 1.0
println("(sin(PI.toFloat() / 2) - 1.0f).absoluteValue < epsilon is ${(sin(PI.toFloat() / 2) - 1.0f).absoluteValue < epsilon}") // true
// sin(-π/2) = -1.0
println("(sin(-PI.toFloat() / 2) - -1.0f).absoluteValue < epsilon is ${(sin(-PI.toFloat() / 2) - -1.0f).absoluteValue < epsilon}") // true
// special cases
println(sin(Float.NaN)) // NaN
println(sin(Float.POSITIVE_INFINITY)) // NaN
println(sin(Float.NEGATIVE_INFINITY)) // NaN
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.math/sin.html