All Downloads are FREE. Search and download functionalities are using the official Maven repository.

expr.Constants.scala Maven / Gradle / Ivy

The newest version!
package galileo.constants

import galileo.complex._
import galileo.environment.Environment
import galileo.expr._

trait Constant extends Expr { // has dimensions - todo
	val value:Expr
	val shortName:String
	override def toString() = shortName //value.toString()
	def info(env:Option[Environment]=None) = "Constant(" + shortName + ")"
	override def eval() = value
	def variables:List[Variable] = List()
}

case class ConstantPi() extends Constant {
	val value = Number( Math.PI ) // 3.1415926535897932384626433832795028841971693 )	
	val shortName = "pi"
}

case class ConstantE() extends Constant {
	val value = Number( Math.E ) //2.71828182845904523536028747135266249775724709369995 )
	val shortName = "e"
}

class ConstantJ extends Constant {
	val value = Complex( Number( 0 ), Number( 1 ) )
	val shortName = "j"

	override def visit( env:Option[Environment]=None):Expr = this.value
}

/*
trait Constant{
	def eval 
}


class ConstantPi() extends Constant with Expr {
	val name = "pi"
	val value = 3.1415 // todo
//	def eval
}


*/




© 2015 - 2025 Weber Informatics LLC | Privacy Policy