moved a subset of source file to the kern package

This commit is contained in:
2026-04-27 19:43:37 +02:00
parent f100adead3
commit 4d910dd069
107 changed files with 2080 additions and 1380 deletions
+11 -6
View File
@@ -8,6 +8,8 @@ package expr
import (
"fmt"
"git.portale-stac.it/go-pkg/expr/kern"
)
// -------- fraction term
@@ -23,7 +25,7 @@ func newFractionTerm(tk *Token) *term {
}
// -------- eval func
func evalFraction(ctx ExprContext, opTerm *term) (v any, err error) {
func evalFraction(ctx kern.ExprContext, opTerm *term) (v any, err error) {
var numValue, denValue any
var num, den int64
var ok bool
@@ -49,16 +51,19 @@ func evalFraction(ctx ExprContext, opTerm *term) (v any, err error) {
num = -num
}
if num != 0 {
g := gcd(num, den)
num = num / g
den = den / g
if g := kern.Gcd(num, den); g != 1 {
num = num / g
den = den / g
}
if den == 1 {
v = num
} else {
v = &FractionType{num, den}
// v = &expr.FractionType{num, den}
v = kern.NewFraction(num, den)
}
} else {
v = &FractionType{0, den}
// v = &FractionType{0, den}
v = kern.NewFraction(0, den)
}
return
}