Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -1,29 +1,26 @@
name: example_web_deploy
name: documentation_web_deploy

on:
push:
branches:
- master

jobs:
flutter_web_example_deployment:
name: Equations example - Flutter web deployment
documentation_deployment:
name: HTML Documentation deployment
runs-on: macos-latest
defaults:
run:
working-directory: example/flutter_example
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: 'stable'

- name: Installing dependencies
run: flutter pub get
run: dart pub get

- name: Building for the web
run: flutter build web --csp
- name: Generating the documentation
run: dart doc

- name: Setting the git username
run: git config user.name github-actions
Expand All @@ -32,10 +29,10 @@ jobs:
run: git config user.email github-actions@github.com

- name: Adding web source
run: git --work-tree build/web add --all
run: git --work-tree doc/api add --all

- name: Adding a commit message
run: git commit -m "Automatic deployment by github-actions"

- name: Automatic web deployment
run: git push origin HEAD:equations_web --force
run: git push origin HEAD:equations_doc --force
76 changes: 10 additions & 66 deletions .github/workflows/equations_ci.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
name: equations_ci

on:
push:
branches:
- master
- develop
pull_request:
paths-ignore:
- "**.md"
types:
- opened
- reopened
- synchronize
- ready_for_review

jobs:
verify_equation_package:
name: Equations package action
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: dart-lang/setup-dart@v1

- name: Installing dependencies
Expand All @@ -29,66 +33,6 @@ jobs:
dart pub global run coverage:test_with_coverage

- name: Making sure that code coverage is 100
uses: VeryGoodOpenSource/very_good_coverage@v2
uses: VeryGoodOpenSource/very_good_coverage@v3
with:
min_coverage: 100

- name: Uploading coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}

verify_equation_flutter_example:
name: Flutter example
needs: [verify_equation_package]
runs-on: windows-latest
defaults:
run:
working-directory: example/flutter_example
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'

- name: Installing dependencies
run: flutter pub get

- name: Making sure the package is formatted
run: dart format --set-exit-if-changed .

- name: Making sure that there are no analysis warnings or errors
run: flutter analyze --fatal-infos --fatal-warnings lib test

- name: Runing unit, widget and golden tests
run: flutter test --coverage

- name: Making sure that code coverage is 100
uses: VeryGoodOpenSource/very_good_coverage@v2
with:
min_coverage: 100
path: example/flutter_example/coverage/lcov.info

verify_equation_dart_example:
name: Dart example
needs: [verify_equation_flutter_example]
runs-on: windows-latest
defaults:
run:
working-directory: example/dart_example
steps:
- uses: actions/checkout@v3
- uses: dart-lang/setup-dart@v1

- name: Installing dependencies
run: dart pub get

- name: Making sure the package is formatted
run: dart format --set-exit-if-changed .

- name: Making sure that there are no analysis warnings or errors
run: dart analyze --fatal-infos --fatal-warnings lib test

- name: Runing unit tests
run: dart test
37 changes: 0 additions & 37 deletions .github/workflows/integration_tests.yml

This file was deleted.

52 changes: 33 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
## 6.0.0
- **BREAKING**: Renamed `DurandKerner` class to `GenericPolynomial`
- **BREAKING**: The `AlgebraicDivision` class is now a `typedef` of an equivalent record type
- Updated Dart SDK constraints to `^3.10.4`
- Added a new `Algebraic.factor` method that factors the polynomial into irreducible factors.
- Added a new `Algebraic.solveInequality` method that solves polynomial inequalities.
- Added a new `Matrix<T>.isZero` method.
- Added a new `Factorial.computeBigInt` method to calculate factorials using `BigInt` rather than `int`
- Improvements to numerical stability of various algorithms
- Fixed numerical issues on polynonial and nonlinear solvers
- Documentation improvements
- Removed demo Dart and Flutter applications from the `example/` folder
- Dependencies versions update

## 5.0.2
- Added a new subclass of `NumericalIntegration` called `AdaptiveQuadrature`, which implements the "adaptive quadrature" algorithm
- Updated Dart SDK constraints to `^3.1.0`
Expand Down Expand Up @@ -28,17 +42,17 @@
- Dependencies versions update

## 4.0.0
- **BREAKING**: The `Complex.fromPolar` constructor now asks for required **named** parameters
- **BREAKING**: The `Interpolation` constructor now asks for required **named** parameters
- **BREAKING**: The `Complex.fromPolar` constructor now requires **named** parameters
- **BREAKING**: The `Interpolation` constructor now requires **named** parameters
- **BREAKING**: The `SylvesterMatrix` type now accepts an `Algebraic` type rather than a `List<Complex>`. As such, the `SylvesterMatrix.fromReal` constructor has been removed because a real polynomial can be built using `Algebraic.fromReal` instead
- **BREAKING**: The `SystemSolver` type now accepts a `RealMatrix` type rather than a `List<List<double>>`. As such, the `size` parameter has also been removed because the size can be retrieved from the `RealMatrix` object itself
- **BREAKING**: New names for `SytemSolver` parameters: changes `equations` to `matrix` and `constants` to `knownValues`
- **BREAKING**: New names for `SystemSolver` parameters: changed `equations` to `matrix` and `constants` to `knownValues`
- Updated Dart SDK constraints to `">=2.17.0 <3.0.0"`
- Added `csc` (cosecant) and `sec` (secant) trigonometric functions to the `ExpressionParser` type
- Migrated Dart code to 2.17 with super parameters
- Updated the `analysis_options.yaml` file with almost all rules
- Added more rules from the `dart_code_metrics` package
- Updated the Flutter demo in the `example/` folder. Now the project can be run all platforms (mobile, web and desktop)
- Updated the Flutter demo in the `example/` folder. Now the project can be run on all platforms (mobile, web and desktop)
- Dependencies versions update

## 3.2.0
Expand All @@ -60,11 +74,11 @@

## 3.1.1
- Dependencies versions update
- Added more tests cases
- Added more test cases
- Updated the Flutter demo in the `example/` folder

## 3.1.0
- **BREAKING**: Now `NumericalIntegration` requires the function via constructor (earlier it was passed to the `integrate()` function)
- **BREAKING**: Now `NumericalIntegration` requires the function via constructor (previously it was passed to the `integrate()` function)
- Added the `characteristicPolynomial()` method on `Matrix<T>` to compute the characteristic polynomial of a matrix
- Fixed an issue in the `eigenvalue()` method
- Fixed an issue in the `rank()` method
Expand All @@ -76,9 +90,9 @@
## 3.0.0
- **BREAKING**: Replaced the `Laguerre` type with `DurandKerner` (the latter is a more reliable root-finding algorithm for polynomials)
- **BREAKING**: Removed the `integrateOn` method on `Nonlinear`. Now numerical integration algorithms live on their own in the `src/integral` folder
- **BREAKING**: renamed `firstGuess` and `secondGuess` to `a` and `b` respectively in `Secant` (for consistency with other `Nonlinear` types)
- **BREAKING**: Renamed `firstGuess` and `secondGuess` to `a` and `b` respectively in `Secant` (for consistency with other `Nonlinear` types)
- Created the `Interpolation` type to work with points interpolation
- Moved `NumericalIntegration` into a 'top-level' directoy inside `src/`
- Moved `NumericalIntegration` into a 'top-level' directory inside `src/`
- Added the `LinearInterpolation`, `PolynomialInterpolation`, and `NewtonInterpolation` types
- Added eigenvalues computation on `Matrix<T>` with the `eigenValues()` method
- Added inverse matrix computation on `Matrix<T>` with the `inverse()` method
Expand All @@ -98,7 +112,7 @@
- Dependencies versions update
- Minor enhancement in the `PolynomialLongDivision` class
- Added trace computation on matrices
- Added french localization to the Flutter example app
- Added French localization to the Flutter example app

## 2.1.2
- Dependencies versions update
Expand All @@ -110,17 +124,17 @@
- Dependencies versions update

## 2.1.0
- Changes on deep copy logic for lists (now the library uses `List.from()` on immutable objects)
- Changes in deep copy logic for lists (now the library uses `List.from()` on immutable objects)
- Added the `PolynomialLongDivision` class to divide a polynomial by another
- Now the `Algebraic` type supports `opeartor/` too so you can divide polynomials to get quotient and remainder
- Now the `Algebraic` type supports `operator/` too so you can divide polynomials to get quotient and remainder
- Dependencies versions update

## 2.0.3
- Dependencies versions update

## 2.0.2
- New extension method on `String` called `isRealFunction` that determines whether a string represents a real function or not
- New extension method on `String` called `isNumericalExpression` that determines whether a string represents numerical expression or not
- New extension method on `String` called `isNumericalExpression` that determines whether a string represents a numerical expression or not
- Minor changes to the `ExpressionParser` class
- Written more tests for the `flutter_example` demo project
- Dependencies versions update
Expand All @@ -136,7 +150,7 @@

## 2.0.0-nullsafety.5
- Updated some dependencies versions
- Added support for numerical integration with the `NumericalIntegration` type.
- Added support for numerical integration with the `NumericalIntegration` type
- Minor code improvements

## 2.0.0-nullsafety.4
Expand All @@ -154,20 +168,20 @@
- New examples in the `example/` folder

## 2.0.0-nullsafety.2
- Created the `RealMatrix` and `ComplexMatrix` types to work with matrix
- Created the `RealMatrix` and `ComplexMatrix` types to work with matrices
- Added support for linear systems solving using Gauss, LU decomposition and Cholesky decomposition
- Added a new static method called `Algebraic.from()` which automatically builds a new polynomial
equation according with the number of coefficients.
equation according to the number of coefficients
- Minor documentation fixes

## 2.0.0-nullsafety.1
- Added a new root-finding algorithm (`Brent` which implements the Brent's method)
- Added a new root-finding algorithm (`Brent` which implements Brent's method)
- Added `Laguerre` (which implements Laguerre's method for polynomials root finding)
- Minor on various `Nonlinear` subtypes
- Minor improvements on various `Nonlinear` subtypes
- Documentation fixes

## 2.0.0-nullsafety.0
- Package migrated to null safety (Dart 2.12).
- Package migrated to null safety (Dart 2.12)
- Added a new `ExpressionParser` class (which is also internally used by `NonLinear`)
- Minor fixes on `Algebraic` and `NonLinear`

Expand All @@ -178,4 +192,4 @@
## 1.0.0
- Initial release
- Use `Algebraic` for algebraic (polynomial) equations and `Nonlinear` for nonlinear equations
- Easily work with complex number by using `Complex`
- Easily work with complex numbers by using `Complex`
76 changes: 0 additions & 76 deletions CODE_OF_CONDUCT.md

This file was deleted.

Loading