Example #1
0
func CDF(xInput vlib.VectorF) (xOut, yOut vlib.VectorF) {
	n := xInput.Size()
	str := fmt.Sprintf("%f:%f:1", 1/float64(n), 1/float64(n))
	yOut = vlib.ToVectorF(str)
	if yOut[yOut.Size()-1] < 1 {
		yOut = yOut.Insert(yOut.Size()-1, 1)
	}
	sort.Float64s([]float64(xInput))
	xOut = xInput
	// xx := vlib.NewVectorI(n)
	for i := 0; i < n-1; i++ {
		if xOut[i] == xOut[i+1] {
			xOut.Delete(i)
			yOut.Delete(i)
			i--
			n--
		}
	}
	yOut = yOut.Insert(0, 0)
	xOut1 := vlib.NewVectorF(2 * n)
	yOut1 := vlib.NewVectorF(2 * n)
	// fmt.Printf("\n %v \n", yOut)
	for i := 0; i < n; i++ {
		xOut1[2*i] = xOut[i]
		xOut1[2*i+1] = xOut[i]
		yOut1[2*i] = yOut[i+1]
		yOut1[2*i+1] = yOut[i+1]
	}

	return xOut1, yOut1
}
Example #2
0
func (s *setup) Set(jsons string) {
	s.settings = jsons
	var v map[string]interface{}
	json.Unmarshal([]byte(jsons), &v)
	fmt.Printf("\nJSON Object : %v", v)

	s.NBlocks = int(v["NBlocks"].(float64))
	s.SF = int(v["SF"].(float64))
	s.snr = vlib.ToVectorF(v["snr"].(string))
	s.wg = new(sync.WaitGroup)

}