-
-
\ No newline at end of file
diff --git a/README.html b/README.html
index dd90edda6..1a9f090af 100644
--- a/README.html
+++ b/README.html
@@ -42,7 +42,7 @@
SCALAble SimulaTION - ScalaTion
Installation Instructions
Version 2.0 Requires:
-Scala 3.6.4 and
+Scala 3.8.2 and
Java 21
(or from Open JDK Archive)
diff --git a/README.md b/README.md
index 6bdbe45ed..9640adcce 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,7 @@ Please read the LICENSE file (an MIT style license)
Installation Instructions
Version 2.0 Requires:
-Scala 3.6.4 and
+Scala 3.8.2 and
Java 21
(or from Open JDK Archive)
diff --git a/build.sbt b/build.sbt
index 2a1a235d9..16bd9d3f9 100644
--- a/build.sbt
+++ b/build.sbt
@@ -3,14 +3,14 @@
lazy val scalation = project.in(file("."))
.settings(
- scalaVersion := "3.6.4",
+ scalaVersion := "3.8.2",
scalacOptions ++= Seq(
"-deprecation", // emit warning and location for usages of deprecated APIs
"-explain", // explain errors in more detail
// "-explain-types", // explain type errors in more detail
"-new-syntax", // require `then` and `do` in control expressions.
"-Wunused:all", // warn of unused imports, ...
- "-Xfatal-warnings") // fail the compilation if there are any warnings
+ "-Werror") // fail the compilation if there are any warnings
// javacOptions += "--add-modules jdk.incubator.vector"
)
diff --git a/project/build.properties b/project/build.properties
deleted file mode 100644
index ee4c672cd..000000000
--- a/project/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-sbt.version=1.10.1
diff --git a/project/target/config-classes/$2861502907535c74dca3$.class b/project/target/config-classes/$2861502907535c74dca3$.class
deleted file mode 100644
index 71cc256a2..000000000
Binary files a/project/target/config-classes/$2861502907535c74dca3$.class and /dev/null differ
diff --git a/project/target/config-classes/$2861502907535c74dca3.cache b/project/target/config-classes/$2861502907535c74dca3.cache
deleted file mode 100644
index e032ac2f4..000000000
--- a/project/target/config-classes/$2861502907535c74dca3.cache
+++ /dev/null
@@ -1 +0,0 @@
-scalation
diff --git a/project/target/config-classes/$2861502907535c74dca3.class b/project/target/config-classes/$2861502907535c74dca3.class
deleted file mode 100644
index 602e4c693..000000000
Binary files a/project/target/config-classes/$2861502907535c74dca3.class and /dev/null differ
diff --git a/project/target/config-classes/$6654ed73398b327bbd7b$.class b/project/target/config-classes/$6654ed73398b327bbd7b$.class
deleted file mode 100644
index 8afb4b769..000000000
Binary files a/project/target/config-classes/$6654ed73398b327bbd7b$.class and /dev/null differ
diff --git a/project/target/config-classes/$6654ed73398b327bbd7b.cache b/project/target/config-classes/$6654ed73398b327bbd7b.cache
deleted file mode 100644
index 050f36c67..000000000
--- a/project/target/config-classes/$6654ed73398b327bbd7b.cache
+++ /dev/null
@@ -1 +0,0 @@
-sbt.internal.DslEntry
\ No newline at end of file
diff --git a/project/target/config-classes/$6654ed73398b327bbd7b.class b/project/target/config-classes/$6654ed73398b327bbd7b.class
deleted file mode 100644
index 096241bc4..000000000
Binary files a/project/target/config-classes/$6654ed73398b327bbd7b.class and /dev/null differ
diff --git a/project/target/config-classes/$9579a629f282f890015b$.class b/project/target/config-classes/$9579a629f282f890015b$.class
deleted file mode 100644
index 499ff4ee8..000000000
Binary files a/project/target/config-classes/$9579a629f282f890015b$.class and /dev/null differ
diff --git a/project/target/config-classes/$9579a629f282f890015b.cache b/project/target/config-classes/$9579a629f282f890015b.cache
deleted file mode 100644
index 050f36c67..000000000
--- a/project/target/config-classes/$9579a629f282f890015b.cache
+++ /dev/null
@@ -1 +0,0 @@
-sbt.internal.DslEntry
\ No newline at end of file
diff --git a/project/target/config-classes/$9579a629f282f890015b.class b/project/target/config-classes/$9579a629f282f890015b.class
deleted file mode 100644
index 21c4cc5ac..000000000
Binary files a/project/target/config-classes/$9579a629f282f890015b.class and /dev/null differ
diff --git a/project/target/config-classes/$b5876b275fb996f69cd1$.class b/project/target/config-classes/$b5876b275fb996f69cd1$.class
deleted file mode 100644
index f9789b1f8..000000000
Binary files a/project/target/config-classes/$b5876b275fb996f69cd1$.class and /dev/null differ
diff --git a/project/target/config-classes/$b5876b275fb996f69cd1.cache b/project/target/config-classes/$b5876b275fb996f69cd1.cache
deleted file mode 100644
index 050f36c67..000000000
--- a/project/target/config-classes/$b5876b275fb996f69cd1.cache
+++ /dev/null
@@ -1 +0,0 @@
-sbt.internal.DslEntry
\ No newline at end of file
diff --git a/project/target/config-classes/$b5876b275fb996f69cd1.class b/project/target/config-classes/$b5876b275fb996f69cd1.class
deleted file mode 100644
index ede64b8e4..000000000
Binary files a/project/target/config-classes/$b5876b275fb996f69cd1.class and /dev/null differ
diff --git a/project/target/scala-2.12/sbt-1.0/sync/copy-resource b/project/target/scala-2.12/sbt-1.0/sync/copy-resource
deleted file mode 100644
index 9d348e7bd..000000000
--- a/project/target/scala-2.12/sbt-1.0/sync/copy-resource
+++ /dev/null
@@ -1 +0,0 @@
-[[{},{}],{}]
\ No newline at end of file
diff --git a/project/target/scala-2.12/sbt-1.0/update/update_cache_2.12/inputs b/project/target/scala-2.12/sbt-1.0/update/update_cache_2.12/inputs
deleted file mode 100644
index 5ce68556c..000000000
--- a/project/target/scala-2.12/sbt-1.0/update/update_cache_2.12/inputs
+++ /dev/null
@@ -1 +0,0 @@
--1508279937
\ No newline at end of file
diff --git a/project/target/scala-2.12/sbt-1.0/update/update_cache_2.12/output b/project/target/scala-2.12/sbt-1.0/update/update_cache_2.12/output
deleted file mode 100644
index c8ebf7988..000000000
--- a/project/target/scala-2.12/sbt-1.0/update/update_cache_2.12/output
+++ /dev/null
@@ -1 +0,0 @@
-{"cachedDescriptor":".","configurations":[{"configuration":{"name":"compile"},"modules":[],"details":[]},{"configuration":{"name":"compile-internal"},"modules":[{"module":{"organization":"org.scala-lang","name":"scala-library","revision":"2.12.19","configurations":"default","isChanging":false,"isTransitive":true,"isForce":false,"explicitArtifacts":[],"inclusions":[],"exclusions":[{"organization":"org.scala-sbt","name":"io_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-ivy_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-position_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"sbt","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-logging_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"scripted-plugin_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-core_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}}],"extraAttributes":{"info.apiURL":"https://www.scala-lang.org/api/2.12.19/"},"crossVersion":{"type":"Disabled"}},"artifacts":[[{"name":"scala-library","type":"jar","extension":"jar","configurations":[],"extraAttributes":{},"allowInsecureProtocol":false},"file:///C:/Users/youse/.sbt/boot/scala-2.12.19/lib/scala-library.jar"]],"missingArtifacts":[],"evicted":false,"homepage":"https://www.scala-lang.org/","extraAttributes":{"info.apiURL":"https://www.scala-lang.org/api/2.12.19/"},"configurations":[{"name":"test"},{"name":"optional"},{"name":"compile"},{"name":"default"},{"name":"runtime"}],"licenses":[["Apache-2.0","https://www.apache.org/licenses/LICENSE-2.0"]],"callers":[]}],"details":[]},{"configuration":{"name":"docs"},"modules":[],"details":[]},{"configuration":{"name":"optional"},"modules":[],"details":[]},{"configuration":{"name":"plugin"},"modules":[],"details":[]},{"configuration":{"name":"pom"},"modules":[],"details":[]},{"configuration":{"name":"provided"},"modules":[{"module":{"organization":"org.scala-lang","name":"scala-library","revision":"2.12.19","configurations":"default","isChanging":false,"isTransitive":true,"isForce":false,"explicitArtifacts":[],"inclusions":[],"exclusions":[{"organization":"org.scala-sbt","name":"io_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-ivy_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-position_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"sbt","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-logging_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"scripted-plugin_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-core_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}}],"extraAttributes":{"info.apiURL":"https://www.scala-lang.org/api/2.12.19/"},"crossVersion":{"type":"Disabled"}},"artifacts":[[{"name":"scala-library","type":"jar","extension":"jar","configurations":[],"extraAttributes":{},"allowInsecureProtocol":false},"file:///C:/Users/youse/.sbt/boot/scala-2.12.19/lib/scala-library.jar"]],"missingArtifacts":[],"evicted":false,"homepage":"https://www.scala-lang.org/","extraAttributes":{"info.apiURL":"https://www.scala-lang.org/api/2.12.19/"},"configurations":[{"name":"test"},{"name":"optional"},{"name":"compile"},{"name":"default"},{"name":"runtime"}],"licenses":[["Apache-2.0","https://www.apache.org/licenses/LICENSE-2.0"]],"callers":[]}],"details":[]},{"configuration":{"name":"runtime"},"modules":[],"details":[]},{"configuration":{"name":"runtime-internal"},"modules":[],"details":[]},{"configuration":{"name":"scala-doc-tool"},"modules":[],"details":[]},{"configuration":{"name":"scala-tool"},"modules":[{"module":{"organization":"org.scala-lang","name":"scala-compiler","revision":"2.12.19","configurations":"default","isChanging":false,"isTransitive":true,"isForce":false,"explicitArtifacts":[],"inclusions":[],"exclusions":[{"organization":"org.scala-sbt","name":"io_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-ivy_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-position_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"sbt","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-logging_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"scripted-plugin_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-core_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}}],"extraAttributes":{},"crossVersion":{"type":"Disabled"}},"artifacts":[[{"name":"scala-compiler","type":"jar","extension":"jar","configurations":[],"extraAttributes":{},"allowInsecureProtocol":false},"file:///C:/Users/youse/.sbt/boot/scala-2.12.19/lib/scala-compiler.jar"]],"missingArtifacts":[],"evicted":false,"homepage":"https://www.scala-lang.org/","extraAttributes":{},"configurations":[{"name":"test"},{"name":"optional"},{"name":"compile"},{"name":"default"},{"name":"runtime"}],"licenses":[["Apache-2.0","https://www.apache.org/licenses/LICENSE-2.0"]],"callers":[]},{"module":{"organization":"org.scala-lang","name":"scala-compiler","revision":"2.12.19","configurations":"optional","isChanging":false,"isTransitive":true,"isForce":false,"explicitArtifacts":[],"inclusions":[],"exclusions":[{"organization":"org.scala-sbt","name":"io_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-ivy_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-position_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"sbt","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-logging_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"scripted-plugin_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-core_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}}],"extraAttributes":{},"crossVersion":{"type":"Disabled"}},"artifacts":[[{"name":"scala-compiler","type":"jar","extension":"jar","configurations":[],"extraAttributes":{},"allowInsecureProtocol":false},"file:///C:/Users/youse/.sbt/boot/scala-2.12.19/lib/scala-compiler.jar"]],"missingArtifacts":[],"evicted":false,"homepage":"https://www.scala-lang.org/","extraAttributes":{},"configurations":[{"name":"test"},{"name":"optional"},{"name":"compile"},{"name":"default"},{"name":"runtime"}],"licenses":[["Apache-2.0","https://www.apache.org/licenses/LICENSE-2.0"]],"callers":[]},{"module":{"organization":"org.scala-lang","name":"scala-library","revision":"2.12.19","configurations":"default","isChanging":false,"isTransitive":true,"isForce":false,"explicitArtifacts":[],"inclusions":[],"exclusions":[{"organization":"org.scala-sbt","name":"io_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-ivy_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-position_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"sbt","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-logging_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"scripted-plugin_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-core_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}}],"extraAttributes":{"info.apiURL":"https://www.scala-lang.org/api/2.12.19/"},"crossVersion":{"type":"Disabled"}},"artifacts":[[{"name":"scala-library","type":"jar","extension":"jar","configurations":[],"extraAttributes":{},"allowInsecureProtocol":false},"file:///C:/Users/youse/.sbt/boot/scala-2.12.19/lib/scala-library.jar"]],"missingArtifacts":[],"evicted":false,"homepage":"https://www.scala-lang.org/","extraAttributes":{"info.apiURL":"https://www.scala-lang.org/api/2.12.19/"},"configurations":[{"name":"test"},{"name":"optional"},{"name":"compile"},{"name":"default"},{"name":"runtime"}],"licenses":[["Apache-2.0","https://www.apache.org/licenses/LICENSE-2.0"]],"callers":[]},{"module":{"organization":"org.scala-lang","name":"scala-library","revision":"2.12.19","configurations":"optional","isChanging":false,"isTransitive":true,"isForce":false,"explicitArtifacts":[],"inclusions":[],"exclusions":[{"organization":"org.scala-sbt","name":"io_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-ivy_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-position_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"sbt","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-logging_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"scripted-plugin_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-core_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}}],"extraAttributes":{"info.apiURL":"https://www.scala-lang.org/api/2.12.19/"},"crossVersion":{"type":"Disabled"}},"artifacts":[[{"name":"scala-library","type":"jar","extension":"jar","configurations":[],"extraAttributes":{},"allowInsecureProtocol":false},"file:///C:/Users/youse/.sbt/boot/scala-2.12.19/lib/scala-library.jar"]],"missingArtifacts":[],"evicted":false,"homepage":"https://www.scala-lang.org/","extraAttributes":{"info.apiURL":"https://www.scala-lang.org/api/2.12.19/"},"configurations":[{"name":"test"},{"name":"optional"},{"name":"compile"},{"name":"default"},{"name":"runtime"}],"licenses":[["Apache-2.0","https://www.apache.org/licenses/LICENSE-2.0"]],"callers":[]},{"module":{"organization":"org.scala-lang","name":"scala-reflect","revision":"2.12.19","configurations":"default","isChanging":false,"isTransitive":true,"isForce":false,"explicitArtifacts":[],"inclusions":[],"exclusions":[{"organization":"org.scala-sbt","name":"io_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-ivy_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-position_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"sbt","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-logging_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"scripted-plugin_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-core_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}}],"extraAttributes":{"info.apiURL":"https://www.scala-lang.org/api/2.12.19/"},"crossVersion":{"type":"Disabled"}},"artifacts":[[{"name":"scala-reflect","type":"jar","extension":"jar","configurations":[],"extraAttributes":{},"allowInsecureProtocol":false},"file:///C:/Users/youse/.sbt/boot/scala-2.12.19/lib/scala-reflect.jar"]],"missingArtifacts":[],"evicted":false,"homepage":"https://www.scala-lang.org/","extraAttributes":{"info.apiURL":"https://www.scala-lang.org/api/2.12.19/"},"configurations":[{"name":"test"},{"name":"optional"},{"name":"compile"},{"name":"default"},{"name":"runtime"}],"licenses":[["Apache-2.0","https://www.apache.org/licenses/LICENSE-2.0"]],"callers":[]},{"module":{"organization":"org.scala-lang.modules","name":"scala-xml_2.12","revision":"2.2.0","configurations":"default","isChanging":false,"isTransitive":true,"isForce":false,"explicitArtifacts":[],"inclusions":[],"exclusions":[{"organization":"org.scala-sbt","name":"io_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-ivy_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-position_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"sbt","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-logging_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-lang","name":"*","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"scripted-plugin_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-core_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}}],"extraAttributes":{"info.apiURL":"https://javadoc.io/doc/org.scala-lang.modules/scala-xml_2.13/","info.versionScheme":"early-semver"},"crossVersion":{"type":"Disabled"}},"artifacts":[[{"name":"scala-xml_2.12","type":"bundle","extension":"jar","configurations":[],"url":"https://repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/2.2.0/scala-xml_2.12-2.2.0.jar","extraAttributes":{"info.apiURL":"https://javadoc.io/doc/org.scala-lang.modules/scala-xml_2.13/","info.versionScheme":"early-semver"},"allowInsecureProtocol":false},"file:///C:/Users/youse/AppData/Local/Coursier/Cache/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/2.2.0/scala-xml_2.12-2.2.0.jar"]],"missingArtifacts":[],"evicted":false,"homepage":"http://www.scala-lang.org/","extraAttributes":{"info.apiURL":"https://javadoc.io/doc/org.scala-lang.modules/scala-xml_2.13/","info.versionScheme":"early-semver"},"configurations":[{"name":"test"},{"name":"optional"},{"name":"compile"},{"name":"default"},{"name":"runtime"}],"licenses":[["Apache-2.0","https://www.apache.org/licenses/LICENSE-2.0"]],"callers":[]},{"module":{"organization":"jline","name":"jline","revision":"2.14.6","configurations":"default","isChanging":false,"isTransitive":true,"isForce":false,"explicitArtifacts":[],"inclusions":[],"exclusions":[{"organization":"org.scala-sbt","name":"io_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-ivy_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-position_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"sbt","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-logging_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"scripted-plugin_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-core_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}}],"extraAttributes":{},"crossVersion":{"type":"Disabled"}},"artifacts":[[{"name":"jline","type":"jar","extension":"jar","configurations":[],"url":"https://repo1.maven.org/maven2/jline/jline/2.14.6/jline-2.14.6.jar","extraAttributes":{},"allowInsecureProtocol":false},"file:///C:/Users/youse/AppData/Local/Coursier/Cache/v1/https/repo1.maven.org/maven2/jline/jline/2.14.6/jline-2.14.6.jar"]],"missingArtifacts":[],"evicted":false,"extraAttributes":{},"configurations":[{"name":"test"},{"name":"optional"},{"name":"compile"},{"name":"default"},{"name":"runtime"}],"licenses":[["The BSD License","http://www.opensource.org/licenses/bsd-license.php"]],"callers":[]}],"details":[]},{"configuration":{"name":"sources"},"modules":[],"details":[]},{"configuration":{"name":"test"},"modules":[],"details":[]},{"configuration":{"name":"test-internal"},"modules":[{"module":{"organization":"org.scala-lang","name":"scala-library","revision":"2.12.19","configurations":"default","isChanging":false,"isTransitive":true,"isForce":false,"explicitArtifacts":[],"inclusions":[],"exclusions":[{"organization":"org.scala-sbt","name":"io_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-ivy_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-position_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"sbt","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"util-logging_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"scripted-plugin_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}},{"organization":"org.scala-sbt","name":"librarymanagement-core_2.12","artifact":"*","configurations":[],"crossVersion":{"type":"Disabled"}}],"extraAttributes":{"info.apiURL":"https://www.scala-lang.org/api/2.12.19/"},"crossVersion":{"type":"Disabled"}},"artifacts":[[{"name":"scala-library","type":"jar","extension":"jar","configurations":[],"extraAttributes":{},"allowInsecureProtocol":false},"file:///C:/Users/youse/.sbt/boot/scala-2.12.19/lib/scala-library.jar"]],"missingArtifacts":[],"evicted":false,"homepage":"https://www.scala-lang.org/","extraAttributes":{"info.apiURL":"https://www.scala-lang.org/api/2.12.19/"},"configurations":[{"name":"test"},{"name":"optional"},{"name":"compile"},{"name":"default"},{"name":"runtime"}],"licenses":[["Apache-2.0","https://www.apache.org/licenses/LICENSE-2.0"]],"callers":[]}],"details":[]}],"stats":{"resolveTime":-1,"downloadTime":-1,"downloadSize":-1,"cached":false},"stamps":{}}
\ No newline at end of file
diff --git a/project/target/streams/_global/_global/_global/streams/out b/project/target/streams/_global/_global/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/_global/_global/csrLogger/_global/streams/out b/project/target/streams/_global/_global/csrLogger/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/_global/csrConfiguration/_global/streams/out b/project/target/streams/_global/csrConfiguration/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/_global/csrProject/_global/streams/out b/project/target/streams/_global/csrProject/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/_global/dependencyPositions/_global/streams/update_cache_2.12/input_dsp b/project/target/streams/_global/dependencyPositions/_global/streams/update_cache_2.12/input_dsp
deleted file mode 100644
index 77b55f12a..000000000
--- a/project/target/streams/_global/dependencyPositions/_global/streams/update_cache_2.12/input_dsp
+++ /dev/null
@@ -1 +0,0 @@
--768128706
\ No newline at end of file
diff --git a/project/target/streams/_global/dependencyPositions/_global/streams/update_cache_2.12/output_dsp b/project/target/streams/_global/dependencyPositions/_global/streams/update_cache_2.12/output_dsp
deleted file mode 100644
index fa8310de2..000000000
--- a/project/target/streams/_global/dependencyPositions/_global/streams/update_cache_2.12/output_dsp
+++ /dev/null
@@ -1 +0,0 @@
-{"{\"organization\":\"org.scala-lang\",\"name\":\"scala-library\",\"revision\":\"2.12.19\",\"configurations\":\"provided\",\"isChanging\":false,\"isTransitive\":true,\"isForce\":false,\"explicitArtifacts\":[],\"inclusions\":[],\"exclusions\":[],\"extraAttributes\":{},\"crossVersion\":{\"type\":\"Disabled\"}}":{"value":{"$fields":["path","startLine"],"path":"(sbt.Classpaths.jvmBaseSettings) Defaults.scala","startLine":3407},"type":"LinePosition"}}
\ No newline at end of file
diff --git a/project/target/streams/_global/ivyConfiguration/_global/streams/out b/project/target/streams/_global/ivyConfiguration/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/_global/ivySbt/_global/streams/out b/project/target/streams/_global/ivySbt/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/_global/moduleSettings/_global/streams/out b/project/target/streams/_global/moduleSettings/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/_global/projectDescriptors/_global/streams/out b/project/target/streams/_global/projectDescriptors/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/_global/scalaCompilerBridgeScope/_global/streams/out b/project/target/streams/_global/scalaCompilerBridgeScope/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/_global/update/_global/streams/out b/project/target/streams/_global/update/_global/streams/out
deleted file mode 100644
index 7f8496c1c..000000000
--- a/project/target/streams/_global/update/_global/streams/out
+++ /dev/null
@@ -1,3 +0,0 @@
-[debug] not up to date. inChanged = true, force = false
-[debug] Updating ProjectRef(uri("file:/C:/Users/youse/OneDrive/Documents/New%20Scalation/scalation_2.0/project/"), "scalation_2-0-build")...
-[debug] Done updating ProjectRef(uri("file:/C:/Users/youse/OneDrive/Documents/New%20Scalation/scalation_2.0/project/"), "scalation_2-0-build")
diff --git a/project/target/streams/compile/_global/_global/compileOutputs/previous b/project/target/streams/compile/_global/_global/compileOutputs/previous
deleted file mode 100644
index fd1739977..000000000
--- a/project/target/streams/compile/_global/_global/compileOutputs/previous
+++ /dev/null
@@ -1 +0,0 @@
-["sbt.Task[scala.collection.Seq[java.nio.file.Path]]",["C:\\Users\\youse\\OneDrive\\Documents\\GitHub\\scalation_2.0\\project\\target\\scala-2.12\\sbt-1.0\\zinc\\inc_compile_2.12.zip"]]
\ No newline at end of file
diff --git a/project/target/streams/compile/_global/_global/discoveredMainClasses/data b/project/target/streams/compile/_global/_global/discoveredMainClasses/data
deleted file mode 100644
index 0637a088a..000000000
--- a/project/target/streams/compile/_global/_global/discoveredMainClasses/data
+++ /dev/null
@@ -1 +0,0 @@
-[]
\ No newline at end of file
diff --git a/project/target/streams/compile/bspReporter/_global/streams/out b/project/target/streams/compile/bspReporter/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/compile/compile/_global/streams/out b/project/target/streams/compile/compile/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/compile/compileIncremental/_global/streams/export b/project/target/streams/compile/compileIncremental/_global/streams/export
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/compile/compileIncremental/_global/streams/out b/project/target/streams/compile/compileIncremental/_global/streams/out
deleted file mode 100644
index 5db868707..000000000
--- a/project/target/streams/compile/compileIncremental/_global/streams/out
+++ /dev/null
@@ -1,6 +0,0 @@
-[debug] [zinc] IncrementalCompile -----------
-[debug] IncrementalCompile.incrementalCompile
-[debug] previous = Stamps for: 0 products, 0 sources, 0 libraries
-[debug] current source = Set()
-[debug] > initialChanges = InitialChanges(Changes(added = Set(), removed = Set(), changed = Set(), unmodified = ...),Set(),Set(),API Changes: Set())
-[debug] Full compilation, no sources in previous analysis.
diff --git a/project/target/streams/compile/copyResources/_global/streams/out b/project/target/streams/compile/copyResources/_global/streams/out
deleted file mode 100644
index 499952762..000000000
--- a/project/target/streams/compile/copyResources/_global/streams/out
+++ /dev/null
@@ -1,2 +0,0 @@
-[debug] Copy resource mappings:
-[debug]
diff --git a/project/target/streams/compile/dependencyClasspath/_global/streams/export b/project/target/streams/compile/dependencyClasspath/_global/streams/export
deleted file mode 100644
index 6261fede0..000000000
--- a/project/target/streams/compile/dependencyClasspath/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\youse\.sbt\1.0\plugins\target\scala-2.12\sbt-1.0\classes;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-library.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-compiler.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-reflect.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-xml_2.12-2.2.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\actions_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\caffeine-2.8.5.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\checker-qual-3.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\collections_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\command_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-bridge_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\completion_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\config-1.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\core-macros_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\disruptor-3.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\error_prone_annotations-2.4.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\file-tree-views-2.1.12.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-apache-http_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-core_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\io_2.12-1.10.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ipcsocket-1.6.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ivy-2.3.0-sbt-396a783bba347016e7fe30dacc60d355be607fe2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jansi-2.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-2.14.7-sbt-9c3b6aca11c57e339441442bbf58e550cdfecb79.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-builtins-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-native-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-reader-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-style-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jansi-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jna-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-platform-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jsch-0.2.17.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\launcher-interface-1.4.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-ivy_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\lm-coursier-shaded_2.12-2.1.4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-api-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-core-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-slf4j-impl-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\logic_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main-settings_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\protocol_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\reactive-streams-1.0.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\run_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbinary_2.12-0.5.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbt-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-collection-compat_2.12-2.11.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-compiler-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-library-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-parser-combinators_2.12-1.1.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-reflect-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-xml_2.12-2.3.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scripted-plugin_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-apache-httpasyncclient-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-jawn-parser_2.12-1.3.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-scalajson_2.12-1.0.0-M4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-core_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-murmurhash_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-scalajson_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\slf4j-api-1.7.36.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ssl-config-core_2.12-0.6.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\task-system_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\tasks_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\template-resolver-0.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-agent-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-interface-1.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\testing_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-cache_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-control_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-logging_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-position_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-relation_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-tracking_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zero-allocation-hashing-0.16.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-apiinfo_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classfile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classpath_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-lm-integration_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist-core-assembly-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc_2.12-1.10.1.jar
diff --git a/project/target/streams/compile/exportedProducts/_global/streams/export b/project/target/streams/compile/exportedProducts/_global/streams/export
deleted file mode 100644
index c09bd0fef..000000000
--- a/project/target/streams/compile/exportedProducts/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\youse\OneDrive\Documents\GitHub\scalation_2.0\project\target\scala-2.12\sbt-1.0\classes
diff --git a/project/target/streams/compile/externalDependencyClasspath/_global/streams/export b/project/target/streams/compile/externalDependencyClasspath/_global/streams/export
deleted file mode 100644
index 287231bc4..000000000
--- a/project/target/streams/compile/externalDependencyClasspath/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-library.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-compiler.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-reflect.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-xml_2.12-2.2.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\actions_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\caffeine-2.8.5.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\checker-qual-3.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\collections_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\command_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-bridge_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\completion_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\config-1.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\core-macros_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\disruptor-3.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\error_prone_annotations-2.4.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\file-tree-views-2.1.12.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-apache-http_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-core_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\io_2.12-1.10.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ipcsocket-1.6.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ivy-2.3.0-sbt-396a783bba347016e7fe30dacc60d355be607fe2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jansi-2.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-2.14.7-sbt-9c3b6aca11c57e339441442bbf58e550cdfecb79.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-builtins-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-native-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-reader-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-style-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jansi-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jna-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-platform-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jsch-0.2.17.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\launcher-interface-1.4.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-ivy_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\lm-coursier-shaded_2.12-2.1.4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-api-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-core-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-slf4j-impl-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\logic_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main-settings_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\protocol_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\reactive-streams-1.0.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\run_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbinary_2.12-0.5.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbt-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-collection-compat_2.12-2.11.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-compiler-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-library-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-parser-combinators_2.12-1.1.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-reflect-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-xml_2.12-2.3.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scripted-plugin_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-apache-httpasyncclient-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-jawn-parser_2.12-1.3.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-scalajson_2.12-1.0.0-M4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-core_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-murmurhash_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-scalajson_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\slf4j-api-1.7.36.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ssl-config-core_2.12-0.6.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\task-system_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\tasks_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\template-resolver-0.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-agent-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-interface-1.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\testing_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-cache_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-control_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-logging_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-position_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-relation_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-tracking_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zero-allocation-hashing-0.16.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-apiinfo_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classfile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classpath_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-lm-integration_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist-core-assembly-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc_2.12-1.10.1.jar
diff --git a/project/target/streams/compile/incOptions/_global/streams/out b/project/target/streams/compile/incOptions/_global/streams/out
deleted file mode 100644
index 4b1f621b5..000000000
--- a/project/target/streams/compile/incOptions/_global/streams/out
+++ /dev/null
@@ -1,5 +0,0 @@
-[debug] Created transactional ClassFileManager with tempDir = C:\Users\youse\OneDrive\Documents\GitHub\scalation_2.0\project\target\scala-2.12\sbt-1.0\classes.bak
-[debug] About to delete class files:
-[debug] We backup class files:
-[debug] Created transactional ClassFileManager with tempDir = C:\Users\youse\OneDrive\Documents\GitHub\scalation_2.0\project\target\scala-2.12\sbt-1.0\classes.bak
-[debug] Removing the temporary directory used for backing up class files: C:\Users\youse\OneDrive\Documents\GitHub\scalation_2.0\project\target\scala-2.12\sbt-1.0\classes.bak
diff --git a/project/target/streams/compile/internalDependencyClasspath/_global/streams/export b/project/target/streams/compile/internalDependencyClasspath/_global/streams/export
deleted file mode 100644
index 8b1378917..000000000
--- a/project/target/streams/compile/internalDependencyClasspath/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/project/target/streams/compile/internalDependencyClasspath/_global/streams/out b/project/target/streams/compile/internalDependencyClasspath/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/compile/managedClasspath/_global/streams/export b/project/target/streams/compile/managedClasspath/_global/streams/export
deleted file mode 100644
index 287231bc4..000000000
--- a/project/target/streams/compile/managedClasspath/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-library.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-compiler.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-reflect.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-xml_2.12-2.2.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\actions_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\caffeine-2.8.5.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\checker-qual-3.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\collections_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\command_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-bridge_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\completion_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\config-1.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\core-macros_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\disruptor-3.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\error_prone_annotations-2.4.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\file-tree-views-2.1.12.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-apache-http_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-core_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\io_2.12-1.10.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ipcsocket-1.6.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ivy-2.3.0-sbt-396a783bba347016e7fe30dacc60d355be607fe2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jansi-2.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-2.14.7-sbt-9c3b6aca11c57e339441442bbf58e550cdfecb79.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-builtins-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-native-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-reader-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-style-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jansi-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jna-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-platform-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jsch-0.2.17.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\launcher-interface-1.4.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-ivy_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\lm-coursier-shaded_2.12-2.1.4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-api-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-core-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-slf4j-impl-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\logic_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main-settings_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\protocol_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\reactive-streams-1.0.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\run_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbinary_2.12-0.5.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbt-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-collection-compat_2.12-2.11.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-compiler-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-library-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-parser-combinators_2.12-1.1.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-reflect-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-xml_2.12-2.3.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scripted-plugin_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-apache-httpasyncclient-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-jawn-parser_2.12-1.3.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-scalajson_2.12-1.0.0-M4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-core_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-murmurhash_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-scalajson_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\slf4j-api-1.7.36.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ssl-config-core_2.12-0.6.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\task-system_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\tasks_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\template-resolver-0.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-agent-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-interface-1.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\testing_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-cache_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-control_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-logging_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-position_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-relation_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-tracking_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zero-allocation-hashing-0.16.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-apiinfo_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classfile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classpath_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-lm-integration_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist-core-assembly-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc_2.12-1.10.1.jar
diff --git a/project/target/streams/compile/scalacOptions/_global/streams/out b/project/target/streams/compile/scalacOptions/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/compile/unmanagedClasspath/_global/streams/export b/project/target/streams/compile/unmanagedClasspath/_global/streams/export
deleted file mode 100644
index 8b1378917..000000000
--- a/project/target/streams/compile/unmanagedClasspath/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/project/target/streams/compile/unmanagedClasspath/_global/streams/out b/project/target/streams/compile/unmanagedClasspath/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/compile/unmanagedJars/_global/streams/export b/project/target/streams/compile/unmanagedJars/_global/streams/export
deleted file mode 100644
index 8b1378917..000000000
--- a/project/target/streams/compile/unmanagedJars/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/project/target/streams/runtime/dependencyClasspath/_global/streams/export b/project/target/streams/runtime/dependencyClasspath/_global/streams/export
deleted file mode 100644
index 89827d136..000000000
--- a/project/target/streams/runtime/dependencyClasspath/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\youse\OneDrive\Documents\GitHub\scalation_2.0\project\target\scala-2.12\sbt-1.0\classes;C:\Users\youse\.sbt\1.0\plugins\target\scala-2.12\sbt-1.0\classes;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-compiler.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-library.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-reflect.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-xml_2.12-2.2.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\actions_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\caffeine-2.8.5.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\checker-qual-3.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\collections_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\command_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-bridge_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\completion_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\config-1.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\core-macros_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\disruptor-3.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\error_prone_annotations-2.4.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\file-tree-views-2.1.12.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-apache-http_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-core_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\io_2.12-1.10.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ipcsocket-1.6.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ivy-2.3.0-sbt-396a783bba347016e7fe30dacc60d355be607fe2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jansi-2.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-2.14.7-sbt-9c3b6aca11c57e339441442bbf58e550cdfecb79.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-builtins-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-native-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-reader-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-style-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jansi-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jna-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-platform-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jsch-0.2.17.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\launcher-interface-1.4.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-ivy_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\lm-coursier-shaded_2.12-2.1.4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-api-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-core-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-slf4j-impl-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\logic_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main-settings_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\protocol_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\reactive-streams-1.0.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\run_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbinary_2.12-0.5.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbt-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-collection-compat_2.12-2.11.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-compiler-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-library-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-parser-combinators_2.12-1.1.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-reflect-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-xml_2.12-2.3.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scripted-plugin_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-apache-httpasyncclient-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-jawn-parser_2.12-1.3.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-scalajson_2.12-1.0.0-M4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-core_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-murmurhash_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-scalajson_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\slf4j-api-1.7.36.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ssl-config-core_2.12-0.6.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\task-system_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\tasks_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\template-resolver-0.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-agent-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-interface-1.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\testing_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-cache_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-control_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-logging_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-position_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-relation_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-tracking_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zero-allocation-hashing-0.16.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-apiinfo_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classfile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classpath_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-lm-integration_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist-core-assembly-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc_2.12-1.10.1.jar
diff --git a/project/target/streams/runtime/exportedProducts/_global/streams/export b/project/target/streams/runtime/exportedProducts/_global/streams/export
deleted file mode 100644
index c09bd0fef..000000000
--- a/project/target/streams/runtime/exportedProducts/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\youse\OneDrive\Documents\GitHub\scalation_2.0\project\target\scala-2.12\sbt-1.0\classes
diff --git a/project/target/streams/runtime/externalDependencyClasspath/_global/streams/export b/project/target/streams/runtime/externalDependencyClasspath/_global/streams/export
deleted file mode 100644
index 7f7bde626..000000000
--- a/project/target/streams/runtime/externalDependencyClasspath/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-compiler.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-library.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-reflect.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-xml_2.12-2.2.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\actions_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\caffeine-2.8.5.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\checker-qual-3.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\collections_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\command_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-bridge_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\completion_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\config-1.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\core-macros_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\disruptor-3.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\error_prone_annotations-2.4.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\file-tree-views-2.1.12.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-apache-http_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-core_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\io_2.12-1.10.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ipcsocket-1.6.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ivy-2.3.0-sbt-396a783bba347016e7fe30dacc60d355be607fe2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jansi-2.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-2.14.7-sbt-9c3b6aca11c57e339441442bbf58e550cdfecb79.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-builtins-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-native-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-reader-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-style-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jansi-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jna-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-platform-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jsch-0.2.17.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\launcher-interface-1.4.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-ivy_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\lm-coursier-shaded_2.12-2.1.4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-api-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-core-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-slf4j-impl-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\logic_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main-settings_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\protocol_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\reactive-streams-1.0.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\run_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbinary_2.12-0.5.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbt-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-collection-compat_2.12-2.11.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-compiler-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-library-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-parser-combinators_2.12-1.1.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-reflect-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-xml_2.12-2.3.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scripted-plugin_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-apache-httpasyncclient-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-jawn-parser_2.12-1.3.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-scalajson_2.12-1.0.0-M4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-core_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-murmurhash_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-scalajson_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\slf4j-api-1.7.36.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ssl-config-core_2.12-0.6.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\task-system_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\tasks_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\template-resolver-0.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-agent-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-interface-1.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\testing_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-cache_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-control_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-logging_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-position_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-relation_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-tracking_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zero-allocation-hashing-0.16.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-apiinfo_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classfile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classpath_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-lm-integration_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist-core-assembly-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc_2.12-1.10.1.jar
diff --git a/project/target/streams/runtime/fullClasspath/_global/streams/export b/project/target/streams/runtime/fullClasspath/_global/streams/export
deleted file mode 100644
index 89827d136..000000000
--- a/project/target/streams/runtime/fullClasspath/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\youse\OneDrive\Documents\GitHub\scalation_2.0\project\target\scala-2.12\sbt-1.0\classes;C:\Users\youse\.sbt\1.0\plugins\target\scala-2.12\sbt-1.0\classes;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-compiler.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-library.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-reflect.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-xml_2.12-2.2.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\actions_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\caffeine-2.8.5.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\checker-qual-3.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\collections_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\command_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-bridge_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\completion_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\config-1.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\core-macros_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\disruptor-3.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\error_prone_annotations-2.4.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\file-tree-views-2.1.12.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-apache-http_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-core_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\io_2.12-1.10.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ipcsocket-1.6.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ivy-2.3.0-sbt-396a783bba347016e7fe30dacc60d355be607fe2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jansi-2.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-2.14.7-sbt-9c3b6aca11c57e339441442bbf58e550cdfecb79.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-builtins-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-native-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-reader-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-style-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jansi-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jna-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-platform-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jsch-0.2.17.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\launcher-interface-1.4.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-ivy_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\lm-coursier-shaded_2.12-2.1.4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-api-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-core-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-slf4j-impl-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\logic_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main-settings_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\protocol_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\reactive-streams-1.0.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\run_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbinary_2.12-0.5.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbt-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-collection-compat_2.12-2.11.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-compiler-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-library-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-parser-combinators_2.12-1.1.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-reflect-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-xml_2.12-2.3.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scripted-plugin_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-apache-httpasyncclient-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-jawn-parser_2.12-1.3.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-scalajson_2.12-1.0.0-M4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-core_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-murmurhash_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-scalajson_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\slf4j-api-1.7.36.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ssl-config-core_2.12-0.6.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\task-system_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\tasks_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\template-resolver-0.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-agent-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-interface-1.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\testing_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-cache_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-control_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-logging_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-position_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-relation_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-tracking_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zero-allocation-hashing-0.16.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-apiinfo_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classfile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classpath_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-lm-integration_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist-core-assembly-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc_2.12-1.10.1.jar
diff --git a/project/target/streams/runtime/internalDependencyClasspath/_global/streams/export b/project/target/streams/runtime/internalDependencyClasspath/_global/streams/export
deleted file mode 100644
index c09bd0fef..000000000
--- a/project/target/streams/runtime/internalDependencyClasspath/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\youse\OneDrive\Documents\GitHub\scalation_2.0\project\target\scala-2.12\sbt-1.0\classes
diff --git a/project/target/streams/runtime/internalDependencyClasspath/_global/streams/out b/project/target/streams/runtime/internalDependencyClasspath/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/runtime/managedClasspath/_global/streams/export b/project/target/streams/runtime/managedClasspath/_global/streams/export
deleted file mode 100644
index 7f7bde626..000000000
--- a/project/target/streams/runtime/managedClasspath/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-compiler.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-library.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-reflect.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\lib\scala-xml_2.12-2.2.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\actions_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\caffeine-2.8.5.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\checker-qual-3.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\collections_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\command_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-bridge_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\compiler-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\completion_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\config-1.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\core-macros_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\disruptor-3.4.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\error_prone_annotations-2.4.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\file-tree-views-2.1.12.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-apache-http_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\gigahorse-core_2.12-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\io_2.12-1.10.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ipcsocket-1.6.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ivy-2.3.0-sbt-396a783bba347016e7fe30dacc60d355be607fe2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jansi-2.4.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-2.14.7-sbt-9c3b6aca11c57e339441442bbf58e550cdfecb79.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-builtins-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-native-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-reader-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-style-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jansi-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jline-terminal-jna-3.24.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jna-platform-5.13.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\jsch-0.2.17.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\launcher-interface-1.4.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\librarymanagement-ivy_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\lm-coursier-shaded_2.12-2.1.4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-api-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-core-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\log4j-slf4j-impl-2.17.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\logic_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main-settings_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\main_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\protocol_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\reactive-streams-1.0.3.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\run_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbinary_2.12-0.5.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sbt-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-collection-compat_2.12-2.11.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-compiler-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-library-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-parser-combinators_2.12-1.1.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-reflect-2.12.19.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scala-xml_2.12-2.3.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\scripted-plugin_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-apache-httpasyncclient-0.7.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-jawn-parser_2.12-1.3.2.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\shaded-scalajson_2.12-1.0.0-M4.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-core_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-murmurhash_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\sjson-new-scalajson_2.12-0.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\slf4j-api-1.7.36.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\ssl-config-core_2.12-0.6.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\task-system_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\tasks_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\template-resolver-0.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-agent-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\test-interface-1.0.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\testing_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-cache_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-control_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-interface-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-logging_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-position_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-relation_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\util-tracking_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zero-allocation-hashing-0.16.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-apiinfo_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classfile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-classpath_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-compile_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-core_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-lm-integration_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist-core-assembly-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc-persist_2.12-1.10.1.jar;C:\Users\youse\.sbt\boot\scala-2.12.19\org.scala-sbt\sbt\1.10.1\zinc_2.12-1.10.1.jar
diff --git a/project/target/streams/runtime/unmanagedClasspath/_global/streams/export b/project/target/streams/runtime/unmanagedClasspath/_global/streams/export
deleted file mode 100644
index 8b1378917..000000000
--- a/project/target/streams/runtime/unmanagedClasspath/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/project/target/streams/runtime/unmanagedClasspath/_global/streams/out b/project/target/streams/runtime/unmanagedClasspath/_global/streams/out
deleted file mode 100644
index e69de29bb..000000000
diff --git a/project/target/streams/runtime/unmanagedJars/_global/streams/export b/project/target/streams/runtime/unmanagedJars/_global/streams/export
deleted file mode 100644
index 8b1378917..000000000
--- a/project/target/streams/runtime/unmanagedJars/_global/streams/export
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/main/scala/scalation/Bool.scala b/src/main/scala/scalation/Bool.scala
index 53bfaeef0..b0bb460ee 100644
--- a/src/main/scala/scalation/Bool.scala
+++ b/src/main/scala/scalation/Bool.scala
@@ -11,7 +11,8 @@
package scalation
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-/** Extend `Boolean` to include an and, or, not, xor. Note: they all have the same precedence.
+/** Extend `Boolean` to include an and, or, not, xor.
+ * @note: unfortunately they all have the same precedence.
*/
extension (x: Boolean)
inline infix def and (y: Boolean): Boolean = x && y
diff --git a/src/main/scala/scalation/Calc.scala b/src/main/scala/scalation/Calc.scala
index f4d22db97..ef1498296 100644
--- a/src/main/scala/scalation/Calc.scala
+++ b/src/main/scala/scalation/Calc.scala
@@ -19,9 +19,11 @@ import scala.math._
*/
object Calc:
-// def f(x: Double): Double = 6.67408E-11 * 5.97219E24 * x / 6.371E6~^2 + log (1.0)
+ def f(x: Double): Double = 6.67430E-11 * 5.97219E24 * x / 6.371E6~^2
- def f(x: Double): Double = ceil (log10 (x / 9.0))
+ def f2(x: Double): Double = 6.67408E-11 * 5.97219E24 * x / 6.371E6~^2 + log (1.0)
+
+// def f(x: Double): Double = ceil (log10 (x / 9.0))
end Calc
diff --git a/src/main/scala/scalation/CircularQueue.scala b/src/main/scala/scalation/CircularQueue.scala
index 30f80b9ac..0c2a7ee9a 100644
--- a/src/main/scala/scalation/CircularQueue.scala
+++ b/src/main/scala/scalation/CircularQueue.scala
@@ -80,7 +80,6 @@ class CircularQueue [A: ClassTag] (cap: Int):
if isFull then
front = (front + 1) % maxSize // isFull => drop oldest element
nElem -= 1
- end if
rear = (rear + 1) % maxSize // advance rear index
store(rear) = elem // store new element
nElem += 1
diff --git a/src/main/scala/scalation/CommonFunctions.scala b/src/main/scala/scalation/CommonFunctions.scala
index 9fef91200..ac31cd10b 100644
--- a/src/main/scala/scalation/CommonFunctions.scala
+++ b/src/main/scala/scalation/CommonFunctions.scala
@@ -23,9 +23,11 @@
* //def log10 (x: Double): Double
* def pow2 (x: Double): Double
* def pow10 (x: Double): Double
+ * def pow (x: Double, a: Int, b: Int): Double
* //def log1p (x: Double): Double
* //def expm1 (x: Double): Double
* def logb (b: Double, x: Double): Double
+ * def ihs (x: Double): Double
*
* Many common functions are also supplied by the `scala.math` package.
*/
@@ -125,6 +127,28 @@ inline def log2 (x: Double): Double = log (x) / log_2
inline def log10 (x: Double): Double = log (x) / log_10
*/
+//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+/** Find the y-th root of x, i.e., x ~^ 1/y for Scala Longs.
+ * r = x ~^ 1/y is largest long integer r such that r ~^ y <= x.
+ * @see http://en.wikipedia.org/wiki/Shifting_nth_root_algorithm
+ * @see http://stackoverflow.com/questions/8826822/calculate-nth-root-with-integer-arithmetic
+ * @param x the Long base parameter
+ * @param y the Long root level (reciprocal exponent) parameter
+ */
+def lroot (x: Long, y: Long): Long =
+ var r = 1L // initial guess for root
+
+ def step: Long = ((y-1) * r + x / r~^(y-1)) / y
+
+ var q = step // find better root
+ while
+ r = q
+ q = step
+ q < r
+ do () // repeat looking for better root
+ r
+end lroot
+
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** The power base 2 function 2^x of type `FunctionS2S`.
* Its inverse function is log2.
@@ -139,6 +163,21 @@ inline def pow2 (x: Double): Double = pow (2.0, x)
*/
inline def pow10 (x: Double): Double = pow (10.0, x)
+//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+/** Raise x to a rational (fractional) power r = b/c where b and c are longs using logic to handle
+ * the sign separately if the exponent is a simple fraction with an odd denominator.
+ * In particular, use `pow` when x is non-negative, else the identity (−a)^(b/c) = (−1)^b a^(b/c)
+ * when c is odd, otherwise return Not-a-Number (NaN).
+ * @see math.stackexchange.com/questions/317528/how-do-you-compute-negative-numbers-to-fractional-powers
+ * @param x the value of the base x^r
+ * @param r the rational `Rat` exponent: power/root, num/den, b/c
+ */
+def pow_ (x: Double, r: Rat): Double =
+ if x >= 0.0 then pow (x, r.toDouble)
+ else if r.den % 2 == 1 then pow (-1, r.num.toDouble) * pow (-x, r.toDouble)
+ else Double.NaN
+end pow_
+
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** The power to p function x^p of type `FunctionS2S`.
* Its inverse function is powTo (1/p)(x)
@@ -233,6 +272,15 @@ inline def logb (b: Double, x: Double): Double = log (x) / log (b)
println (s"expm1 (log1p ($x)) = ${expm1 (a)}")
println (s"exp (log (1+$x)) - 1 = ${exp (b) - 1}")
+ banner (s"Test pow_ (xx, r)")
+ val xx = -8.0
+ println (s"pow_ ($xx, Rat (2, 3))) = ${pow_ (xx, Rat (2, 3))}")
+ println (s"pow_ ($xx, Rat (1, 3))) = ${pow_ (xx, Rat (1, 3))}")
+ println (s"pow_ ($xx, Rat (1, 2))) = ${pow_ (xx, Rat (1, 2))}")
+ println (s"pow ($xx, 2/3)) = ${pow (xx, 2.toDouble/3)}")
+ println (s"pow ($xx, 1/3)) = ${pow (xx, 1.toDouble/3)}")
+ println (s"pow ($xx, 1/2)) = ${pow (xx, 1.toDouble/ 2)}")
+
banner (s"Test ihs (x = $x)")
val u = ihs (x)
println (s"lhs ($x)) = $u")
diff --git a/src/main/scala/scalation/mathstat/Complex.scala b/src/main/scala/scalation/Complex.scala
similarity index 90%
rename from src/main/scala/scalation/mathstat/Complex.scala
rename to src/main/scala/scalation/Complex.scala
index e6ac80a48..5445af94a 100644
--- a/src/main/scala/scalation/mathstat/Complex.scala
+++ b/src/main/scala/scalation/Complex.scala
@@ -9,7 +9,6 @@
*/
package scalation
-package mathstat
//import scala.language.implicitConversions
import scala.math.{acos, cos, sin}
@@ -60,54 +59,64 @@ case class Complex (re: Double, im: Double = 0.0)
inline def negate (c: Complex): Complex = -c
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Add two complex numbers.
+ /** Add two complex numbers, this + c.
* @param c add complex c to this
*/
def + (c: Complex): Complex = Complex (re + c.re, im + c.im)
- def + (d: Double): Complex = Complex (re + d, im)
- def plus (c: Complex, d: Complex): Complex = c + d
+ def + (d: Double): Complex = Complex (re + d, im)
+ inline def plus (c: Complex, d: Complex): Complex = c + d
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Subtract two complex numbers.
+ /** Subtract two complex numbers, this - c.
* @param c subtract c from this
*/
def - (c: Complex): Complex = Complex (re - c.re, im - c.im)
- def - (d: Double): Complex = Complex (re - d, im)
+ def - (d: Double): Complex = Complex (re - d, im)
inline def minus (c: Complex, d: Complex): Complex = c - d
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Multiply two complex numbers.
- * @param c multiply 'this' times c
+ /** Multiply two complex numbers, this * c.
+ * @param c multiply this times c
*/
def * (c: Complex): Complex = Complex (re * c.re - im * c.im, re * c.im + im * c.re)
- def * (d: Double): Complex = Complex (re * d, im * d)
+ def * (d: Double): Complex = Complex (re * d, im * d)
inline def times (c: Complex, d: Complex): Complex = c * d
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Divide two complex numbers.
+ /** Divide two complex numbers, this / c.
* @param c divide this by c
*/
def / (c: Complex): Complex = Complex ((re * c.re + im * c.im) / (c.re * c.re + c.im * c.im),
(im * c.re - re * c.im) / (c.re * c.re + c.im * c.im))
- def / (d: Double): Complex = Complex (re / d, im / d)
+ def / (d: Double): Complex = Complex (re / d, im / d)
inline def div (c: Complex, d: Complex): Complex = c / d
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Raise a complex to the 'r'-th power (a double) using polar coordinates.
+ /** Raise a complex number to the 'r'-th power (a double) using polar coordinates.
* @param r the power/exponent
*/
def ~^ (r: Double): Complex =
- val (rad, ang) = polar
- Complex.create (rad ~^ r, ang * r)
- def ↑ (r: Double): Complex = this ~^ r
+ val (radi, ang) = polar
+ Complex.create (radi ~^ r, ang * r)
inline def pow (c: Complex, r: Double): Complex = c ~^ r
+ //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Raise a complex number to the 'r'-th power (a rational number) using polar coordinates.
+ * Extended to handle a negative base.
+ * @see `pow_` in CommonFunctions.
+ * @param r the power/exponent
+ */
+ def ↑ (r: Rat): Complex =
+ val (radi, ang) = polar
+ Complex.create (radi ↑ r, ang * r.toDouble)
+ inline def pow_ (c: Complex, r: Rat): Complex = c ↑ r
+
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** Return whether two complex numbers are nearly equal.
* @param c compare this with c
*/
- def =~ (c: Complex): Boolean = (re =~ c.re && im =~ c.im)
- def ≈ (c: Complex): Boolean = near_eq (this, c)
+ def =~ (c: Complex): Boolean = re =~ c.re && im =~ c.im
+ inline def ≈ (c: Complex): Boolean = this =~ c
inline def near_eq (c: Complex, d: Complex): Boolean = c =~ d
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@@ -123,7 +132,7 @@ case class Complex (re: Double, im: Double = 0.0)
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** Return the complex number in polar coordinates (radius, angle).
*/
- def polar: (Double, Double) = { val rad = radius; (rad, acos (re / rad)) }
+ def polar: (Double, Double) = { val radi = radius; (radi, acos (re / radi)) }
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** Return the complex conjugate: if z = (a + bi) then z.bar = (a - bi).
@@ -332,6 +341,12 @@ object Complex:
private val rr2 = 1.0 / math.sqrt (2.0) // reciprocal root of 2.
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Implicit conversion from `Double` to `Complex`.
+ * @param d the Double parameter to convert
+ */
+// implicit def double2Complex (d: Double): Rat = fromDouble (d)
+
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** Create a complex number from a pair of 'Double's.
* @param ct the tuple form of a complex number
@@ -362,10 +377,10 @@ object Complex:
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** Create a complex number from the given polar coordinates.
- * @param rad the radius (the length of the vector in the 're-im' plane)
- * @param ang the angle (the angle of the vector above the 're'-axis)
+ * @param radi the radius (the length of the vector in the 're-im' plane)
+ * @param ang the angle (the angle of the vector above the 're'-axis)
*/
- def create (rad: Double, ang: Double): Complex = Complex (rad * cos (ang), rad * sin (ang))
+ def create (radi: Double, ang: Double): Complex = Complex (radi * cos (ang), radi * sin (ang))
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** Return the absolute value of that complex number.
@@ -421,7 +436,7 @@ object Complex:
/** Ordering for complex numbers
*/
val ord = new Ordering [Complex]
- { def compare (c: Complex, d: Complex) = c compare d }
+ { def compare (c: Complex, d: Complex) = c compare d }
end Complex
@@ -469,7 +484,7 @@ end Complex
println ("c < d = " + (c < d))
println ("d < c = " + (d < c))
- def sort (arr: Array [Complex]): Unit = { quickSort (arr)(Complex.ord) }
+ def sort (arr: Array [Complex]): Unit = { quickSort (arr)(using Complex.ord) }
val arr = Array (e, d, c)
println ("arr = " + stringOf (arr))
diff --git a/src/main/scala/scalation/DoublyLinkedList.scala b/src/main/scala/scalation/DoublyLinkedList.scala
index 0eac28090..f43871205 100644
--- a/src/main/scala/scalation/DoublyLinkedList.scala
+++ b/src/main/scala/scalation/DoublyLinkedList.scala
@@ -5,52 +5,56 @@
* @date Sun Feb 25 20:55:28 EST 2024
* @see LICENSE (MIT style license file).
*
- * @note Data Structure: Doubly Linked List
+ * @note Data Structure: Doubly Linked List with head and tail References
+ * suitable for implementing queues supporting removal of any element
*/
package scalation
-import scala.collection.mutable.AbstractIterable
-import scala.reflect.ClassTag
-
+import scala.collection.mutable.{AbstractIterable, ListBuffer}
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-/** The `DoublyLinkedList` class provides a data structure implementing mutable
- * doubly-linked lists.
- * next --> -->
- * tail (last car) --> [e1] [e2] [e3] <-- head (lead car)
- * prev <-- <--
- * @param A the type of the elements/values in the list
+/** The `DoublyLinkedList` class provides a data structure implementing mutable doubly-linked lists.
+ * Imagine a line of elements/cars moving left to right in a list/lane:
+ * remove head/lead car when it reaches the end of the lane
+ * add tail/last car when it reaches the beginning of the lane
+ *
+ * ahead --> -->
+ * tail (last car) --> [c3] [c2] [c1] <-- head (lead car)
+ * behind <-- <--
+ *
+ * @tparam A the type of the elements/values in the list
*/
-class DoublyLinkedList [A: ClassTag]
- extends AbstractIterable [A]
- with Serializable:
+class DoublyLinkedList [A]
+ extends AbstractIterable [A]
+ with Serializable:
- private val debug = debugf ("DoublyLinkedList", true)
+ private val debug = debugf ("DoublyLinkedList", true) // debug function
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** The `Node` inner case class wraps elements in nodes for double linkage.
- * @param elem the element
- * @param prev the predecessor node (car ahead)
- * @param next the successor node (car behind)
+ * @param elem the element in this node (you)
+ * @param ahead the node ahead of you (e.g., the car ahead)
+ * @param behind the node behind you (e.g., the car behind)
*/
- case class Node (elem: A, var prev: Node, var next: Node):
+ case class Node (elem: A, var ahead: Node, var behind: Node):
override def toString: String = s"Node ($elem)"
end Node
- private var head_ : Node = null // head node (first car)
+ private var head_ : Node = null // head node (lead car)
private var tail_ : Node = null // tail node (last car)
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** The `NodeIterator` inner class supports iterating over all the nodes in this list.
+ /** The `NodeIterator` inner class supports iterating over all the nodes in this list,
+ * moving foreward in list/lane (tail to head).
* @param ns the starting node (defaults to tail)
*/
class NodeIterator (ns: Node = tail_) extends Iterator [Node]:
- var n = ns
+ var n = ns // current node (positioned in list)
def hasNext: Boolean = n != null
- def next (): Node = { val n_ = n; n = n.next; n_ }
+ def next (): Node = { val cur = n; n = n.ahead; cur } // move forward towards the front of list/lane
end NodeIterator
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@@ -59,18 +63,19 @@ class DoublyLinkedList [A: ClassTag]
*/
def nodeIterator: Iterator [Node] = new NodeIterator ()
- def getPrev (n: Node): Node = n.prev
+ inline def getAhead (n: Node): Node = n.ahead
- def getNext (n: Node): Node = n.next
+ inline def getBehind (n: Node ): Node = n.behind
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** The `ListIterator` inner class supports iterating over all the elements in this list.
+ /** The `ListIterator` inner class supports iterating over all the elements in this list,
+ * moving foreward in list/lane (tail to head).
* @param ns the starting node (defaults to tail)
*/
class ListIterator (ns: Node = tail_) extends Iterator [A]:
- var n = ns
+ var n = ns // current node (positioned in list)
def hasNext: Boolean = n != null
- def next (): A = { val n_ = n; n = n.next; n_.elem }
+ def next (): A = { val cur = n; n = n.ahead; cur.elem } // move forward towards the front of list/lane
end ListIterator
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@@ -83,137 +88,127 @@ class DoublyLinkedList [A: ClassTag]
/** Retrieve the element in node n (e.g., the current car).
* @param n the node containing the sought element
*/
- def elemAt (n: Node): A = n.elem
+ inline def elemAt (n: Node): A = n.elem
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Return the head/first node in the list (e.g, node holding the first car).
+ /** Return the lead/first node in the list (e.g, node holding the lead car).
*/
- override def head: A = head_.elem
-
- def headNode: Node = head_
+ inline override def head: A = head_.elem
+ inline def headNode: Node = head_
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Return the tail/last node in the list (e.g, node holding the last car).
+ /** Return the trail/last node in the list (e.g, node holding the trail car).
*/
- override def last: A = tail_.elem
+ inline override def last: A = tail_.elem
- def lastNode: Node = tail_
+ inline def lastNode: Node = tail_
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** Return whether the list is empty (head and tail are null).
*/
- override def isEmpty: Boolean = head_ == null
+ inline override def isEmpty: Boolean = head_ == null
- //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Add the first element to an empty list and return the new node n.
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::fixed
+ /** Add the first element (a lead car) to a list and return the new node n.
* @param elm the element to be added
- * @return the new node added n
+ * @return the new node be added
*/
def addFirst (elm: A): Node =
- val n = Node (elm, null, head_) // new node has no predecessor and its next is the current head
+ val n = Node (elm, null, head_) // new node has nothing ahead, and its behind is the current head
if head_ != null then // if list is not empty
- head_.prev = n // update the previous head's prev to point to the new node
+ head_.ahead = n // update the head's ahead to point to the new node
head_ = n // update head to point to the new node
if tail_ == null then // if the list was empty (tail is null)
tail_ = n // set tail to the new node
+ debug ("addFirst", s"added node $n as the first element in list")
n
end addFirst
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Add the new element into the list AFTER the given predecessor node `pn` and
- * return the new node `n`.
- * Relink: _pn_ <-> n <-> nn
- * @param elm the element to be added
- * @param pn the predecessor node (defaults to head if not given)
+ /** Add a new element into the list BEFORE/behind the given node `nn` and return
+ * the new node `n`.
+ * Relink: bn <-> nn TO bn <-> n <-> nn
+ * @param elm the new element to be added
+ * @param nn the given node (defaults to tail if not given)
* @return the new node `n`
*/
- def addAfter (elm: A, pn: Node = head_): Node =
- if pn == null || isEmpty then
- addFirst (elm)
+ def add (elm: A, nn: Node = tail_): Node =
+ if isEmpty || nn == null then
+ addFirst (elm) // case 1: List is empty or no reference node
else
- val nn = pn.next // successor node nn
- val n = Node (elm, pn, nn) // make a new node n
- pn.next = n // link forward
- if nn != null then nn.prev = n // link backward
+ val bn = nn.behind // bn references the node behind nn
+ val n = Node (elm, nn, bn) // new node is inserted with nn ahead and bn behind
+
+ if bn != null then bn.ahead = n // fix ahead linkage of bn (behind) node
+ nn.behind = n // fix behind linkage of the nn (given) node
- if pn == head_ then head_ = n // if pn was head, reset to n
- debug ("addAfter", s"pn = $pn, n = $n, nn = $nn")
+ if nn == tail_ then tail_ = n // update tail if inserting at the end
+
+ debug ("add", s"[bn = $bn] <-> [n = $n] <-> [nn = $nn]")
n
- end addAfter
+ end add
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Add the new element into the list BEFORE the given successor node `nn` and
- * return the new node `n`.
- * Relink: pn <-> _nn_ TO pn <-> n <-> _nn_
+ /** Add a new element BEFORE the given successor node `nn` and return the new node `n`.
+ * Relink: pn <-> nn TO pn <-> n <-> nn
+ * The predecessor (`pn`) of the successor node `nn` is relinked to point to the new node `n`.
+ * Similarly, the new node `n` links back to `pn` and forward to `nn`. If `nn` is `null`,
+ * this method adds the element as the first element in the list.
* @param elm the element to be added
- * @param nn the successor(next) node (defaults to tail if not given)
- * @return the new node `n`
- */
- def add (elm: A, nn: Node = tail_): Node =
- if nn == null || isEmpty then
- addFirst (elm)
+ * @param nn the successor node (defaults to `null` if not provided)
+ * @return the newly created node `n` inserted before node `nn`
+ *
+ def addBefore (elm: A, pn: Node): Node =
+ val nn = pn.behind // Get the behind node (car behind `pn`)
+
+ if nn == null then
+ // Case 1: `pn` is the head, so insert BEHIND it and assume tail.
+ val n = Node(elm, pn, null) // New node's ahead = pn, behind = null
+ pn.behind = n // Fix behind linkage
+ tail_ = n // Update the tail pointer
+ debug("addBefore", s"Inserted node $n behind head $pn (new tail)")
+ n
else
- val pn = nn.prev // predecessor node pn
- val n = Node (elm, pn, nn) // make a new node n
- nn.prev = n // link backward
- if pn != null then pn.next = n // link forward
-
- if nn == tail_ then tail_ = n // if nn was tail, reset to n
- debug("add", s"pn = $pn, n = $n, nn = $nn")
+ // Case 2: `pn` has a behind node (normal case, inserting between two nodes)
+ val n = Node(elm, pn, nn) // Insert between `pn` (ahead) and `nn` (behind)
+ pn.behind = n // Fix pn's behind pointer
+ nn.ahead = n // Fix nn's ahead pointer
+ debug("addBefore", s" pn= $pn n=$n and $nn")
n
- end add
+ end addBefore
+ */
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** Remove the node `n` from the linked list.
- * Relink: pn <-> n <-> nn TO pn <-> nn
- * @param n the node to remove (unlink)
+ * Relink: bn <-> n <-> an TO bn <-> an
+ * @param n the given node to remove (unlink)
*/
def remove (n: Node = head_): Unit =
- val pn = n.prev // predecessor node pn
- val nn = n.next // successor node nn
+ val an = n.ahead // an = the node/car AHEAD of node n
+ val bn = n.behind // bn = the node/car BEHIND node n
- if pn != null then pn.next = nn // forward bypass of n
- if nn != null then nn.prev = pn // backward bypass of n
+ if an != null then an.behind = bn // set an's ref: bn <- an
+ if bn != null then bn.ahead = an // set nn's ref: bn -> an
- if n == head_ then head_ = nn // if n was head, reset to nn
- if n == tail_ then tail_ = pn // if n was tail, reset to pn
+ if n == head_ then head_ = bn // if n was head, reset to bn
+ if n == tail_ then tail_ = an // if n was tail, reset to an
- n.prev = null // n no longer links
- n.next = null
- debug ("remove", s"pn = $pn, nn = $nn")
+ n.ahead = null // n no longer links
+ n.behind = null
+ debug ("remove", s"[bn = $bn] <-> [an = $an]")
end remove
- //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Add the new element BEFORE the given successor node `nn` and return the new node `n`.
- * Relink: pn <-> nn TO pn <-> n <-> nn
- * The predecessor (`pn`) of the successor node `nn` is relinked to point to the new node `n`.
- * Similarly, the new node `n` links back to `pn` and forward to `nn`. If `nn` is `null`,
- * this method adds the element as the first element in the list.
- * @param elm the element to be added
- * @param nn the successor node (defaults to `null` if not provided)
- * @return the newly created node `n` inserted before node `nn`
- */
- def addBefore (elm: A, nn: Node): Node =
- if nn == null then addFirst (elm) // if nn is null, add as the first element
-
- val n = Node (elm, nn.prev, nn) // create the new node n with links to pn and nn
- if nn.prev != null then // if there is a predecessor, link it to n
- nn.prev.next = n
- nn.prev = n // link nn back to the new node n
- debug ("addBefore", s"elm = $elm, inserted before = ${nn.elem}")
- n
- end addBefore
-
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Clear the list of all nodes (and their elements).
+ /** Clear the list of all nodes (and their elements) by setting head_ and tail_
+ * to null, so CG can reclaim the unreferenced nodes.
*/
def clear (): Unit = { tail_ = null; head_ = null }
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- /** Convert this doubly linked list to a string.
+ /** Convert this doubly linked list to a string (tail to head).
*/
- override def toString (): String =
+ override def toString: String =
val sb = StringBuilder ("DoublyLinkedList (tail -")
for n <- nodeIterator do sb.append (s"> [ $n ] <-")
sb.append (" head)").mkString
@@ -222,12 +217,11 @@ class DoublyLinkedList [A: ClassTag]
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** Convert the elements of this doubly linked list to a Scala List.
* This method is efficient in terms of maintaining the correct order without
- * nneeding a separate reverse at the end.
+ * needing a separate reverse at the end.
*/
- override def toList: List[A] =
- val buf = new scala.collection.mutable.ListBuffer [A]() // use ListBuffer for efficient appends
- for n <- nodeIterator do // traverse using the predefined nodeIterator
- buf += n.elem
+ override def toList: List [A] =
+ val buf = ListBuffer [A] () // use ListBuffer for efficient appends
+ for n <- nodeIterator do buf += n.elem // traverse using the predefined nodeIterator
buf.toList // convert ListBuffer to List
end toList
@@ -240,30 +234,90 @@ end DoublyLinkedList
*/
@main def doublyLinkedListTest (): Unit =
- banner ("Test the add method")
+ banner ("Test the addFirst and add methods")
val dll = DoublyLinkedList [Int] ()
- for i <- 0 until 10 do dll.add (i)
- val n = dll.headNode
- println (s"n = $n")
- println (dll.getNext (n))
+ for i <- 0 until 10 do
+ if dll.isEmpty then dll.addFirst (i)
+ else dll.add (i)
+
+ banner ("Test the toString method")
+ println (s"dll = $dll")
+
+ banner ("Test the remove method")
+ while ! dll.isEmpty do
+ dll.remove ()
+ println (s"dll = $dll")
+
+end doublyLinkedListTest
- banner ("Test the addAfter method")
- dll.clear ()
- for i <- 0 until 10 do dll.addAfter (i)
- // bannern ("Test the addBefore method")
- // dll.clear ()
- // val initialNode = dll.addFirst (10) // start by adding an initial node to reference
- // for i <- 1 until 10 do
- // dll.addBefore (i, initialNode) // add before the initial node
+//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+/** The `doublyLinkedListTest` main function tests the `DoublyLinkedList` class.
+ * > runMain scalation.doublyLinkedListTest2
+ */
+@main def doublyLinkedListTest2 (): Unit =
+
+ banner ("Test the add method")
+ val dll = DoublyLinkedList [Int] ()
+ for i <- 0 until 10 do dll.add(i)
+ val n = dll.headNode
- // banner (dll.getprev (i))
- // banner (dll.getnext (i))
+ println (s"n the head node is: $n")
+ println (s"the node behind n is: ${dll.getBehind (n)}")
+ println (s"the node ahead of n is: ${dll.getAhead (n)}")
+ println (s"dll = $dll")
banner ("Test the remove method")
while ! dll.isEmpty do
dll.remove ()
println (dll)
-end doublyLinkedListTest
+end doublyLinkedListTest2
+
+
+//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+/** The `doublyLinkedListTest` main function tests the `DoublyLinkedList` class.
+ * > runMain scalation.doublyLinkedListTest3
+ *
+@main def doublyLinkedListTest3 (): Unit =
+
+ banner("Test the add and addBefore methods")
+
+ // Create DoublyLinkedList
+ val dll = DoublyLinkedList[Int]()
+
+ dll.add(98) // DLL now contains [ 98 ] (single node)
+ val head = dll.headNode
+ dll.addBefore(99, head) // Insert 99 before Node(98)
+ dll.addBefore(95, head) // Insert 99 before Node(98)
+ println(dll)
+
+@main def doublyLinkedListTest4(): Unit =
+ banner("Test the add and addBefore methods")
+
+ // Case 1: Insert normally at the tail (Default behavior)
+ val dll = DoublyLinkedList[Int]()
+ for i <- 0 until 5 do dll.add(i)
+ println("After normal insertion:")
+ println(dll)
+
+ // Case 2: Insert before a given node (Middle of list)
+ val refNode = dll.headNode.behind // Second node in the list
+ println(s"Inserting before $refNode")
+ dll.addBefore(99, refNode)
+ println("After inserting 99 before the second node:")
+ println(dll)
+
+ // Case 3: Insert before head (Becomes new head)
+ dll.addBefore(77, dll.headNode)
+ println("After inserting 77 before head:")
+ println(dll)
+
+ // Case 4: Insert when list is empty (Should work with addFirst)
+ val emptyDll = DoublyLinkedList[Int]()
+ emptyDll.addBefore(55, null)
+ println("After inserting 55 into empty list:")
+ println(emptyDll)
+
+ */
diff --git a/src/main/scala/scalation/DoublyLinkedList.scala.bak2 b/src/main/scala/scalation/DoublyLinkedList.scala.bak2
new file mode 100644
index 000000000..ef5a183c2
--- /dev/null
+++ b/src/main/scala/scalation/DoublyLinkedList.scala.bak2
@@ -0,0 +1,270 @@
+
+//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+/** @author John Miller, Korede Bishi
+ * @version 2.0
+ * @date Sun Feb 25 20:55:28 EST 2024
+ * @see LICENSE (MIT style license file).
+ *
+ * @note Data Structure: Doubly Linked List with front and tail references
+ *
+ * @see
+ * @see en.wikipedia.org/wiki/Queue_(abstract_data_type)
+ *
+ * May be used to implement FIFO Queues with removal of any element.
+ * Enqueue: add new element at the tail
+ * Denqueue: remove oldest element at front
+ */
+
+package scalation
+
+import scala.collection.mutable.AbstractIterable
+import scala.reflect.ClassTag
+
+//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+/** The `DoublyLinkedList` class provides a data structure implementing mutable
+ * doubly-linked lists.
+ * next --> -->
+ * tail (last car) --> [e3] [e2] [e1] <-- front (lead car)
+ * prev <-- <--
+ * @param A the type of the elements/values in the list
+ */
+class DoublyLinkedList [A: ClassTag]
+ extends AbstractIterable [A]
+ with Serializable:
+
+ private val debug = debugf ("DoublyLinkedList", true)
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** The `Node` inner case class wraps elements in nodes for double linkage.
+ * @param elem the element
+ * @param prev the predecessor node (car ahead)
+ * @param next the successor node (car behind)
+ */
+ case class Node (elem: A, var prev: Node, var next: Node):
+
+ override def toString: String = s"Node ($elem)"
+
+ end Node
+
+ private var front_ : Node = null // front node (first car)
+ private var tail_ : Node = null // tail node (last car)
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** The `NodeIterator` inner class supports iterating over all the nodes in this list.
+ * @param ns the starting node (defaults to tail)
+ */
+ class NodeIterator (ns: Node = tail_) extends Iterator [Node]:
+ var n = ns
+ def hasNext: Boolean = n != null
+ def next (): Node = { val n_ = n; n = n.next; n_ }
+ end NodeIterator
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Return an iterator for retrieving all the nodes in this list.
+ * @see scala.collection.IterableOnce
+ */
+ def nodeIterator: Iterator [Node] = new NodeIterator ()
+
+ def getPrev (n: Node): Node = n.prev
+
+ def getNext (n: Node): Node = n.next
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** The `ListIterator` inner class supports iterating over all the elements in this list.
+ * @param ns the starting node (defaults to tail)
+ */
+ class ListIterator (ns: Node = tail_) extends Iterator [A]:
+ var n = ns
+ def hasNext: Boolean = n != null
+ def next (): A = { val n_ = n; n = n.next; n_.elem }
+ end ListIterator
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Return an iterator for retrieving all the elements in this list.
+ * @see scala.collection.IterableOnce
+ */
+ def iterator: Iterator [A] = new ListIterator ()
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Retrieve the element in node n (e.g., the current car).
+ * @param n the node containing the sought element
+ */
+ def elemAt (n: Node): A = n.elem
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Return the front/first node in the list (e.g, node holding the first car).
+ */
+ override def front: A = front_.elem
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Return the tail/last node in the list (e.g, node holding the last car).
+ */
+ override def last: A = tail_.elem
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Return whether the list is empty (front and tail are null).
+ */
+ override def isEmpty: Boolean = front_ == null
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Add the first element to an empty list and return the new node n.
+ * @param elm the element to be added
+ * @return the new node added n
+ */
+ def addFirst (elm: A): Node =
+ val n = Node (elm, null, front_) // new node has no predecessor and its next is the current front
+ if front_ != null then // if list is not empty
+ front_.prev = n // update the previous front's prev to point to the new node
+ front_ = n // update front to point to the new node
+ if tail_ == null then // if the list was empty (tail is null)
+ tail_ = n // set tail to the new node
+ n
+ end addFirst
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Add the new element into the list AFTER the given predecessor node `pn` and
+ * return the new node `n`.
+ * Relink: _pn_ <-> n <-> nn
+ * @param elm the element to be added
+ * @param pn the predecessor node (defaults to front if not given)
+ * @return the new node `n`
+ */
+ def addAfter (elm: A, pn: Node = front_): Node =
+ if pn == null || isEmpty then
+ addFirst (elm)
+ else
+ val nn = pn.next // successor node nn
+ val n = Node (elm, pn, nn) // make a new node n
+ pn.next = n // link forward
+ if nn != null then nn.prev = n // link backward
+
+ if pn == front_ then front_ = n // if pn was front, reset to n
+ debug ("addAfter", s"pn = $pn, n = $n, nn = $nn")
+ n
+ end addAfter
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Add the new element into the list BEFORE the given successor node `nn` and
+ * return the new node `n`.
+ * Relink: pn <-> _nn_ TO pn <-> n <-> _nn_
+ * @param elm the element to be added
+ * @param nn the successor(next) node (defaults to tail if not given)
+ * @return the new node `n`
+ */
+ def add (elm: A, nn: Node = tail_): Node =
+ if nn == null || isEmpty then
+ addFirst (elm)
+ else
+ val pn = nn.prev // predecessor node pn
+ val n = Node (elm, pn, nn) // make a new node n
+ nn.prev = n // link backward
+ if pn != null then pn.next = n // link forward
+
+ if nn == tail_ then tail_ = n // if nn was tail, reset to n
+ debug("add", s"pn = $pn, n = $n, nn = $nn")
+ n
+ end add
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Remove the node `n` from the linked list.
+ * Relink: pn <-> n <-> nn TO pn <-> nn
+ * @param n the node to remove (unlink)
+ */
+ def remove (n: Node = front_): Unit =
+ val pn = n.prev // predecessor node pn
+ val nn = n.next // successor node nn
+
+ if pn != null then pn.next = nn // forward bypass of n
+ if nn != null then nn.prev = pn // backward bypass of n
+
+ if n == front_ then front_ = nn // if n was front, reset to nn
+ if n == tail_ then tail_ = pn // if n was tail, reset to pn
+
+ n.prev = null // n no longer links
+ n.next = null
+ debug ("remove", s"pn = $pn, nn = $nn")
+ end remove
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Add the new element BEFORE the given successor node `nn` and return the new node `n`.
+ * Relink: pn <-> nn TO pn <-> n <-> nn
+ * The predecessor (`pn`) of the successor node `nn` is relinked to point to the new node `n`.
+ * Similarly, the new node `n` links back to `pn` and forward to `nn`. If `nn` is `null`,
+ * this method adds the element as the first element in the list.
+ * @param elm the element to be added
+ * @param nn the successor node (defaults to `null` if not provided)
+ * @return the newly created node `n` inserted before node `nn`
+ */
+ def addBefore (elm: A, nn: Node): Node =
+ if nn == null then addFirst (elm) // if nn is null, add as the first element
+
+ val n = Node (elm, nn.prev, nn) // create the new node n with links to pn and nn
+ if nn.prev != null then // if there is a predecessor, link it to n
+ nn.prev.next = n
+ nn.prev = n // link nn back to the new node n
+ debug ("addBefore", s"elm = $elm, inserted before = ${nn.elem}")
+ n
+ end addBefore
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Clear the list of all nodes (and their elements).
+ */
+ def clear (): Unit = { tail_ = null; front_ = null }
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Convert this doubly linked list to a string.
+ */
+ override def toString (): String =
+ val sb = StringBuilder ("DoublyLinkedList (tail -")
+ for n <- nodeIterator do sb.append (s"> [ $n ] <-")
+ sb.append (" front)").mkString
+ end toString
+
+ //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ /** Convert the elements of this doubly linked list to a Scala List.
+ * This method is efficient in terms of maintaining the correct order without
+ * nneeding a separate reverse at the end.
+ */
+ override def toList: List[A] =
+ val buf = new scala.collection.mutable.ListBuffer [A]() // use ListBuffer for efficient appends
+ for n <- nodeIterator do // traverse using the predefined nodeIterator
+ buf += n.elem
+ buf.toList // convert ListBuffer to List
+ end toList
+
+end DoublyLinkedList
+
+
+//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+/** The `doublyLinkedListTest` main function tests the `DoublyLinkedList` class.
+ * > runMain scalation.doublyLinkedListTest
+ */
+@main def doublyLinkedListTest (): Unit =
+
+ banner ("Test the add method")
+ val dll = DoublyLinkedList [Int] ()
+ for i <- 0 until 10 do dll.add (i)
+ val n = dll.front
+ println (s"n = $n")
+ println (dll.getNext (n))
+
+ banner ("Test the addAfter method")
+ dll.clear ()
+ for i <- 0 until 10 do dll.addAfter (i)
+
+ // bannern ("Test the addBefore method")
+ // dll.clear ()
+ // val initialNode = dll.addFirst (10) // start by adding an initial node to reference
+ // for i <- 1 until 10 do
+ // dll.addBefore (i, initialNode) // add before the initial node
+
+ // banner (dll.getprev (i))
+ // banner (dll.getnext (i))
+
+ banner ("Test the remove method")
+ while ! dll.isEmpty do
+ dll.remove ()
+ println (dll)
+
+end doublyLinkedListTest
+
diff --git a/src/main/scala/scalation/Fib.scala b/src/main/scala/scalation/Fib.scala
index 7c4b5d751..4eb746b7f 100644
--- a/src/main/scala/scalation/Fib.scala
+++ b/src/main/scala/scalation/Fib.scala
@@ -55,7 +55,7 @@ end Fib
println (s"fib ($n) = $f_n")
val rig = random.Randi0 (100000)
- val a = (for i <- 0 until 10023 yield rig.igen).toArray // 10023 works, 10024 stack overflow
+ val a = (for _ <- 0 until 10023 yield rig.igen).toArray // 10023 works, 10024 stack overflow
// println (s"a = ${stringOf (a)}")
val m = min (a, a.length-1)
println (s"min = $m")
diff --git a/src/main/scala/scalation/FileReader.scala b/src/main/scala/scalation/FileReader.scala
index 2cc1c0875..d4afcce1c 100644
--- a/src/main/scala/scalation/FileReader.scala
+++ b/src/main/scala/scalation/FileReader.scala
@@ -33,7 +33,7 @@ def readFile (fileName: String, fullPath: Boolean = false): Int =
try
buffer = Source.fromFile (path) // @see BufferedSource
catch
- case ex: IOException => _flaw ("readFile", s"IOException: file $path may not exist.")
+ case _ : IOException => _flaw ("readFile", s"IOException: file $path may not exist.")
val lines = buffer.getLines
var i = 0
@@ -63,7 +63,7 @@ def readFileIntoArray (fileName: String, fullPath: Boolean = false, limit: Int =
try
buffer = Source.fromFile (path) // @see BufferedSource
catch
- case ex: IOException => _flaw ("readFileIntoArray", s"IOException: file $path may not exist.")
+ case _ : IOException => _flaw ("readFileIntoArray", s"IOException: file $path may not exist.")
val lineArr =
if limit <= 0 then
@@ -104,7 +104,7 @@ def readFileIter (fileName: String, fullPath: Boolean = false): (Iterator [Strin
try
buffer = Source.fromFile (path) // @see BufferedSource
catch
- case ex: IOException => _flaw ("readFileIter", s"IOException: file $path may not exist.")
+ case _ : IOException => _flaw ("readFileIter", s"IOException: file $path may not exist.")
val it: Iterator [String] = buffer.getLines () // line iterator
(it, buffer) // return iterator and buffer
diff --git a/src/main/scala/scalation/GenIndexHtml.scala b/src/main/scala/scalation/GenIndexHtml.scala
index ef39b56c0..635c4dc1c 100644
--- a/src/main/scala/scalation/GenIndexHtml.scala
+++ b/src/main/scala/scalation/GenIndexHtml.scala
@@ -53,14 +53,12 @@ import scala.collection.mutable.ArrayBuffer
fos.write ("
\n")
else if fName != SKIP && fName != "index.html" then
dirs += fi
- end if
end for
for fi <- dirs do
val fName = fi.getName ()
if fName != SKIP then
fos.write ("