github.com/richardwilkes/toolbox@v1.121.0/eval/fixed_evaluator.go (about)

     1  // Copyright (c) 2016-2024 by Richard A. Wilkes. All rights reserved.
     2  //
     3  // This Source Code Form is subject to the terms of the Mozilla Public
     4  // License, version 2.0. If a copy of the MPL was not distributed with
     5  // this file, You can obtain one at http://mozilla.org/MPL/2.0/.
     6  //
     7  // This Source Code Form is "Incompatible With Secondary Licenses", as
     8  // defined by the Mozilla Public License, version 2.0.
     9  
    10  package eval
    11  
    12  import "github.com/richardwilkes/toolbox/xmath/fixed"
    13  
    14  // NewFixedEvaluator creates a new evaluator whose number type is one of the fixed types.
    15  func NewFixedEvaluator[T fixed.Dx](resolver VariableResolver, divideByZeroReturnsZero bool) *Evaluator {
    16  	return &Evaluator{
    17  		Resolver:  resolver,
    18  		Operators: FixedOperators[T](divideByZeroReturnsZero),
    19  		Functions: FixedFunctions[T](),
    20  	}
    21  }