GithubHelp home page GithubHelp logo

chrissimpkins / vectora Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 0.0 297 KB

A Rust library for n-dimensional vector computation with real and complex scalar data

Home Page: https://docs.rs/crate/vectora/latest

License: Apache License 2.0

Rust 100.00%
vector vector-math vector-computations 2d 3d rust rust-lang scalar rust-crate rust-library

vectora's Introduction

A Rust library for vector computation

Crates.io docs.rs GitHub

Test Status

stable toolchain unit tests beta toolchain unit tests clippy lints rustfmt check

About

Vectora is a library for n-dimensional vector computation with real and complex scalar types. The main library entry point is the Vector struct. Please see the Gettting Started Guide for a detailed library API overview with examples.

User documentation

User documentation is available at https://docs.rs/vectora.

Minimum Rust Version Compatibility Policy

This project parameterizes generics by constants and relies on the constant generics feature support stabilized in Rust v1.51.0.

The minimum supported rustc version is believed to be v1.51.0.

Include Vectora in Your Project

Import the library in the [dependencies] section of your Cargo.toml file:

Cargo.toml

[dependencies]
vectora = "0.8.1"

Developer documentation

Contributing

L4 Header Issues

The issue tracker is available on the GitHub repository. Don't be shy. Please report any issues that you identify so that we can address them.

L4 Header Source contributions

Contributions are welcomed. Submit your changes as a GitHub pull request. Please add new tests for source contributions that our current test suite does not cover.

L4 Header Clone the repository

git clone https://github.com/chrissimpkins/vectora.git

L4 Header Testing

The project is tested with the latest GitHub Actions macOS, Linux (Ubuntu), and Windows environment runners using the stable and beta rustc toolchains.

Unit and doc test suite

Edit the source files, then run the unit and doc test suite locally with the command:

cargo test
Unit tests only
cargo test --lib
Doc tests only
cargo test --doc
Clippy lints

Clippy lints are not executed with the above commands. Use the following to lint Rust source files with clippy:

cargo clippy -- -D warnings
Fuzzing

This crate supports cargo fuzz + libFuzzer based fuzzing with the nightly rustc toolchain in supported environments.

Install the rustc nightly toolchain.

Then, install cargo-fuzz with:

cargo +nightly install -f cargo-fuzz

Edit the fuzz target source in the fuzz/fuzz_vectora.rs file and begin fuzzing with the command:

cargo +nightly fuzz run fuzz_vectora

Please see the Fuzzing with cargo-fuzz chapter of the Rust Fuzz book for additional documentation.

L4 Header Documentation contributions

The docs.rs documentation is authored in the Rust source files. Edit the text and build a local version of the project documentation for review with the command:

cargo doc

The documentation index.html page can be found on the following relative path from the repository's root: target/doc/vectora/index.html.

Submit your doc edits as a GitHub pull request.

Changes

Please see CHANGELOG.md.

License

Vectora is released under the Apache License, v2.0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.