| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- // package quark_int -- кварк целое.
- package quark_int
- import (
- "strconv"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
- mKh "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/quark/quark_base"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/quark/quark_val"
- )
- // QInt -- кварк целое.
- type QInt[M quark_val.CMod] struct {
- *quark_base.QBase[M, int]
- }
- // NewQInt -- создать новый фиксированный кварк целое.
- func NewQInt(v int) *QInt[quark_val.Fix] {
- optMass := quark_base.QBaseOptMass[quark_val.Fix, int](8)
- optVal := quark_base.QBaseOptVal(v)
- sf := &QInt[quark_val.Fix]{
- QBase: quark_base.NewQBase(optMass, optVal),
- }
- return sf
- }
- // NewQIntMut -- создать новый изменяемый кварк целое.
- func NewQIntMut(v int) *QInt[quark_val.Mut] {
- optMass := quark_base.QBaseOptMass[quark_val.Mut, int](8)
- optVal := quark_base.QBaseOptValMut(v)
- sf := &QInt[quark_val.Mut]{
- QBase: quark_base.NewQBaseMut(optMass, optVal),
- }
- return sf
- }
- // Get -- возвращает хранимое значение.
- //
- //go:fix inline
- func (sf *QInt[M]) Get() int {
- return sf.Val().Get()
- }
- // Set -- установить значение.
- //
- //go:fix inline
- func Set(sf *QInt[quark_val.Mut], v int) {
- quark_val.Set(sf.Val(), v)
- }
- // FromStr -- установить значение из строки.
- //
- //go:fix inline
- func FromStr(sf *QInt[quark_val.Mut], s string) {
- iVal, err := strconv.Atoi(s)
- mKh.Hassert(err == nil,
- defs.Str("QInt.FromStr(): не удалось преобразовать строку(%v) в int, err=\n\t%v",
- s, err))
- quark_val.Set(sf.Val(), iVal)
- }
|