本文整理匯總了Golang中github.com/verdverm/go-symexpr.Expr.Size方法的典型用法代碼示例。如果您正苦於以下問題:Golang Expr.Size方法的具體用法?Golang Expr.Size怎麽用?Golang Expr.Size使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/verdverm/go-symexpr.Expr
的用法示例。
在下文中一共展示了Expr.Size方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: CheckExprTmp
func (tp *TreeParams) CheckExprTmp(e expr.Expr) bool {
if e.Size() < tp.TmpMinSize || e.Size() > tp.TmpMaxSize ||
e.Height() < tp.TmpMinDepth || e.Height() > tp.TmpMaxDepth {
return false
}
return true
}
示例2: ExpandMethod1
func (PS *PgeSearch) ExpandMethod1(O expr.Expr) (ret []expr.Expr) {
O.Sort()
ret = make([]expr.Expr, 0)
// fmt.Printf("Expanding expression: %v\n", O)
for i := 0; i < O.Size(); i++ {
I := i
E := O.GetExpr(&I)
switch E.ExprType() {
case expr.ADD:
tmp := PS.AddTermToExprMethod1(O, E, i)
ret = append(ret, tmp[:]...)
case expr.MUL:
tmp := PS.WidenTermInExprMethod1(O, E, i)
ret = append(ret, tmp[:]...)
case expr.VAR:
tmp := PS.DeepenTermInExprMethod1(O, E, i)
ret = append(ret, tmp[:]...)
default: // expr.DIV,expr.COS,expr.SIN,expr.EXP,expr.LOG,expr.ABS,expr.POW
continue
}
}
return ret
}
示例3: CheckExpr
func (tp *TreeParams) CheckExpr(e expr.Expr) bool {
if e.Size() < tp.MinSize {
// fmt.Printf( "Too SMALL: e:%v l:%v\n", e.Size(), tp.TmpMinSize )
return false
} else if e.Size() > tp.MaxSize {
// fmt.Printf( "Too LARGE: e:%v l:%v\n", e.Size(), tp.TmpMaxSize )
return false
} else if e.Height() < tp.MinDepth {
// fmt.Printf( "Too SHORT: e:%v l:%v\n", e.Height(), tp.TmpMinDepth )
return false
} else if e.Height() > tp.MaxDepth {
// fmt.Printf( "Too TALL: e:%v l:%v\n", e.Height(), tp.TmpMaxDepth )
return false
}
return true
}
示例4: CheckExprLog
func (tp *TreeParams) CheckExprLog(e expr.Expr, log *bufio.Writer) bool {
// if e.Size() < tp.TmpMinSize || e.Size() > tp.TmpMaxSize ||
// e.Height() < tp.TmpMinDepth || e.Height() > tp.TmpMaxDepth {
// return false
// }
if e.Size() < tp.MinSize {
fmt.Fprintf(log, "Too SMALL: e:%v l:%v\n", e.Size(), tp.MinSize)
return false
} else if e.Size() > tp.MaxSize {
fmt.Fprintf(log, "Too LARGE: e:%v l:%v\n", e.Size(), tp.MaxSize)
return false
} else if e.Height() < tp.MinDepth {
fmt.Fprintf(log, "Too SHORT: e:%v l:%v\n", e.Height(), tp.MinDepth)
return false
} else if e.Height() > tp.MaxDepth {
fmt.Fprintf(log, "Too TALL: e:%v l:%v\n", e.Height(), tp.MaxDepth)
return false
}
return true
}