DAL

io.github.edadma.dal.DAL
abstract class DAL(implicit var bdmath: BigDecimalMath)

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object BasicDAL
object ComplexDAL
object PrecisionDAL
object QuaternionDAL

Members list

Value members

Concrete methods

def absFunction(n: Any): Number
def acosFunction(n: Any): Number
def asinFunction(n: Any): Number
def atanFunction(n: Any): Number
def bigDecimal(n: Int): BigDecimal
def bigDecimal(n: Double): BigDecimal
def bigDecimal(r: Rational): BigDecimal
def bigDecimal(n: BigInt): BigDecimal
protected def bigIntPow(n: Number, e: Number): (Type, Number)
protected def bisqrt(n: BigInt): Either[BigInt, BigDecimal]
protected def boolean(b: Boolean): (Type, Boolean)
def ceilFunction(n: Any): Number
def compare(x: Number, y: Number): Int
def compare[T <: TypedNumber](left: TypedNumber, right: TypedNumber): Int
def compute(op: String, left: Number, right: Number): Number
def compute(op: Symbol, left: Number, right: Number): Number
def compute[T <: TypedNumber](op: Symbol, left: TypedNumber, right: TypedNumber, number: ((Type, Number)) => T): T
def cosFunction(n: Any): Number
def decimal(s: String): Any
protected def define(op: Symbol, funcs: Seq[(Type, Operator)]): Unit
def expFunction(n: Any): Number
def floorFunction(n: Any): Number
protected def intOrDouble(n: Rational): (Type, Number)
def invert(n: Number): (Type, Number)
def lnFunction(n: Any): Number
protected def mathContext(p: Int): MathContext
def maybeDemote(sr: SmallRational): (Type, Number)
def maybeDemote(n: ComplexBigInt): (Type, Number)
def maybeDemote(n: QuaternionBigInt): (Type, Number)
def maybeDemote(n: ComplexRational): (Type, Number)
def maybeDemote(n: QuaternionRational): (Type, Number)
def maybeDemote(n: BigInt): (Type, Number)
def maybeDemote(r: Rational): (Type, Number)
protected def maybePromote(n: Long): (Type, Number)
def negate(typ: Type, n: Number): (Type, Number)
def negate[T <: TypedNumber](n: TypedNumber, number: ((Type, Number)) => T): T
def negate(n: Number): Number
protected def operation(op: Symbol, funcs: (Type, Operator)*): Unit
def perform(op: Symbol, left: Number, right: Number): Any
def perform[T](op: Symbol, left: TypedNumber, right: TypedNumber, number: ((Type, Number)) => T, boolean: Boolean => T): T
def relate(op: String, left: Number, right: Number): Boolean
def relate(op: Symbol, left: Number, right: Number): Boolean
def relate(op: Symbol, left: TypedNumber, right: TypedNumber): Boolean
protected def relation(op: Symbol, funcs: (Type, (Number, Number) => (Type, Boolean))*): Unit
protected def resultant(rank: HashMap[Type, Int], l: Type, r: Type): Int
protected def safeSmallRationalOp(a: Number, b: Number, safeOp: (SmallRational, SmallRational) => Option[SmallRational], fallbackOp: (Rational, Rational) => Rational): (Type, Number)
def sinFunction(n: Any): Number
protected def special(a: Type, b: Type, t: Type): Unit
def sqrtFunction(n: Any): Number
def tanFunction(n: Any): Number
def toBigDecimal(a: Number): BigDecimal
def toComplexBigDecimal(a: Number): ComplexBigDecimal
def toComplexBigInt(a: Number): ComplexBigInt
def toComplexDouble(a: Number): ComplexDouble
def toComplexRational(a: Number): ComplexRational
def toQuaternionBigDecimal(a: Number): QuaternionBigDecimal
def toQuaternionBigInt(a: Number): QuaternionBigInt
def toQuaternionDouble(a: Number): QuaternionDouble
def toQuaternionRational(a: Number): QuaternionRational
def toSmallRational(a: Number): SmallRational

Concrete fields

protected val opmap: HashMap[(Type, Symbol, Type), Operator]
protected val specials: HashMap[(Type, Type), Type]

Implicits

Implicits

implicit val bdmath: BigDecimalMath