Skip to content

Commit a4948bc

Browse files
committed
Add support for explicitApi
Related-To: #14
1 parent 1c6b100 commit a4948bc

9 files changed

Lines changed: 1439 additions & 2 deletions

File tree

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ plugins {
44
alias(libs.plugins.jetbrainsKotlinJvm) apply false
55
alias(libs.plugins.vanniktech.mavenPublish) apply false
66
alias(libs.plugins.kover)
7+
alias(libs.plugins.binary.compatibility.validator) apply false
78
}
89

910
allprojects {

gradle.properties

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,14 @@ POM_DEVELOPER_URL=https://github.com/sk-ai-net/
1818

1919
mavenCentralPublishing=true
2020
mavenCentralAutomaticPublishing=true
21-
signAllPublications=true
21+
signAllPublications=false
2222

2323
#Gradle
2424
org.gradle.jvmargs=-Xmx2048M -Dfile.encoding=UTF-8 -Dkotlin.daemon.jvm.options\="-Xmx2048M"
2525
org.gradle.caching=true
2626
org.gradle.configuration-cache=true
2727
#Kotlin
2828
kotlin.code.style=official
29-
kotlin.js.compiler=ir
3029
#MPP
3130
kotlin.mpp.enableCInteropCommonization=true
3231
#Android

gradle/libs.versions.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ ktorClientCore = "3.3.1"
99
ktorClientPlugins = "3.1.1"
1010
logbackClassic = "1.5.19"
1111
kover = "0.9.2"
12+
binaryCompatibilityValidator = "0.18.1"
1213

1314

1415
[libraries]
@@ -38,3 +39,5 @@ kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref =
3839
jetbrainsKotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
3940
vanniktech-mavenPublish = { id = "com.vanniktech.maven.publish", version = "0.34.0" }
4041
kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" }
42+
binary-compatibility-validator = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version.ref = "binaryCompatibilityValidator" }
43+

skainet-lang/skainet-lang-api/api/android/skainet-lang-api.api

Lines changed: 624 additions & 0 deletions
Large diffs are not rendered by default.

skainet-lang/skainet-lang-api/api/jvm/skainet-lang-api.api

Lines changed: 624 additions & 0 deletions
Large diffs are not rendered by default.

skainet-lang/skainet-lang-api/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ plugins {
77
alias(libs.plugins.androidLibrary)
88
alias(libs.plugins.vanniktech.mavenPublish)
99
alias(libs.plugins.kover)
10+
alias(libs.plugins.binary.compatibility.validator)
1011
}
1112

1213
kotlin {
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
public final class sk/ainet/lang/tensor/data/DenseTensorDataFactory {
2+
public fun <init> ()V
3+
public final fun fromByteArray ([BLsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
4+
public final fun fromFloatArray (Lsk/ainet/lang/tensor/Shape;[FLsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
5+
public final fun fromFloatArray ([FLsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
6+
public final fun fromIntArray ([ILsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
7+
public final fun full (Lsk/ainet/lang/tensor/Shape;Ljava/lang/Number;Lsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
8+
public final fun matrix ([[Ljava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
9+
public final fun randn (Lsk/ainet/lang/tensor/Shape;FFLsk/ainet/lang/types/DType;Lkotlin/random/Random;)Lsk/ainet/lang/tensor/data/TensorData;
10+
public static synthetic fun randn$default (Lsk/ainet/lang/tensor/data/DenseTensorDataFactory;Lsk/ainet/lang/tensor/Shape;FFLsk/ainet/lang/types/DType;Lkotlin/random/Random;ILjava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
11+
public final fun randomInt (Lsk/ainet/lang/tensor/Shape;Lsk/ainet/lang/types/DType;Lkotlin/random/Random;Lkotlin/jvm/functions/Function2;)Lsk/ainet/lang/tensor/data/TensorData;
12+
public final fun scalar (Ljava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
13+
public final fun vector ([Ljava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
14+
}
15+
16+
public final class sk/ainet/lang/tensor/data/TensorDataFactory {
17+
public fun <init> (Lsk/ainet/lang/tensor/data/DenseTensorDataFactory;)V
18+
public final fun getFactory ()Lsk/ainet/lang/tensor/data/DenseTensorDataFactory;
19+
public final fun matrix ([[Ljava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
20+
public final fun scalar (Ljava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
21+
public final fun vector ([Ljava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
22+
}
23+
24+
public final class sk/ainet/lang/tensor/data/TensordataExtKt {
25+
public static final fun getTensorData (Lsk/ainet/lang/tensor/data/DenseTensorDataFactory;)Lsk/ainet/lang/tensor/data/TensorDataFactory;
26+
}
27+
28+
public final class sk/ainet/lang/tensor/dsl/DenseTensorDataFactoryAdapter : sk/ainet/lang/tensor/dsl/TensorDataFactory {
29+
public fun <init> ()V
30+
public fun full (Lsk/ainet/lang/tensor/Shape;Ljava/lang/Number;Lsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
31+
public fun init (Lsk/ainet/lang/tensor/Shape;Lsk/ainet/lang/types/DType;Lkotlin/jvm/functions/Function1;)Lsk/ainet/lang/tensor/data/TensorData;
32+
public fun ones (Lsk/ainet/lang/tensor/Shape;Lsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
33+
public fun randn (Lsk/ainet/lang/tensor/Shape;FFLsk/ainet/lang/types/DType;Lkotlin/random/Random;)Lsk/ainet/lang/tensor/data/TensorData;
34+
public fun randomInit (Lsk/ainet/lang/tensor/Shape;Lsk/ainet/lang/types/DType;Lkotlin/jvm/functions/Function1;Lkotlin/random/Random;)Lsk/ainet/lang/tensor/data/TensorData;
35+
public fun uniform (Lsk/ainet/lang/tensor/Shape;FFLsk/ainet/lang/types/DType;Lkotlin/random/Random;)Lsk/ainet/lang/tensor/data/TensorData;
36+
public fun zeros (Lsk/ainet/lang/tensor/Shape;Lsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
37+
}
38+
39+
public final class sk/ainet/lang/tensor/dsl/DenseTensorDataFactoryAdapterKt {
40+
public static final fun buildDense (Lsk/ainet/lang/tensor/dsl/TensorInitializer;)Lsk/ainet/lang/tensor/Tensor;
41+
public static final fun denseTensorFactory ()Lsk/ainet/lang/tensor/dsl/TensorDataFactory;
42+
}
43+
44+
public final class sk/ainet/lang/tensor/memory/DenseByteTensorArray : sk/ainet/lang/tensor/data/ItemsAccessor {
45+
public fun <init> (Ljava/util/List;[B)V
46+
public fun <init> (Lsk/ainet/lang/tensor/Shape;[BI)V
47+
public synthetic fun <init> (Lsk/ainet/lang/tensor/Shape;[BIILkotlin/jvm/internal/DefaultConstructorMarker;)V
48+
public fun get ([I)Ljava/lang/Byte;
49+
public synthetic fun get ([I)Ljava/lang/Object;
50+
public final fun getShape ()Lsk/ainet/lang/tensor/Shape;
51+
public fun set ([IB)V
52+
public synthetic fun set ([ILjava/lang/Object;)V
53+
}
54+
55+
public final class sk/ainet/lang/tensor/memory/DenseFloatTensorArray : sk/ainet/lang/tensor/data/ItemsAccessor {
56+
public fun <init> (Ljava/util/List;[F)V
57+
public fun <init> (Lsk/ainet/lang/tensor/Shape;[FI)V
58+
public synthetic fun <init> (Lsk/ainet/lang/tensor/Shape;[FIILkotlin/jvm/internal/DefaultConstructorMarker;)V
59+
public fun get ([I)Ljava/lang/Float;
60+
public synthetic fun get ([I)Ljava/lang/Object;
61+
public final fun getShape ()Lsk/ainet/lang/tensor/Shape;
62+
public fun set ([IF)V
63+
public synthetic fun set ([ILjava/lang/Object;)V
64+
}
65+
66+
public final class sk/ainet/lang/tensor/memory/DenseInt4TensorArray : sk/ainet/lang/tensor/data/ItemsAccessor {
67+
public fun <init> (Ljava/util/List;[B)V
68+
public fun <init> (Lsk/ainet/lang/tensor/Shape;[BI)V
69+
public synthetic fun <init> (Lsk/ainet/lang/tensor/Shape;[BIILkotlin/jvm/internal/DefaultConstructorMarker;)V
70+
public fun get ([I)Ljava/lang/Integer;
71+
public synthetic fun get ([I)Ljava/lang/Object;
72+
public final fun getShape ()Lsk/ainet/lang/tensor/Shape;
73+
public fun set ([II)V
74+
public synthetic fun set ([ILjava/lang/Object;)V
75+
}
76+
77+
public final class sk/ainet/lang/tensor/memory/DenseTernaryTensorArray : sk/ainet/lang/tensor/data/ItemsAccessor {
78+
public static final field Companion Lsk/ainet/lang/tensor/memory/DenseTernaryTensorArray$Companion;
79+
public fun <init> (Ljava/util/List;[B)V
80+
public fun <init> (Lsk/ainet/lang/tensor/Shape;[BI)V
81+
public synthetic fun <init> (Lsk/ainet/lang/tensor/Shape;[BIILkotlin/jvm/internal/DefaultConstructorMarker;)V
82+
public fun get ([I)Ljava/lang/Byte;
83+
public synthetic fun get ([I)Ljava/lang/Object;
84+
public final fun getShape ()Lsk/ainet/lang/tensor/Shape;
85+
public fun set ([IB)V
86+
public synthetic fun set ([ILjava/lang/Object;)V
87+
}
88+
89+
public final class sk/ainet/lang/tensor/memory/DenseTernaryTensorArray$Companion {
90+
public final fun requiredBytesForElements (I)I
91+
}
92+
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
public final class sk/ainet/lang/tensor/data/DenseTensorDataFactory {
2+
public fun <init> ()V
3+
public final fun fromByteArray ([BLsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
4+
public final fun fromFloatArray (Lsk/ainet/lang/tensor/Shape;[FLsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
5+
public final fun fromFloatArray ([FLsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
6+
public final fun fromIntArray ([ILsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
7+
public final fun full (Lsk/ainet/lang/tensor/Shape;Ljava/lang/Number;Lsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
8+
public final fun matrix ([[Ljava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
9+
public final fun randn (Lsk/ainet/lang/tensor/Shape;FFLsk/ainet/lang/types/DType;Lkotlin/random/Random;)Lsk/ainet/lang/tensor/data/TensorData;
10+
public static synthetic fun randn$default (Lsk/ainet/lang/tensor/data/DenseTensorDataFactory;Lsk/ainet/lang/tensor/Shape;FFLsk/ainet/lang/types/DType;Lkotlin/random/Random;ILjava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
11+
public final fun randomInt (Lsk/ainet/lang/tensor/Shape;Lsk/ainet/lang/types/DType;Lkotlin/random/Random;Lkotlin/jvm/functions/Function2;)Lsk/ainet/lang/tensor/data/TensorData;
12+
public final fun scalar (Ljava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
13+
public final fun vector ([Ljava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
14+
}
15+
16+
public final class sk/ainet/lang/tensor/data/TensorDataFactory {
17+
public fun <init> (Lsk/ainet/lang/tensor/data/DenseTensorDataFactory;)V
18+
public final fun getFactory ()Lsk/ainet/lang/tensor/data/DenseTensorDataFactory;
19+
public final fun matrix ([[Ljava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
20+
public final fun scalar (Ljava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
21+
public final fun vector ([Ljava/lang/Object;)Lsk/ainet/lang/tensor/data/TensorData;
22+
}
23+
24+
public final class sk/ainet/lang/tensor/data/TensordataExtKt {
25+
public static final fun getTensorData (Lsk/ainet/lang/tensor/data/DenseTensorDataFactory;)Lsk/ainet/lang/tensor/data/TensorDataFactory;
26+
}
27+
28+
public final class sk/ainet/lang/tensor/dsl/DenseTensorDataFactoryAdapter : sk/ainet/lang/tensor/dsl/TensorDataFactory {
29+
public fun <init> ()V
30+
public fun full (Lsk/ainet/lang/tensor/Shape;Ljava/lang/Number;Lsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
31+
public fun init (Lsk/ainet/lang/tensor/Shape;Lsk/ainet/lang/types/DType;Lkotlin/jvm/functions/Function1;)Lsk/ainet/lang/tensor/data/TensorData;
32+
public fun ones (Lsk/ainet/lang/tensor/Shape;Lsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
33+
public fun randn (Lsk/ainet/lang/tensor/Shape;FFLsk/ainet/lang/types/DType;Lkotlin/random/Random;)Lsk/ainet/lang/tensor/data/TensorData;
34+
public fun randomInit (Lsk/ainet/lang/tensor/Shape;Lsk/ainet/lang/types/DType;Lkotlin/jvm/functions/Function1;Lkotlin/random/Random;)Lsk/ainet/lang/tensor/data/TensorData;
35+
public fun uniform (Lsk/ainet/lang/tensor/Shape;FFLsk/ainet/lang/types/DType;Lkotlin/random/Random;)Lsk/ainet/lang/tensor/data/TensorData;
36+
public fun zeros (Lsk/ainet/lang/tensor/Shape;Lsk/ainet/lang/types/DType;)Lsk/ainet/lang/tensor/data/TensorData;
37+
}
38+
39+
public final class sk/ainet/lang/tensor/dsl/DenseTensorDataFactoryAdapterKt {
40+
public static final fun buildDense (Lsk/ainet/lang/tensor/dsl/TensorInitializer;)Lsk/ainet/lang/tensor/Tensor;
41+
public static final fun denseTensorFactory ()Lsk/ainet/lang/tensor/dsl/TensorDataFactory;
42+
}
43+
44+
public final class sk/ainet/lang/tensor/memory/DenseByteTensorArray : sk/ainet/lang/tensor/data/ItemsAccessor {
45+
public fun <init> (Ljava/util/List;[B)V
46+
public fun <init> (Lsk/ainet/lang/tensor/Shape;[BI)V
47+
public synthetic fun <init> (Lsk/ainet/lang/tensor/Shape;[BIILkotlin/jvm/internal/DefaultConstructorMarker;)V
48+
public fun get ([I)Ljava/lang/Byte;
49+
public synthetic fun get ([I)Ljava/lang/Object;
50+
public final fun getShape ()Lsk/ainet/lang/tensor/Shape;
51+
public fun set ([IB)V
52+
public synthetic fun set ([ILjava/lang/Object;)V
53+
}
54+
55+
public final class sk/ainet/lang/tensor/memory/DenseFloatTensorArray : sk/ainet/lang/tensor/data/ItemsAccessor {
56+
public fun <init> (Ljava/util/List;[F)V
57+
public fun <init> (Lsk/ainet/lang/tensor/Shape;[FI)V
58+
public synthetic fun <init> (Lsk/ainet/lang/tensor/Shape;[FIILkotlin/jvm/internal/DefaultConstructorMarker;)V
59+
public fun get ([I)Ljava/lang/Float;
60+
public synthetic fun get ([I)Ljava/lang/Object;
61+
public final fun getShape ()Lsk/ainet/lang/tensor/Shape;
62+
public fun set ([IF)V
63+
public synthetic fun set ([ILjava/lang/Object;)V
64+
}
65+
66+
public final class sk/ainet/lang/tensor/memory/DenseInt4TensorArray : sk/ainet/lang/tensor/data/ItemsAccessor {
67+
public fun <init> (Ljava/util/List;[B)V
68+
public fun <init> (Lsk/ainet/lang/tensor/Shape;[BI)V
69+
public synthetic fun <init> (Lsk/ainet/lang/tensor/Shape;[BIILkotlin/jvm/internal/DefaultConstructorMarker;)V
70+
public fun get ([I)Ljava/lang/Integer;
71+
public synthetic fun get ([I)Ljava/lang/Object;
72+
public final fun getShape ()Lsk/ainet/lang/tensor/Shape;
73+
public fun set ([II)V
74+
public synthetic fun set ([ILjava/lang/Object;)V
75+
}
76+
77+
public final class sk/ainet/lang/tensor/memory/DenseTernaryTensorArray : sk/ainet/lang/tensor/data/ItemsAccessor {
78+
public static final field Companion Lsk/ainet/lang/tensor/memory/DenseTernaryTensorArray$Companion;
79+
public fun <init> (Ljava/util/List;[B)V
80+
public fun <init> (Lsk/ainet/lang/tensor/Shape;[BI)V
81+
public synthetic fun <init> (Lsk/ainet/lang/tensor/Shape;[BIILkotlin/jvm/internal/DefaultConstructorMarker;)V
82+
public fun get ([I)Ljava/lang/Byte;
83+
public synthetic fun get ([I)Ljava/lang/Object;
84+
public final fun getShape ()Lsk/ainet/lang/tensor/Shape;
85+
public fun set ([IB)V
86+
public synthetic fun set ([ILjava/lang/Object;)V
87+
}
88+
89+
public final class sk/ainet/lang/tensor/memory/DenseTernaryTensorArray$Companion {
90+
public final fun requiredBytesForElements (I)I
91+
}
92+

skainet-lang/skainet-lang-memory/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ plugins {
77
alias(libs.plugins.androidLibrary)
88
alias(libs.plugins.vanniktech.mavenPublish)
99
alias(libs.plugins.kover)
10+
alias(libs.plugins.binary.compatibility.validator)
1011
}
1112

1213
kotlin {

0 commit comments

Comments
 (0)