From 1f364c2f1d6ac016c504983ab3afcf555c3174e4 Mon Sep 17 00:00:00 2001 From: Mark Raynsford Date: Fri, 3 May 2024 21:29:53 +0000 Subject: [PATCH] Eliminate jstructural Affects: https://github.com/io7m-com/.github/issues/2 --- README.in | 29 +++ README.md | 30 +++ com.io7m.ieee754b16.documentation/pom.xml | 213 ------------------ .../src/main/assembly/documentation.xml | 20 -- .../documentation/IDocumentation.java | 52 ----- .../documentation/package-info.java | 22 -- .../src/main/java/module-info.java | 25 -- .../io7m/ieee754b16/documentation/brand.xml | 9 - .../documentation/documentation.css | 63 ------ .../documentation/documentation.xml | 160 ------------- pom.xml | 8 - 11 files changed, 59 insertions(+), 572 deletions(-) create mode 100644 README.in delete mode 100644 com.io7m.ieee754b16.documentation/pom.xml delete mode 100644 com.io7m.ieee754b16.documentation/src/main/assembly/documentation.xml delete mode 100644 com.io7m.ieee754b16.documentation/src/main/java/com/io7m/ieee754b16/documentation/IDocumentation.java delete mode 100644 com.io7m.ieee754b16.documentation/src/main/java/com/io7m/ieee754b16/documentation/package-info.java delete mode 100644 com.io7m.ieee754b16.documentation/src/main/java/module-info.java delete mode 100644 com.io7m.ieee754b16.documentation/src/main/resources/com/io7m/ieee754b16/documentation/brand.xml delete mode 100644 com.io7m.ieee754b16.documentation/src/main/resources/com/io7m/ieee754b16/documentation/documentation.css delete mode 100644 com.io7m.ieee754b16.documentation/src/main/resources/com/io7m/ieee754b16/documentation/documentation.xml diff --git a/README.in b/README.in new file mode 100644 index 0000000..affa7b3 --- /dev/null +++ b/README.in @@ -0,0 +1,29 @@ + +## ieee754b16 + +Java functions to convert to and from the [IEEE754](https://en.wikipedia.org/wiki/IEEE_754) +`binary16` type. + +## Features + +* Conversion between `double`/`float` and `binary16` values. +* High coverage test suite (100%, minus an unreachable private constructor). +* [OSGi-ready](https://www.osgi.org/) +* [JPMS-ready](https://en.wikipedia.org/wiki/Java_Platform_Module_System) +* ISC license. + +## Usage + +The package uses the `char` type to store values of the `binary16` type. +To convert a double-precision value `32.0` to `binary16` format: + +``` +final char k = Binary16.packDouble(32.0); +``` + +To unpack values from the `binary16` format: + +``` +final double r = Binary16.unpackDouble(k); +``` + diff --git a/README.md b/README.md index 6789e3f..0085623 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,33 @@ ieee754b16 | OpenJDK (Temurin) LTS | Linux | [![Build (OpenJDK (Temurin) LTS, Linux)](https://img.shields.io/github/actions/workflow/status/io7m-com/ieee754b16/main.linux.temurin.lts.yml)](https://www.github.com/io7m-com/ieee754b16/actions?query=workflow%3Amain.linux.temurin.lts)| | OpenJDK (Temurin) Current | Windows | [![Build (OpenJDK (Temurin) Current, Windows)](https://img.shields.io/github/actions/workflow/status/io7m-com/ieee754b16/main.windows.temurin.current.yml)](https://www.github.com/io7m-com/ieee754b16/actions?query=workflow%3Amain.windows.temurin.current)| | OpenJDK (Temurin) LTS | Windows | [![Build (OpenJDK (Temurin) LTS, Windows)](https://img.shields.io/github/actions/workflow/status/io7m-com/ieee754b16/main.windows.temurin.lts.yml)](https://www.github.com/io7m-com/ieee754b16/actions?query=workflow%3Amain.windows.temurin.lts)| + +## ieee754b16 + +Java functions to convert to and from the [IEEE754](https://en.wikipedia.org/wiki/IEEE_754) +`binary16` type. + +## Features + +* Conversion between `double`/`float` and `binary16` values. +* High coverage test suite (100%, minus an unreachable private constructor). +* [OSGi-ready](https://www.osgi.org/) +* [JPMS-ready](https://en.wikipedia.org/wiki/Java_Platform_Module_System) +* ISC license. + +## Usage + +The package uses the `char` type to store values of the `binary16` type. +To convert a double-precision value `32.0` to `binary16` format: + +``` +final char k = Binary16.packDouble(32.0); +``` + +To unpack values from the `binary16` format: + +``` +final double r = Binary16.unpackDouble(k); +``` + + diff --git a/com.io7m.ieee754b16.documentation/pom.xml b/com.io7m.ieee754b16.documentation/pom.xml deleted file mode 100644 index 5abde01..0000000 --- a/com.io7m.ieee754b16.documentation/pom.xml +++ /dev/null @@ -1,213 +0,0 @@ - - - - 4.0.0 - - com.io7m.ieee754b16 - com.io7m.ieee754b16 - 4.0.0-SNAPSHOT - - com.io7m.ieee754b16.documentation - - jar - com.io7m.ieee754b16.documentation - Functions for converting to/from IEEE754 binary16 values (Documentation) - https://www.io7m.com/software/ieee754b16 - - - true - - - - - ${project.groupId} - com.io7m.ieee754b16.core - ${project.version} - - - - org.osgi - org.osgi.annotation.versioning - provided - - - org.osgi - org.osgi.annotation.bundle - provided - - - - com.io7m.primogenitor - com.io7m.primogenitor.support - - - - - - - - org.apache.maven.plugins - maven-resources-plugin - - - copy-documentation-resources - - copy-resources - - generate-resources - - ${project.build.directory}/documentation/ - - - src/main/resources/com/io7m/ieee754b16/documentation/ - true - - - - - - - - - - com.io7m.jstructural - io7m-jstructural-maven-plugin - - - make-documentation-single - prepare-package - - transform - - - ${project.build.directory}/documentation/documentation.xml - ${project.build.directory}/documentation/ - ${project.build.directory}/documentation/brand.xml - XHTML_SINGLE - - - - make-documentation-multi - prepare-package - - transform - - - ${project.build.directory}/documentation/documentation.xml - ${project.build.directory}/documentation/ - ${project.build.directory}/documentation/brand.xml - XHTML_MULTI - - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - unpack-sources - package - - unpack-dependencies - - - module-info.java - ${project.groupId} - sources - false - ${project.build.directory}/javadoc-sources - - - - make-classpath - package - - build-classpath - - - ${project.build.directory}/javadoc-classpath - - - - - - - - org.codehaus.mojo - exec-maven-plugin - - - - java - - package - - com.io7m.primogenitor.support.TrivialJavadoc - - ${project.build.directory}/javadoc-sources - ${project.build.directory}/javadoc-classpath - ${project.build.directory}/documentation/apidocs - ${project.build.directory}/javadoc-log.txt - ${project.build.directory}/javadoc-options - - - - - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - src/main/assembly/documentation.xml - - - - - make-assembly - package - - single - - - false - - - - - - - - - org.codehaus.mojo - truezip-maven-plugin - false - - - copy-site-documentation - - copy - - site - - true - - ${project.build.directory}/${project.name}-${project.version}.zip/${project.name}-${project.version}/ - ${project.parent.build.directory}/minisite/documentation/ - - - - - - - - - diff --git a/com.io7m.ieee754b16.documentation/src/main/assembly/documentation.xml b/com.io7m.ieee754b16.documentation/src/main/assembly/documentation.xml deleted file mode 100644 index b888871..0000000 --- a/com.io7m.ieee754b16.documentation/src/main/assembly/documentation.xml +++ /dev/null @@ -1,20 +0,0 @@ - - documentation - ${project.name}-${project.version} - - zip - - - - ${project.build.directory}/documentation - / - - - ${project.build.directory}/site/apidocs - /apidocs - - - diff --git a/com.io7m.ieee754b16.documentation/src/main/java/com/io7m/ieee754b16/documentation/IDocumentation.java b/com.io7m.ieee754b16.documentation/src/main/java/com/io7m/ieee754b16/documentation/IDocumentation.java deleted file mode 100644 index d31a272..0000000 --- a/com.io7m.ieee754b16.documentation/src/main/java/com/io7m/ieee754b16/documentation/IDocumentation.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright © 2015 Mark Raynsford https://www.io7m.com - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY - * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR - * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -package com.io7m.ieee754b16.documentation; - -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; - -/** - * Functions for retrieving the documentation. - */ - -public final class IDocumentation -{ - private IDocumentation() - { - - } - - /** - * @return The documentation URI - */ - - public static URI getDocumentationXMLLocation() - { - try { - final URL url = - IDocumentation.class - .getResource("/com/io7m/ieee754b16/documentation/documentation.xml"); - assert url != null; - final URI uri = url.toURI(); - assert uri != null; - return uri; - } catch (final URISyntaxException e) { - throw new AssertionError(e); - } - } -} diff --git a/com.io7m.ieee754b16.documentation/src/main/java/com/io7m/ieee754b16/documentation/package-info.java b/com.io7m.ieee754b16.documentation/src/main/java/com/io7m/ieee754b16/documentation/package-info.java deleted file mode 100644 index ae6e2b7..0000000 --- a/com.io7m.ieee754b16.documentation/src/main/java/com/io7m/ieee754b16/documentation/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright © 2015 Mark Raynsford https://www.io7m.com - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY - * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR - * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -/** - * Documentation. - */ - -package com.io7m.ieee754b16.documentation; - diff --git a/com.io7m.ieee754b16.documentation/src/main/java/module-info.java b/com.io7m.ieee754b16.documentation/src/main/java/module-info.java deleted file mode 100644 index f5d41dd..0000000 --- a/com.io7m.ieee754b16.documentation/src/main/java/module-info.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright © 2015 Mark Raynsford https://www.io7m.com - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY - * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR - * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -module com.io7m.ieee754b16.documentation -{ - requires static org.osgi.annotation.versioning; - requires static org.osgi.annotation.bundle; - - requires com.io7m.ieee754b16.core; - - exports com.io7m.ieee754b16.documentation; -} \ No newline at end of file diff --git a/com.io7m.ieee754b16.documentation/src/main/resources/com/io7m/ieee754b16/documentation/brand.xml b/com.io7m.ieee754b16.documentation/src/main/resources/com/io7m/ieee754b16/documentation/brand.xml deleted file mode 100644 index c391a15..0000000 --- a/com.io7m.ieee754b16.documentation/src/main/resources/com/io7m/ieee754b16/documentation/brand.xml +++ /dev/null @@ -1,9 +0,0 @@ - -
-
- io7m -
-
- ${project.parent.name} ${project.version} -
-
\ No newline at end of file diff --git a/com.io7m.ieee754b16.documentation/src/main/resources/com/io7m/ieee754b16/documentation/documentation.css b/com.io7m.ieee754b16.documentation/src/main/resources/com/io7m/ieee754b16/documentation/documentation.css deleted file mode 100644 index 2b9cd43..0000000 --- a/com.io7m.ieee754b16.documentation/src/main/resources/com/io7m/ieee754b16/documentation/documentation.css +++ /dev/null @@ -1,63 +0,0 @@ -.brand -{ - font-size: 75%; - font-family: monospace; -} - -.brand_left -{ - float: left; -} - -.brand_right -{ - text-align: right; -} - -.package -{ - font-family: monospace; - font-weight: bold; -} - -.attribute, -.class, -.command, -.constant, -.element, -.file, -.function, -.keyword, -.type -{ - font-family: monospace; -} - -.example, .license, .terminal -{ - font-family: monospace; - border: 1px solid #ccc; - padding-top: 1.0em; - padding-left: 1.0em; - padding-bottom: 1.0em; - margin-top: 1.2em; - overflow: auto; -} - -.dependencies table td -{ - padding-right: 3.0em; - font-family: monospace; - font-size: 9pt; -} - -.platforms table td -{ - padding-right: 2.0em; -} -.platforms table tbody, -.platforms table thead -{ - font-size: 8pt; - font-family: monospace; -} diff --git a/com.io7m.ieee754b16.documentation/src/main/resources/com/io7m/ieee754b16/documentation/documentation.xml b/com.io7m.ieee754b16.documentation/src/main/resources/com/io7m/ieee754b16/documentation/documentation.xml deleted file mode 100644 index 2825cc4..0000000 --- a/com.io7m.ieee754b16.documentation/src/main/resources/com/io7m/ieee754b16/documentation/documentation.xml +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - ${project.parent.name} ${project.version} Documentation - documentation.css - - - - Package Information - - - Orientation - - Overview - - The ieee754b16 package implements - a set of functions for converting floating point values to and - from the binary16 type defined by - IEEE 754:2008. - - - - - - Installation - - Source compilation - - The project can be compiled and installed with - Maven: - - - - - - - - Maven - - Regular releases are made to the - Central Repository, - so it's possible to use the ${project.parent.name} - package in your projects with the following Maven dependency: - - - - ${project.groupId} - ${project.parent.artifactId}-core - ${project.version} -]]> - - - All io7m.com - packages use Semantic Versioning - - http://semver.org - , which implies that it is always safe to use version ranges - with an exclusive upper bound equal to the next major version - the API of - the package will not change in a backwards-incompatible manner before the - next major version. - - - - - - Platform Specific Issues - - There are currently no known platform-specific issues. - - - - - License - - All files distributed with the ${project.parent.name} - package are placed under the following license: - http://io7m.com - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.]]> - - - - - - - Usage - - - Usage - - The package uses the char type to store - values of the binary16 type. To convert - a double-precision value 32.0 to - binary16 format: - - - Packing - - - - To unpack values from the binary16 format: - - - Packing - - - - Equivalent functions exist for the single precision - float type. Consult the - Javadoc for - the full list. - - - - - - API Reference - - - Javadoc - - API documentation for the package is provided via the - included Javadoc. - - - - - diff --git a/pom.xml b/pom.xml index 7f43e0d..313959c 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,6 @@ com.io7m.ieee754b16.core - com.io7m.ieee754b16.documentation com.io7m.ieee754b16.tests @@ -120,13 +119,6 @@ - - - com.io7m.jstructural - io7m-jstructural-maven-plugin - 5.0.0 - - com.github.spotbugs