Skip to content

Commit 882eb45

Browse files
authored
Merge pull request #668 from apache/thetaRework
Theta, Tuple convert to Panama FFM
2 parents f6bdeb0 + 90727a8 commit 882eb45

File tree

193 files changed

+6636
-4653
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

193 files changed

+6636
-4653
lines changed

.asf.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ github:
4545
edit_comment_discussion: "Re: [D] {title} ({repository})"
4646
delete_comment_discussion: "Re: [D] {title} ({repository})"
4747

48-
notifications:
49-
commits: commits@dataskethces.apache.org
50-
issues: dev@dataskethces.apache.org
51-
discussions: dev@dataskethces.apache.org
52-
pullrequests_status: dev@dataskethces.apache.org
53-
pullrequests_comment: dev@dataskethces.apache.org
54-
# Send dependabot PRs to commits@ instead
55-
pullrequests_bot_dependabot: commits@dataskethces.apache.org
48+
notifications:
49+
commits: commits@dataskethces.apache.org
50+
issues: dev@dataskethces.apache.org
51+
discussions: dev@dataskethces.apache.org
52+
pullrequests_status: dev@dataskethces.apache.org
53+
pullrequests_comment: dev@dataskethces.apache.org
54+
# Send dependabot PRs to commits@ instead
55+
pullrequests_bot_dependabot: commits@dataskethces.apache.org

.github/workflows/auto-jdk-matrix.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
name: Auto JDK Matrix Test & Install
22

33
on:
4-
push:
5-
paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
6-
branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
7-
pull_request:
8-
paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
9-
# The branches below must be a subset of the branches above
10-
branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
4+
# push:
5+
# branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
6+
# pull_request:
7+
# paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
8+
# # The branches below must be a subset of the branches above
9+
# branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
1110
workflow_dispatch:
1211

1312
env:

.github/workflows/auto-os-matrix.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
name: Auto OS Matrix Test & Install
22

33
on:
4-
push:
5-
paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
6-
branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
7-
pull_request:
8-
paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
9-
# The branches below must be a subset of the branches above
10-
branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
4+
# push:
5+
# paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
6+
# branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
7+
# pull_request:
8+
# paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
9+
# # The branches below must be a subset of the branches above
10+
# branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
1111
workflow_dispatch:
1212

1313
env:

.github/workflows/check_cpp_files.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
name: CPP SerDe Compatibility Test
22

33
on:
4-
push:
5-
paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
6-
branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
7-
pull_request:
8-
paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
9-
# The branches below must be a subset of the branches above
10-
branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
4+
# push:
5+
# paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
6+
# branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
7+
# pull_request:
8+
# paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
9+
# # The branches below must be a subset of the branches above
10+
# branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
1111
workflow_dispatch:
1212

1313
jobs:

.github/workflows/codeql-analysis.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
name: "CodeQL"
22

33
on:
4-
push:
5-
paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
6-
branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
7-
pull_request:
8-
paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
9-
# The branches below must be a subset of the branches above
10-
branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
4+
# push:
5+
# paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
6+
# branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
7+
# pull_request:
8+
# paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
9+
# # The branches below must be a subset of the branches above
10+
# branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
1111
workflow_dispatch:
1212

1313
jobs:

.github/workflows/javadoc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
name: JavaDoc
22

33
on:
4-
push:
5-
branches: main
4+
# push:
5+
# branches: main
66
workflow_dispatch:
77

88
jobs:

pom.xml

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -83,22 +83,22 @@ under the License.
8383
</developers>
8484

8585
<properties>
86-
<datasketches-memory.version>6.0.0</datasketches-memory.version>
86+
<datasketches-memory.version>6.1.0-SNAPSHOT</datasketches-memory.version>
8787

8888
<!-- Test -->
89-
<testng.version>7.10.2</testng.version>
89+
<testng.version>7.11.0</testng.version>
9090
<!-- these are TestNG groups used for excluding / including groups of tests. See profiles section. -->
9191
<testng.generate-java-files>generate_java_files</testng.generate-java-files>
9292
<testng.check-cpp-files>check_cpp_files</testng.check-cpp-files>
9393
<testng.check-cpp-historical-files>check_cpp_historical_files</testng.check-cpp-historical-files>
9494

9595
<!-- System-wide properties -->
9696
<maven.version>3.6.3</maven.version>
97-
<java.version>21</java.version>
98-
<jvm-ffm-flag>--enable-preview</jvm-ffm-flag>
97+
<java.version>24</java.version>
98+
<jvm-arguments></jvm-arguments>
9999
<maven.compiler.source>${java.version}</maven.compiler.source>
100100
<maven.compiler.target>${java.version}</maven.compiler.target>
101-
<argLine>-Xmx4g -Duser.language=en -Duser.country=US -Dfile.encoding=UTF-8 ${jvm-ffm-flag}</argLine>
101+
<argLine>-Xmx4g -Duser.language=en -Duser.country=US -Dfile.encoding=UTF-8 ${jvm-arguments}</argLine>
102102
<charset.encoding>UTF-8</charset.encoding>
103103
<project.build.sourceEncoding>${charset.encoding}</project.build.sourceEncoding>
104104
<project.build.resourceEncoding>${charset.encoding}</project.build.resourceEncoding>
@@ -114,9 +114,9 @@ under the License.
114114
<maven-jar-plugin.version>3.4.2</maven-jar-plugin.version>
115115
<maven-javadoc-plugin.version>3.11.2</maven-javadoc-plugin.version>
116116
<maven-release-plugin.version>3.1.1</maven-release-plugin.version>
117-
<maven-remote-resources-plugin.version>3.2.0</maven-remote-resources-plugin.version>
118117
<maven-source-plugin.version>3.3.1</maven-source-plugin.version>
119-
<maven-surefire-failsafe-plugins.version>3.5.2</maven-surefire-failsafe-plugins.version> <!-- for surefire, failsafe and surefire-report -->
118+
<!-- for surefire, failsafe and surefire-report: -->
119+
<maven-surefire-failsafe-plugins.version>3.5.2</maven-surefire-failsafe-plugins.version>
120120
<maven-toolchains-plugin.version>3.2.0</maven-toolchains-plugin.version>
121121
<!-- com.github plugins -->
122122
<git-commit-id-plugin.version>4.9.10</git-commit-id-plugin.version>
@@ -126,7 +126,7 @@ under the License.
126126
<coveralls-repo-token></coveralls-repo-token>
127127
<coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version>
128128
<!-- org.jacoco.maven plugins -->
129-
<jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
129+
<jacoco-maven-plugin.version>0.8.13</jacoco-maven-plugin.version>
130130
<!-- org.mojohaus plugins -->
131131
<versions-maven-plugin.version>2.18.0</versions-maven-plugin.version>
132132
<!-- other -->
@@ -164,7 +164,7 @@ under the License.
164164
<version>${maven-compiler-plugin.version}</version>
165165
<configuration>
166166
<compilerArgs>
167-
<arg>${jvm-ffm-flag}</arg>
167+
<arg>${jvm-arguments}</arg>
168168
</compilerArgs>
169169
</configuration>
170170
</plugin>
@@ -190,7 +190,7 @@ under the License.
190190
<configuration>
191191
<rules>
192192
<requireJavaVersion>
193-
<version>[21,)</version> <!-- java.version -->
193+
<version>[22,)</version> <!-- java.version -->
194194
</requireJavaVersion>
195195
<requireMavenVersion>
196196
<version>[${maven.version},4.0.0)</version>
@@ -239,7 +239,7 @@ under the License.
239239
<show>public</show>
240240
<doclint>all,-missing</doclint>
241241
<additionalJOptions>
242-
<additionalJOption>${jvm-ffm-flag}</additionalJOption>
242+
<additionalJOption>${jvm-arguments}</additionalJOption>
243243
</additionalJOptions>
244244
</configuration>
245245
<executions>
@@ -285,7 +285,7 @@ under the License.
285285
<artifactId>maven-surefire-plugin</artifactId>
286286
<version>${maven-surefire-failsafe-plugins.version}</version>
287287
<configuration>
288-
<argLine>${jvm-ffm-flag}</argLine>
288+
<argLine>${jvm-arguments}</argLine>
289289
<trimStackTrace>false</trimStackTrace>
290290
<useManifestOnlyJar>false</useManifestOnlyJar>
291291
<redirectTestOutputToFile>true</redirectTestOutputToFile>
@@ -340,6 +340,7 @@ under the License.
340340
<exclude>**/*.sk</exclude>
341341
<exclude>LICENSE</exclude>
342342
<exclude>NOTICE</exclude>
343+
<exclude>**/*.code-workspace</exclude>
343344
</excludes>
344345
</configuration>
345346
</plugin>
@@ -374,6 +375,7 @@ under the License.
374375
</execution>
375376
<execution>
376377
<id>default-report</id>
378+
<phase>test</phase>
377379
<goals>
378380
<goal>report</goal>
379381
</goals>
@@ -668,5 +670,6 @@ under the License.
668670
</pluginManagement>
669671
</build>
670672
</profile>
673+
671674
</profiles>
672675
</project>
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
20+
package org.apache.datasketches.common;
21+
22+
import java.lang.foreign.MemorySegment;
23+
24+
/**
25+
* Methods for inquiring the status of a backing MemorySegment.
26+
*/
27+
public interface MemorySegmentStatus {
28+
29+
/**
30+
* Returns true if this object's internal data is backed by a MemorySegment,
31+
* which may be on-heap or off-heap.
32+
* @return true if this object's internal data is backed by a MemorySegment.
33+
*/
34+
boolean hasMemorySegment();
35+
36+
/**
37+
* Returns true if this object's internal data is backed by an off-heap (direct or native)) MemorySegment.
38+
* @return true if this object's internal data is backed by an off-heap (direct or native)) MemorySegment.
39+
*/
40+
boolean isDirect();
41+
42+
/**
43+
* Returns true if the backing MemorySegment of this object refers to the same MemorySegment of <i>that</i>.
44+
* They can either have the same off-heap memory location and size, or refer to the same on-heap array object.
45+
*
46+
* <p>If both segment are off-heap, they both must have the same starting address and the same size.</p>
47+
*
48+
* <p>For on-heap segments, both segments must be based on or derived from the same array object and neither segment
49+
* can be read-only.</p>
50+
*
51+
* <p>Returns false if either argument is null;</p>
52+
*
53+
* @param that The given MemorySegment.
54+
* @return true if the backing MemorySegment of this object hierarchy refers to the same MemorySegment of <i>that</i>.
55+
*/
56+
boolean isSameResource(final MemorySegment that);
57+
58+
}

src/main/java/org/apache/datasketches/thetacommon/QuickSelect.java renamed to src/main/java/org/apache/datasketches/common/QuickSelect.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
* under the License.
1818
*/
1919

20-
package org.apache.datasketches.thetacommon;
20+
package org.apache.datasketches.common;
2121

2222
/**
2323
* QuickSelect algorithm improved from Sedgewick. Gets the kth order value

0 commit comments

Comments
 (0)