| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // package quark_int -- кварк целое.
- package quark_int
- import (
- "strconv"
- 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, "QInt.FromStr(): не удалось преобразовать строку(%v) в int, err=\n\t%v",
- s, err)
- quark_val.Set(sf.Val(), iVal)
- }
|