mirror of
https://github.com/metabarcoding/obitools4.git
synced 2025-06-29 16:20:46 +00:00
Change the annotation locker to a pointer to mutex to avoid coying mutex
Former-commit-id: d179d8753b593183312bd11184e5d8ebb301138a
This commit is contained in:
@ -59,7 +59,7 @@ type BioSequence struct {
|
||||
feature []byte
|
||||
paired *BioSequence // A pointer to the paired sequence
|
||||
annotations Annotation
|
||||
annot_lock sync.Mutex
|
||||
annot_lock *sync.Mutex
|
||||
}
|
||||
|
||||
// MakeEmptyBioSequence() creates a new BioSequence object with no data
|
||||
@ -81,7 +81,7 @@ func MakeEmptyBioSequence(preallocate int) BioSequence {
|
||||
feature: nil,
|
||||
paired: nil,
|
||||
annotations: nil,
|
||||
annot_lock: sync.Mutex{},
|
||||
annot_lock: &sync.Mutex{},
|
||||
}
|
||||
}
|
||||
|
||||
@ -99,6 +99,7 @@ func MakeBioSequence(id string,
|
||||
bs.SetId(id)
|
||||
bs.SetSequence(sequence)
|
||||
bs.SetDefinition(definition)
|
||||
bs.AnnotationsUnlock()
|
||||
return bs
|
||||
}
|
||||
|
||||
|
@ -262,7 +262,7 @@ func SequenceClassifier() *BioSequenceClassifier {
|
||||
defer locke.RUnlock()
|
||||
|
||||
if k >= maxcode {
|
||||
log.Fatalf("value %d not register")
|
||||
log.Fatalf("value %d not register", k)
|
||||
}
|
||||
return decode[k]
|
||||
}
|
||||
|
@ -10,117 +10,117 @@ import (
|
||||
"github.com/PaesslerAG/gval"
|
||||
)
|
||||
|
||||
func maxIntVector(values []int) float64 {
|
||||
m := values[0]
|
||||
for _, v := range values {
|
||||
if v > m {
|
||||
m = v
|
||||
}
|
||||
}
|
||||
// func maxIntVector(values []int) float64 {
|
||||
// m := values[0]
|
||||
// for _, v := range values {
|
||||
// if v > m {
|
||||
// m = v
|
||||
// }
|
||||
// }
|
||||
|
||||
return float64(m)
|
||||
}
|
||||
// return float64(m)
|
||||
// }
|
||||
|
||||
func maxIntMap(values map[string]int) float64 {
|
||||
var m int
|
||||
first := true
|
||||
for _, v := range values {
|
||||
if first {
|
||||
first = false
|
||||
m = v
|
||||
} else {
|
||||
if v > m {
|
||||
m = v
|
||||
}
|
||||
}
|
||||
}
|
||||
// func maxIntMap(values map[string]int) float64 {
|
||||
// var m int
|
||||
// first := true
|
||||
// for _, v := range values {
|
||||
// if first {
|
||||
// first = false
|
||||
// m = v
|
||||
// } else {
|
||||
// if v > m {
|
||||
// m = v
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
return float64(m)
|
||||
}
|
||||
// return float64(m)
|
||||
// }
|
||||
|
||||
func minIntVector(values []int) float64 {
|
||||
m := values[0]
|
||||
for _, v := range values {
|
||||
if v < m {
|
||||
m = v
|
||||
}
|
||||
}
|
||||
// func minIntVector(values []int) float64 {
|
||||
// m := values[0]
|
||||
// for _, v := range values {
|
||||
// if v < m {
|
||||
// m = v
|
||||
// }
|
||||
// }
|
||||
|
||||
return float64(m)
|
||||
}
|
||||
// return float64(m)
|
||||
// }
|
||||
|
||||
func minIntMap(values map[string]int) float64 {
|
||||
var m int
|
||||
first := true
|
||||
for _, v := range values {
|
||||
if first {
|
||||
first = false
|
||||
m = v
|
||||
} else {
|
||||
if v < m {
|
||||
m = v
|
||||
}
|
||||
}
|
||||
}
|
||||
// func minIntMap(values map[string]int) float64 {
|
||||
// var m int
|
||||
// first := true
|
||||
// for _, v := range values {
|
||||
// if first {
|
||||
// first = false
|
||||
// m = v
|
||||
// } else {
|
||||
// if v < m {
|
||||
// m = v
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
return float64(m)
|
||||
}
|
||||
// return float64(m)
|
||||
// }
|
||||
|
||||
func maxFloatVector(values []float64) float64 {
|
||||
m := values[0]
|
||||
for _, v := range values {
|
||||
if v > m {
|
||||
m = v
|
||||
}
|
||||
}
|
||||
// func maxFloatVector(values []float64) float64 {
|
||||
// m := values[0]
|
||||
// for _, v := range values {
|
||||
// if v > m {
|
||||
// m = v
|
||||
// }
|
||||
// }
|
||||
|
||||
return m
|
||||
}
|
||||
// return m
|
||||
// }
|
||||
|
||||
func maxFloatMap(values map[string]float64) float64 {
|
||||
var m float64
|
||||
first := true
|
||||
for _, v := range values {
|
||||
if first {
|
||||
first = false
|
||||
m = v
|
||||
} else {
|
||||
if v > m {
|
||||
m = v
|
||||
}
|
||||
}
|
||||
}
|
||||
// func maxFloatMap(values map[string]float64) float64 {
|
||||
// var m float64
|
||||
// first := true
|
||||
// for _, v := range values {
|
||||
// if first {
|
||||
// first = false
|
||||
// m = v
|
||||
// } else {
|
||||
// if v > m {
|
||||
// m = v
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
return m
|
||||
}
|
||||
// return m
|
||||
// }
|
||||
|
||||
func minFloatVector(values []float64) float64 {
|
||||
m := values[0]
|
||||
for _, v := range values {
|
||||
if v < m {
|
||||
m = v
|
||||
}
|
||||
}
|
||||
// func minFloatVector(values []float64) float64 {
|
||||
// m := values[0]
|
||||
// for _, v := range values {
|
||||
// if v < m {
|
||||
// m = v
|
||||
// }
|
||||
// }
|
||||
|
||||
return m
|
||||
}
|
||||
// return m
|
||||
// }
|
||||
|
||||
func minFloatMap(values map[string]float64) float64 {
|
||||
var m float64
|
||||
first := true
|
||||
for _, v := range values {
|
||||
if first {
|
||||
first = false
|
||||
m = v
|
||||
} else {
|
||||
if v < m {
|
||||
m = v
|
||||
}
|
||||
}
|
||||
}
|
||||
// func minFloatMap(values map[string]float64) float64 {
|
||||
// var m float64
|
||||
// first := true
|
||||
// for _, v := range values {
|
||||
// if first {
|
||||
// first = false
|
||||
// m = v
|
||||
// } else {
|
||||
// if v < m {
|
||||
// m = v
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
return m
|
||||
}
|
||||
// return m
|
||||
// }
|
||||
|
||||
// func maxNumeric(args ...interface{}) (interface{}, error) {
|
||||
// var m float64
|
||||
|
@ -43,7 +43,7 @@ func (taxonomy *Taxonomy) TaxonomicDistribution(sequence *obiseq.BioSequence) ma
|
||||
|
||||
t, et := taxonomy.Taxon(taxid)
|
||||
if et != nil {
|
||||
log.Panicf("Taxid %d not defined in taxonomy : %v", k, et)
|
||||
log.Panicf("Taxid %d not defined in taxonomy : %v", taxid, et)
|
||||
}
|
||||
taxons[t] = v
|
||||
}
|
||||
|
Reference in New Issue
Block a user