io7m | single-page | multi-page | jtensors User Manual 11.0.1-SNAPSHOT
Front Matter
Previous
Front Matter
Up
2. Conventions
Next

# 1. Package Information

- 1.1. Orientation
  - 1.1.1. Overview
  - 1.1.2. Efficiency
  - 1.1.3. Correctness
- 1.2. Installation
  - 1.2.1. Source compilation
  - 1.2.2. Maven
- 1.3. Platform Specific Issues
- 1.4. License

## 1.1. Orientation

## 1.1.1. Overview

1
The com.io7m.jtensors package implements a set of efficient vector, matrix, and quaternion classes intended for use in computer graphics applications.

## 1.1.2. Efficiency

1
The package uses simple and efficient algorithms for all operations. The design of the package distinguishes between computation and storage tensors. This allows code that computes with vectors to consist entirely of static, monomorphic method calls - the type of code that produces the best results under Java virtual machines that use JIT compilation.
2
The package also provides storage tensors that are backed by direct memory, allowing for zero-copy sharing of structures with native code.

## 1.1.3. Correctness

1
The package includes a large battery of automated tests that attempt to verify the correctness of the included implementations. As of the time of writing, the tests manage 100% coverage for all code.

## 1.2. Installation

## 1.2.1. Source compilation

1
The project can be compiled and installed with Maven:

### 1.2.1.2. Compilation

    $ mvn -C clean install

## 1.2.2. Maven

1
Regular releases are made to Maven Central.
2
All io7m.com packages use Semantic Versioning [1], 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.

## 1.3. Platform Specific Issues

1
There are no known platform-specific issues.

## 1.4. License

1
All files distributed with the com.io7m.jtensors package are placed under the following license:

### 1.4.2. License

    Copyright © 2023 Mark Raynsford <code@io7m.com> 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.

## Footnotes

1 | https://semver.org References to this footnote: 1

Front Matter
Previous
Front Matter
Up
2. Conventions
Next
io7m | single-page | multi-page | jtensors User Manual 11.0.1-SNAPSHOT