Хотфикс v1.0.1 #1

Merged
Thiflict merged 3 commits from dev/v1.0.1 into master 2026-06-10 06:46:58 +00:00
5 changed files with 40 additions and 6 deletions

View File

@@ -4,7 +4,7 @@ plugins {
} }
group = "ru.thiflict.binaryutils" group = "ru.thiflict.binaryutils"
version = "1.0.0" version = "1.0.1"
repositories { repositories {
mavenCentral() mavenCentral()
@@ -27,7 +27,7 @@ publishing {
create<MavenPublication>("maven") { create<MavenPublication>("maven") {
groupId = "ru.thiflict.binaryutils" groupId = "ru.thiflict.binaryutils"
artifactId = "binary-utils" artifactId = "binary-utils"
version = "1.0.0" version = "1.0.1"
from(components["java"]) from(components["java"])
} }

View File

@@ -1,2 +1,4 @@
# Этот скрипт для обычных юзеров ничего из себя не представляет
# Только для меинтеинера.
export $(cat .env | xargs) export $(cat .env | xargs)
./gradlew publish ./gradlew publish

View File

@@ -1,5 +1,5 @@
# BinaryUtils # BinaryUtils
пока пох на описание лмао Детальная информация о проекте лежит в Wiki
как импортировать в проект: как импортировать в проект:
@@ -12,6 +12,6 @@ repositories {
dependencies { dependencies {
// Добавить в dependencies // Добавить в dependencies
implementation("ru.thiflict.binaryutils:binary-utils:1.0.0") implementation("ru.thiflict.binaryutils:binary-utils:1.0.0") // У релизов всегда актуальная версия
} }
``` ```

View File

@@ -17,14 +17,39 @@ object BinCheck {
* Тип данных для проверяемого числа [Short]. * Тип данных для проверяемого числа [Short].
* Тип данных для проверяемого регистра [Byte] * Тип данных для проверяемого регистра [Byte]
* *
* Регистр *не может быть* **отрицательным** или **больше 15**
*
* Пример: * Пример:
* ``` * ```
* checkRegisterShort(8, 3) * checkRegisterShort(8, 3)
* ``` * ```
* @return true * @return [Boolean]
* @throws IllegalArgumentException
*/ */
fun checkRegisterShort(input: Short, register: Byte): Boolean { fun checkRegisterShort(input: Short, register: Byte, verbose: Boolean = false): Boolean {
// Защиты от дурачков
if (register < 0) throw IllegalArgumentException("Проверяемый регистр не может быть отрицательным!")
if (register > 15) throw IllegalArgumentException("Проверяемый регистр не может быть больше, чем количество регистров Short!")
if (verbose) println("Debug: checkRegisterShort(): Выполнена проверка на IllegalArgumentException")
val binaryString = String.format("%16s", input.toInt().toString(2).replace(' ', '0')) val binaryString = String.format("%16s", input.toInt().toString(2).replace(' ', '0'))
if (verbose) println("Debug: checkRegisterShort(): ${
if (binaryString.startsWith("-")) {
val binaryStringFormatted = binaryString
.drop(1)
.chunked(4)
.joinToString(" ")
"-$binaryStringFormatted"
}
else {
binaryString
.chunked(4)
.joinToString(" ")
}
}")
val index = 15 - register.toInt() val index = 15 - register.toInt()
return binaryString[index] == '1' return binaryString[index] == '1'
} }

View File

@@ -35,4 +35,11 @@ fun main() {
// Тест 10: Проверка значения -1 в регистре 0 (должно быть true, так как все биты установлены) // Тест 10: Проверка значения -1 в регистре 0 (должно быть true, так как все биты установлены)
println("Тест 10: checkRegisterShort(-1, 0) = ${checkRegisterShort(-1, 0.toByte())}") println("Тест 10: checkRegisterShort(-1, 0) = ${checkRegisterShort(-1, 0.toByte())}")
// Тест на кидание IllegalArgumentException №1
// println("Тест 11: checkRegisterShort(5, -1) = ${checkRegisterShort(5, (-1).toByte())}")
// Тест на кидание IllegalArgumentException №2
// println("Тест 11: checkRegisterShort(25, 16) = ${checkRegisterShort(32767.toShort(), 15.toByte(), true)}")
} }