Skip to content

sigurdm/scientific_dart

Repository files navigation

Math Workspace Monorepo

Packages for scientific computing in Dart.

Repository Structure

The repository is structured as a standard Dart workspace monorepo under pubspec.yaml:

  • pkgs/num_dart: The core scientific tensor package. It supports n-dimensional arrays (NDArray), universal element-wise ufuncs, advanced multidimensional stride slicing, logical reductions, and Marsaglia-RNG distributions.
  • pkgs/openblas: Minimalistic FFI bindings layer wrapping OpenBLAS cblas and LAPACK headers. Includes compile hooks to build OpenBLAS from source tarballs.
  • pkgs/pocketfft: Native FFI wrappers around KissFFT mixed-radix discrete Fourier transform plans.

Development Guidelines

1. Packages Resolution

To fetch dependencies and prepare the workspace for all packages at once:

dart pub get

2. Code formatting & Analyzer

Ensure formatting and analyzer guidelines pass perfectly before pushing to a pull request:

dart format .
dart analyze

3. Executing Unit Tests

To run all tests from the root workspace folder:

dart test pkgs/*

4. Generating Coverage Reports

To measure test coverage metrics inside num_dart, navigate to pkgs/num_dart and run:

dart tool/generate_coverage.dart

License

This workspace is licensed under the Apache License, Version 2.0.

Disclaimer

This is not an official Google product.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages