Skip to content

Commit

Permalink
Merge branch 'master' into plot_pca
Browse files Browse the repository at this point in the history
  • Loading branch information
hernanmd committed May 25, 2023
2 parents b8ffb91 + d9a495e commit ab0a10a
Show file tree
Hide file tree
Showing 353 changed files with 6,299 additions and 13,843 deletions.
27 changes: 27 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Release

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

on:
release:
types: [created, edited]

jobs:
build:
strategy:
matrix:
smalltalk: [ Pharo64-9.0, Pharo64-10, Pharo64-11 ]
os: [ macos-latest, windows-latest, ubuntu-latest]
runs-on: ${{ matrix.os }}
name: ${{ matrix.smalltalk }} on ${{ matrix.os }}
env:
PROJECT_NAME: PolyMath-${{ matrix.smalltalk }}
steps:
- uses: actions/checkout@v3
- uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: ${{ matrix.smalltalk }}
- run: smalltalkci -s ${{ matrix.smalltalk }}
shell: bash
timeout-minutes: 15
33 changes: 13 additions & 20 deletions .github/workflows/smalltalk-ci.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,24 @@
name: CI matrix
name: CI

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
on: [ push, pull_request ]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build:
runs-on: ubuntu-latest
env:
PROJECT_NAME: PolyMath-${{ matrix.smalltalk }}
strategy:
matrix:
os: [ macos-latest, windows-latest, ubuntu-latest]
smalltalk: [ Pharo64-9.0, Pharo64-10]
runs-on: ${{ matrix.os }}
name: ${{ matrix.smalltalk }} on ${{ matrix.os }}
smalltalk: [ Pharo64-9.0, Pharo64-10, Pharo64-11 ]
name: ${{ matrix.smalltalk }}
steps:
- uses: actions/checkout@v2
- name: Setup smalltalkCI
uses: hpi-swa/setup-smalltalkCI@v1
- uses: actions/checkout@v3
- uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: ${{ matrix.smalltalk }}
- name: Load Image and Run Tests
run: smalltalkci -s ${{ matrix.smalltalk }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: smalltalkci -s ${{ matrix.smalltalk }}
shell: bash
timeout-minutes: 15
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
**/.DS_STORE
18 changes: 4 additions & 14 deletions .smalltalk.ston
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,11 @@ SmalltalkCISpec {
}
],
#testing : {
#include : {
#packages : [ 'Math-.*' ]
},
#coverage : {
#packages : [
'Math-A*',
'Math-B*',
'Math-C*',
'Math-D*',
'Math-FunctionFit',
'Math-K*',
'Math-M*',
'Math-N*',
'Math-ODE',
'Math-P*',
'Math-Q*',
'Math-R*',
'Math-TNSE' ]
#packages : [ 'Math-*' ]
}
}
}
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
<img width="1675" alt="Screenshot 2019-04-24 at 11 12 57" src="https://user-images.githubusercontent.com/327334/56652094-66eb7780-6682-11e9-9753-101be18df67c.png">


You can load PolyMath 1.0.4 into a fresh Pharo 9.0 or 10 image with:
You can load PolyMath 1.0.5 into a fresh Pharo 9.0 or 10 image with:

```Smalltalk
Metacello new
repository: 'github://PolyMathOrg/PolyMath:v1.0.4';
repository: 'github://PolyMathOrg/PolyMath:v1.0.5';
baseline: 'PolyMath';
load
```
Expand Down
261 changes: 111 additions & 150 deletions src/BaselineOfPolyMath/BaselineOfPolyMath.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -17,157 +17,94 @@ Class {

{ #category : #baseline }
BaselineOfPolyMath >> baseline: spec [

<baseline>
spec
for: #common
do: [
spec blessing: #baseline.
spec repository: 'github://PolyMathOrg/PolyMath/src'.
spec
baseline: 'SMark'
with: [ spec repository: 'github://smarr/SMark:v1.0.4' ];
baseline: 'XMLWriter'
with: [ spec
repository: 'github://pharo-contributions/XML-XMLWriter:2.9.x/src' ].
spec
package: 'ExtendedNumberParser';
package: 'Math-Accuracy-Core';
package: 'Math-Accuracy-ODE'
with: [ spec requires: #('Math-ODE' 'XMLWriter') ];
package: 'Math-ArbitraryPrecisionFloat'
with: [ spec requires: #('ExtendedNumberParser') ];
package: 'Math-AutomaticDifferenciation'
with: [ spec requires: #('Math-Numerical' 'Math-Matrix') ];
package: 'Math-Benchmarks-KDTree'
with: [ spec requires: #('Math-KDTree' 'SMark') ];
package: 'Math-Benchmarks-ODE'
with: [ spec requires: #('Math-ODE' 'SMark' 'XMLWriter') ];
package: 'Math-Chromosome'
with: [ spec requires: #('Math-Core') ];
package: 'Math-Clustering'
with:
[ spec requires: #('Math-Numerical' 'Math-Core-Process' 'Math-Matrix') ];
package: 'Math-Complex'
with: [ spec requires: #('Math-Numerical' 'Math-Polynomials') ];
package: 'Math-Core';
package: 'Math-Core-Distribution'
with: [ spec requires: #('Math-Core') ];
package: 'Math-Core-Process';
package: 'Math-Numerical'
with: [ spec
requires:
#('Math-Core' 'Math-Core-Process' 'Math-Core-Distribution' 'Math-DistributionGamma' 'Math-DistributionBeta' 'Math-DistributionForHistogram' 'Math-StatisticalMoments' 'Math-Series') ];
package: 'Math-Polynomials'
with: [ spec
requires:
#('Math-Core' 'Math-Core-Process' 'Math-Core-Distribution' 'Math-DistributionGamma' 'Math-DistributionBeta' 'Math-DistributionForHistogram' 'Math-StatisticalMoments' 'Math-Series') ];
package: 'Math-DistributionBeta'
with: [ spec requires: #('Math-DistributionGamma') ];
package: 'Math-DistributionForHistogram'
with: [ spec requires: #('Math-Core-Distribution') ];
package: 'Math-DistributionGamma'
with: [ spec requires: #('Math-Core-Distribution') ];
package: 'Math-FastFourierTransform'
with: [ spec requires: #('Math-Complex') ];
package: 'Math-FunctionFit'
with: [ spec
requires:
#('Math-Numerical' 'Math-Chromosome' 'Math-Accuracy-Core' 'Math-Core' 'Math-Matrix' 'Math-Polynomials') ];
package: 'Math-KDTree';
package: 'Math-KernelSmoothing'
with: [ spec
requires: #('Math-Quantile' 'Math-Numerical' 'Math-Polynomials') ];
package: 'Math-KolmogorovSmirnov'
with: [ spec requires: #('Math-Numerical' 'Math-Polynomials') ];
package: 'Math-Matrix';
package: 'Math-Number-Extensions';
package: 'Math-ODE'
with:
[ spec requires: #('Math-Numerical' 'Math-Matrix' 'Math-Polynomials') ];
package: 'Math-Permutation'
with: [ spec requires: #('Math-Core' 'Math-Matrix' 'Math-Core-Process') ];
package: 'Math-Physics-Constants';
package: 'Math-PrincipalComponentAnalysis'
with:
[ spec requires: #('Math-Numerical' 'Math-Matrix' 'Math-Polynomials') ];
package: 'Math-Quantile';
package: 'Math-Quaternion'
with:
[ spec requires: #('Math-Complex' 'Math-Numerical' 'Math-Polynomials') ];
package: 'Math-Random';
package: 'Math-Series';
package: 'Math-StatisticalMoments'
with: [ spec requires: #('Math-Core' 'Math-DistributionForHistogram') ];
package: 'Math-TSNE';
package: 'Math-Tests-Accuracy'
with: [ spec requires: #('Math-Accuracy-Core') ];
package: 'Math-Tests-ArbitraryPrecisionFloat'
with: [ spec requires: #('Math-ArbitraryPrecisionFloat') ];
package: 'Math-Tests-AutomaticDifferenciation'
with: [ spec requires: #('Math-AutomaticDifferenciation' 'Math-Matrix') ];
package: 'Math-Tests-Clustering'
with: [ spec
requires:
#('Math-Clustering' 'Math-Core' 'Math-Core-Distribution' 'Math-UtilsDataServer') ];
package: 'Math-Tests-Complex'
with: [ spec requires: #('Math-Complex') ];
package: 'Math-Tests-Core'
with: [ spec requires: #('Math-Core') ];
package: 'Math-Tests-Core-Distribution'
with: [ spec requires: #('Math-Core-Distribution') ];
package: 'Math-Tests-Core-Process'
with: [ spec requires: #('Math-Core-Process') ];
package: 'Math-Tests-Numerical'
with: [ spec requires: #('Math-Numerical' 'Math-UtilsDataServer') ];
package: 'Math-Tests-FastFourierTransform'
with: [ spec
requires: #('Math-FastFourierTransform' 'Math-Numerical' 'Math-Polynomials') ];
package: 'Math-Tests-FunctionFit';
package: 'Math-Tests-KDTree'
with: [ spec requires: #('Math-KDTree') ];
package: 'Math-Tests-KernelSmoothing'
with: [ spec requires: #('Math-KernelSmoothing') ];
package: 'Math-Tests-KolmogorovSmirnov'
with: [ spec
requires: #('Math-Numerical' 'Math-KolmogorovSmirnov' 'Math-Polynomials') ];
package: 'Math-Tests-Matrix'
with: [ spec
requires:
#('Math-Core' 'Math-Numerical' 'Math-StatisticalMoments' 'Math-Matrix' 'Math-Polynomials') ];
package: 'Math-Tests-Number-Extensions'
with: [ spec requires: #('Math-Number-Extensions') ];
package: 'Math-Tests-ODE' with: [ spec requires: #('Math-ODE') ];
package: 'Math-Tests-Permutation'
with: [ spec requires: #('Math-Permutation') ];
package: 'Math-Tests-PrincipalComponentAnalysis'
with: [ spec requires: #('Math-PrincipalComponentAnalysis') ];
package: 'Math-Tests-Quantile'
with: [ spec requires: #('Math-Quantile') ];
package: 'Math-Tests-Polynomials'
with: [ spec requires: #('Math-Polynomials') ];
package: 'Math-Tests-Quaternion'
with: [ spec requires: #('Math-Quaternion') ];
package: 'Math-Tests-Random'
with: [ spec requires: #('Math-Random') ];
package: 'Math-Tests-TSNE'
with: [ spec requires: #('Math-TSNE') ];
package: 'Math-UtilsDataServer'.
spec
group: 'Accuracy'
with: #('Math-Accuracy-ODE' 'Math-Accuracy-Core');
group: 'Benchmarks'
with: #('Math-Benchmarks-ODE' 'Math-Benchmarks-KDTree');
group: 'Core'
with:
#('Math-Complex' 'Math-Quaternion' 'Math-Numerical' 'Math-Random' 'Math-KDTree' 'Math-ODE' 'Math-ArbitraryPrecisionFloat' 'Math-FastFourierTransform' 'ExtendedNumberParser' 'Math-Quantile' 'Math-Physics-Constants' 'Math-Polynomials' 'Math-TSNE' 'Math-Core-Process' 'Math-Core' 'Math-Core-Distribution');
group: 'Extensions'
with:
#('Math-Clustering' 'Math-Number-Extensions' 'Math-Chromosome' 'Math-PrincipalComponentAnalysis' 'Math-FunctionFit' 'Math-AutomaticDifferenciation' 'Math-KernelSmoothing' 'Math-Permutation' 'Math-KolmogorovSmirnov');
group: 'Tests'
with:
#('Math-Tests-Matrix' 'Math-Tests-Clustering' 'Math-Tests-Numerical' 'Math-Tests-Complex' 'Math-Tests-Quaternion' 'Math-Tests-Random' 'Math-Tests-ODE' 'Math-Tests-KDTree' 'Math-Tests-FunctionFit' 'Math-Tests-AutomaticDifferenciation' 'Math-Tests-FastFourierTransform' 'Math-Tests-Accuracy' 'Math-Tests-ArbitraryPrecisionFloat' 'Math-Tests-KolmogorovSmirnov' 'Math-Tests-Quantile' 'Math-Tests-Polynomials' 'Math-Tests-PrincipalComponentAnalysis' 'Math-Tests-KernelSmoothing' 'Math-Tests-Number-Extensions' 'Math-Tests-Permutation' 'Math-Tests-TSNE' 'Math-Tests-Core-Process' 'Math-Tests-Core-Distribution' 'Math-Tests-Core');
group: 'default'
with: #('Core' 'Extensions' 'Tests' 'Benchmarks' 'Accuracy') ]
spec for: #common do: [ "External dependencies"
self
sMark: spec;
xmlWriter: spec;
vectorMatrix: spec;
randomNumbers: spec.

spec
package: 'ExtendedNumberParser';
package: 'Math-Accuracy-Core';
package: 'Math-Accuracy-ODE' with: [ spec requires: #( 'Math-ODE' 'XMLWriter' ) ];
package: 'Math-ArbitraryPrecisionFloat' with: [ spec requires: #( 'ExtendedNumberParser' ) ];
package: 'Math-AutomaticDifferenciation' with: [ spec requires: #( 'Math-Numerical' 'MathVectorMatrix' ) ];
package: 'Math-Benchmarks-KDTree' with: [ spec requires: #( 'Math-KDTree' 'SMark' ) ];
package: 'Math-Benchmarks-ODE' with: [ spec requires: #( 'Math-ODE' 'SMark' 'XMLWriter' ) ];
package: 'Math-Chromosome' with: [ spec requires: #( 'MathVectorMatrix' ) ];
package: 'Math-Clustering' with: [ spec requires: #( 'Math-Numerical' 'Math-Core-Process' 'MathVectorMatrix' ) ];
package: 'Math-Complex' with: [ spec requires: #( 'Math-Numerical' 'Math-Polynomials' ) ];
package: 'Math-Helpers';
package: 'Math-Distributions' with: [ spec requires: #( 'MathVectorMatrix' 'Math-Quantile' 'Math-Core-Process' ) ];
package: 'Math-Core-Process';
package: 'Math-Numerical'
with: [ spec requires: #( 'MathVectorMatrix' 'Math-Core-Process' 'Math-Distributions' 'Math-StatisticalMoments'
'Math-Series' ) ];
package: 'Math-Polynomials'
with: [ spec requires: #( 'MathVectorMatrix' 'Math-Core-Process' 'Math-Distributions' 'Math-StatisticalMoments'
'Math-Series' ) ];
package: 'Math-FastFourierTransform' with: [ spec requires: #( 'Math-Complex' ) ];
package: 'Math-FunctionFit'
with: [ spec requires: #( 'Math-Numerical' 'Math-Chromosome' 'Math-Accuracy-Core' 'MathVectorMatrix' 'Math-Helpers' 'Math-Polynomials' ) ];
package: 'Math-KDTree';
package: 'Math-Number-Extensions';
package: 'Math-ODE' with: [ spec requires: #( 'Math-Numerical' 'MathVectorMatrix' 'Math-Polynomials' ) ];
package: 'Math-Permutation' with: [ spec requires: #( 'MathVectorMatrix' 'Math-Core-Process' ) ];
package: 'Math-Physics-Constants';
package: 'Math-PrincipalComponentAnalysis' with: [ spec requires: #( 'Math-Numerical' 'MathVectorMatrix' 'Math-Polynomials' ) ];
package: 'Math-Quantile';
package: 'Math-Quaternion' with: [ spec requires: #( 'Math-Complex' 'Math-Numerical' 'Math-Polynomials' ) ];
package: 'Math-Series';
package: 'Math-StatisticalMoments' with: [ spec requires: #( 'Math-Helpers' 'Math-Distributions' ) ];
package: 'Math-TSNE';
package: 'Math-Tests-Accuracy' with: [ spec requires: #( 'Math-Accuracy-Core' ) ];
package: 'Math-Tests-ArbitraryPrecisionFloat' with: [ spec requires: #( 'Math-ArbitraryPrecisionFloat' ) ];
package: 'Math-Tests-AutomaticDifferenciation' with: [ spec requires: #( 'Math-AutomaticDifferenciation' 'MathVectorMatrix' ) ];
package: 'Math-Tests-Clustering' with: [ spec requires: #( 'Math-Clustering' 'Math-Distributions' 'Math-UtilsDataServer' ) ];
package: 'Math-Tests-Complex' with: [ spec requires: #( 'Math-Complex' ) ];
package: 'Math-Tests-Distributions' with: [ spec requires: #( 'Math-Distributions' ) ];
package: 'Math-Tests-Core-Process' with: [ spec requires: #( 'Math-Core-Process' ) ];
package: 'Math-Tests-Numerical' with: [ spec requires: #( 'Math-Numerical' 'Math-UtilsDataServer' ) ];
package: 'Math-Tests-FastFourierTransform' with: [ spec requires: #( 'Math-FastFourierTransform' 'Math-Numerical' 'Math-Polynomials' ) ];
package: 'Math-Tests-FunctionFit';
package: 'Math-Tests-KDTree' with: [ spec requires: #( 'Math-KDTree' ) ];
package: 'Math-Tests-Number-Extensions' with: [ spec requires: #( 'Math-Number-Extensions' ) ];
package: 'Math-Tests-ODE' with: [ spec requires: #( 'Math-ODE' ) ];
package: 'Math-Tests-Permutation' with: [ spec requires: #( 'Math-Permutation' ) ];
package: 'Math-Tests-PrincipalComponentAnalysis' with: [ spec requires: #( 'Math-PrincipalComponentAnalysis' ) ];
package: 'Math-Tests-Quantile' with: [ spec requires: #( 'Math-Quantile' ) ];
package: 'Math-Tests-Polynomials' with: [ spec requires: #( 'Math-Polynomials' ) ];
package: 'Math-Tests-Quaternion' with: [ spec requires: #( 'Math-Quaternion' ) ];
package: 'Math-Tests-TSNE' with: [ spec requires: #( 'Math-TSNE' ) ];
package: 'Math-UtilsDataServer'.
spec
group: 'Accuracy' with: #( 'Math-Accuracy-ODE' 'Math-Accuracy-Core' );
group: 'Benchmarks' with: #( 'Math-Benchmarks-ODE' 'Math-Benchmarks-KDTree' );
group: 'Core'
with:
#( 'Math-Complex' 'Math-Quaternion' 'Math-Numerical' 'MathRandomNumbers' 'Math-KDTree' 'Math-ODE' 'Math-ArbitraryPrecisionFloat'
'Math-FastFourierTransform' 'ExtendedNumberParser' 'Math-Quantile' 'Math-Physics-Constants' 'Math-Polynomials' 'Math-TSNE' 'Math-Core-Process'
'Math-Helpers' 'MathVectorMatrix' 'Math-Distributions' );
group: 'Extensions'
with: #( 'Math-Clustering' 'Math-Number-Extensions' 'Math-Chromosome' 'Math-PrincipalComponentAnalysis' 'Math-FunctionFit' 'Math-AutomaticDifferenciation'
'Math-Permutation' );
group: 'Tests'
with:
#( 'Math-Tests-Clustering' 'Math-Tests-Numerical' 'Math-Tests-Complex' 'Math-Tests-Quaternion' 'Math-Tests-ODE' 'Math-Tests-KDTree' 'Math-Tests-FunctionFit'
'Math-Tests-AutomaticDifferenciation' 'Math-Tests-FastFourierTransform' 'Math-Tests-Accuracy' 'Math-Tests-ArbitraryPrecisionFloat'
'Math-Tests-Quantile' 'Math-Tests-Polynomials' 'Math-Tests-PrincipalComponentAnalysis' 'Math-Tests-Number-Extensions' 'Math-Tests-Permutation'
'Math-Tests-TSNE' 'Math-Tests-Core-Process' 'Math-Tests-Distributions' );
group: 'default' with: #( 'Core' 'Extensions' 'Tests' 'Benchmarks' 'Accuracy' ) ].

spec for: #( #'pharo6.x' #'pharo7.x' #'pharo8.x' #'pharo9.x' #'pharo10.x' ) do: [
spec
package: 'Math-Numerical' with: [ spec requires: #( 'Math-CompatibilityUpToPharo11' ) ];
package: 'Math-Benchmarks-KDTree' with: [ spec requires: #( 'Math-CompatibilityUpToPharo11' ) ];
package: 'Math-Tests-KDTree' with: [ spec requires: #( 'Math-CompatibilityUpToPharo11' ) ];
package: 'Math-CompatibilityUpToPharo11' ]
]

{ #category : #accessing }
Expand All @@ -176,3 +113,27 @@ BaselineOfPolyMath >> projectClass [
on: NotFound
do: [ super projectClass ]
]

{ #category : #dependencies }
BaselineOfPolyMath >> randomNumbers: spec [

spec baseline: 'MathRandomNumbers' with: [ spec repository: 'github://PolyMathOrg/random-numbers:v1.x.x/src' ]
]

{ #category : #dependencies }
BaselineOfPolyMath >> sMark: spec [

spec baseline: 'SMark' with: [ spec repository: 'github://smarr/SMark:v1.0.4' ]
]

{ #category : #dependencies }
BaselineOfPolyMath >> vectorMatrix: spec [

spec baseline: 'MathVectorMatrix' with: [ spec repository: 'github://PolyMathOrg/vector-matrix:v1.x.x/src' ]
]

{ #category : #dependencies }
BaselineOfPolyMath >> xmlWriter: spec [

spec baseline: 'XMLWriter' with: [ spec repository: 'github://pharo-contributions/XML-XMLWriter:2.9.x/src' ]
]

0 comments on commit ab0a10a

Please sign in to comment.