Home | History | Annotate | Download | only in strconv

Lines Matching refs:nd

16 	nd    int       // number of digits used
19 trunc bool // discarded nonzero digits beyond d[:nd]
23 n := 10 + a.nd
34 case a.nd == 0:
44 w += copy(buf[w:], a.d[0:a.nd])
46 case a.dp < a.nd:
51 w += copy(buf[w:], a.d[a.dp:a.nd])
55 w += copy(buf[w:], a.d[0:a.nd])
56 w += digitZero(buf[w : w+a.dp-a.nd])
72 for a.nd > 0 && a.d[a.nd-1] == '0' {
73 a.nd--
75 if a.nd == 0 {
95 a.nd = 0
97 a.d[a.nd] = buf[n]
98 a.nd++
100 a.dp = a.nd
117 if r >= a.nd {
120 a.nd = 0
137 for ; r < a.nd; r++ {
159 a.nd = w
271 if prefixIsLessThan(a.d[0:a.nd], leftcheats[k].cutoff) {
275 r := a.nd // read index
276 w := a.nd + delta // write index
306 a.nd += delta
307 if a.nd >= len(a.d) {
308 a.nd = len(a.d)
317 case a.nd == 0:
334 // If we chop a at nd digits, should we round up?
335 func shouldRoundUp(a *decimal, nd int) bool {
336 if nd < 0 || nd >= a.nd {
339 if a.d[nd] == '5' && nd+1 == a.nd { // exactly halfway - round to even
344 return nd > 0 && (a.d[nd-1]-'0')%2 != 0
347 return a.d[nd] >= '5'
350 // Round a to nd digits (or fewer).
351 // If nd is zero, it means we're rounding
354 func (a *decimal) Round(nd int) {
355 if nd < 0 || nd >= a.nd {
358 if shouldRoundUp(a, nd) {
359 a.RoundUp(nd)
361 a.RoundDown(nd)
365 // Round a down to nd digits (or fewer).
366 func (a *decimal) RoundDown(nd int) {
367 if nd < 0 || nd >= a.nd {
370 a.nd = nd
374 // Round a up to nd digits (or fewer).
375 func (a *decimal) RoundUp(nd int) {
376 if nd < 0 || nd >= a.nd {
381 for i := nd - 1; i >= 0; i-- {
385 a.nd = i + 1
393 a.nd = 1
405 for i = 0; i < a.dp && i < a.nd; i++ {