Skip to content

Commit

Permalink
go routines
Browse files Browse the repository at this point in the history
  • Loading branch information
Aidan-Zamfir committed Jun 8, 2024
1 parent f58c6a8 commit 6b8a7fb
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 21 deletions.
10 changes: 6 additions & 4 deletions cli/normalize.go
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package cli

import (
"github.com/Aidan-Zamfir/normalizer/data"
"log"

"github.com/Aidan-Zamfir/normalizer/csvData"
"github.com/Aidan-Zamfir/normalizer/data"
"github.com/spf13/cobra"
"log"
)

var normalizeCmd = &cobra.Command{
Use: "nm",
Short: "Will return normalized values as .csv file", //decide
Args: cobra.MinimumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
c := make(chan []float64)

da, head, err := csvData.GetCSVData(args[0])
if err != nil {
Expand All @@ -22,7 +22,9 @@ var normalizeCmd = &cobra.Command{
cols := [][]float64{}

for i := range da {
result := data.MinMax(da[i])
go data.MinMax(da[i], c)
result := <-c
//result := data.MinMax(da[i])
cols = append(cols, result)
}

Expand Down
10 changes: 6 additions & 4 deletions cli/standardise.go
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
package cli

import (
"github.com/Aidan-Zamfir/normalizer/data"
"log"

"github.com/Aidan-Zamfir/normalizer/csvData"
"github.com/Aidan-Zamfir/normalizer/data"
"github.com/spf13/cobra"
"log"
)

var standardiseCmd = &cobra.Command{
Use: "stand",
Short: "Will return standardised values as .csv file", //decide
Args: cobra.MinimumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
c := make(chan []float64)

da, head, err := csvData.GetCSVData(args[0])
if err != nil {
log.Fatal(err)
Expand All @@ -21,7 +22,8 @@ var standardiseCmd = &cobra.Command{
cols := [][]float64{}

for i := range da {
result := data.Standardise(da[i])
go data.MinMax(da[i], c)
result := <-c
cols = append(cols, result)
}

Expand Down
31 changes: 18 additions & 13 deletions data/equations.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,25 @@ package data

import (
"math"
"time"
)

func MinMax(arr []float64) []float64 {
func MinMax(arr []float64, c chan []float64) {
mn := minimum(arr)
mx := maximum(arr)
n := []float64{} //stores minmax normalization data -> put in table (?)
n := []float64{}

for i := 0; i < len(arr); i++ {
ni := (arr[i] - mn) / (mx - mn)
n = append(n, ni)
}

return n
c <- n
time.Sleep(time.Millisecond * 10)
close(c)
}

func Standardise(arr []float64) []float64 { //currently return array
func Standardise(arr []float64, c chan []float64) {
mean := mean(arr)
x := standardDeviation(arr)
n := []float64{}
Expand All @@ -27,10 +30,12 @@ func Standardise(arr []float64) []float64 { //currently return array
n = append(n, s)
}

return n
c <- n
time.Sleep(time.Millisecond * 10)
close(c)
}

func minimum(arr []float64) float64 { //return single value -> fl
func minimum(arr []float64) float64 { //return single value -> fl64
min := arr[0]
for _, i := range arr {
if i < min {
Expand All @@ -40,14 +45,14 @@ func minimum(arr []float64) float64 { //return single value -> fl
return min
}

func maximum(arr []float64) float64 { //return single value -> fl
max := arr[0]
func maximum(arr []float64) float64 { //return single value -> fl64
mmax := arr[0]
for _, i := range arr {
if i > max {
max = i
if i > mmax {
mmax = i
}
}
return max
return mmax
}

func mean(arr []float64) float64 {
Expand All @@ -56,15 +61,15 @@ func mean(arr []float64) float64 {
t += i
}

var mean float64 = t / float64((len(arr)))
var mean = t / float64((len(arr)))

return mean
}

func standardDeviation(arr []float64) float64 { //works
var standardDev float64 = 0
var powNums float64 = 0
var sum float64 = float64(len(arr))
var sum = float64(len(arr))

xm := float64(mean(arr))

Expand Down

0 comments on commit 6b8a7fb

Please sign in to comment.