Home My Page Projects Code Snippets Project Openings 3D graphics for Standard ML
Summary Activity SCM

SCM Repository

[sml3d] Diff of /trunk/doc/src/raw-data/scalar.txt
ViewVC logotype

Diff of /trunk/doc/src/raw-data/scalar.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1340, Thu Mar 20 16:49:09 2014 UTC revision 1341, Thu Mar 20 17:23:26 2014 UTC
# Line 6  Line 6 
6    
7  [source,sml]  [source,sml]
8  ----------------------------------------  ----------------------------------------
9  signature SCALAR =  sys::[{sml3d-docbin}/extract-code.sh {raw-data-srcdir}/scalar-sig.sml]
   sig  
   
     structure Rep : REAL        (* the underlying SML Real representation *)  
   
     type t = Rep.real  
   
     val epsilon : t             (* small value close to zero *)  
   
     val M_ZERO : t              (* 0.0 *)  
     val M_ONE : t               (* 1.0 *)  
     val M_E : t                 (* base of natural logarithm, e *)  
     val M_LOG2E : t             (* log2(e) *)  
     val M_LOG10E : t            (* log10(e) *)  
     val M_LN2 : t               (* ln(2) *)  
     val M_LN10 : t              (* ln(10) *)  
     val M_PI : t                (* pi *)  
     val M_PI_2 : t              (* pi / 2 *)  
     val M_PI_4 : t              (* pi / 4 *)  
     val M_1_PI : t              (* 1 / pi *)  
     val M_2_PI : t              (* 2 / pi *)  
     val M_2_SQRTPI : t          (* 2 / sqrt(pi) *)  
     val M_SQRT2 : t             (* sqrt(2) *)  
     val M_SQRT1_2 : t           (* sqrt(1/2) *)  
   
     val M_POS_INF : t           (* +infinity *)  
     val M_NEG_INF : t           (* -infinity *)  
   
   (* comparisons *)  
     val abs : t -> t  
     val min : t * t -> t  
     val max : t * t -> t  
   
   (* utility *)  
     val clip  : {min : t, max : t} -> t -> t  
     val clamp : t -> t  (* clamp to [0..1] *)  
     val lerp  : (t * t * t) -> t  
     val smoothStep : t -> t             (* 3 t^2 - 2 t^3; 0 <= t <= 1 *)  
   
   (* math functions *)  
     val sqrt : t -> t  
     val sin : t -> t  
     val cos : t -> t  
     val tan : t -> t  
     val asin : t -> t  
     val acos : t -> t  
     val atan : t -> t  
     val atan2 : t * t -> t  
     val sinh : t -> t  
     val cosh : t -> t  
     val tanh : t -> t  
     val exp : t -> t  
     val pow : t * t -> t  
     val ln : t -> t  
     val log10 : t -> t  
   
   (* conversions to/from radians *)  
     val toRadians : t -> t  
     val toDegrees : t -> t  
   
   (* integer conversions *)  
     val fromInt : Int32.int -> t  
     val fromLong : Int64.int -> t  
     val roundToInt : t -> Int32.int  
   
   (* rounding *)  
     val frac  : t -> t (* fractional part *)  
     val trunc : t -> t  
     val round : t -> t  
     val floor : t -> t  
     val ceil  : t -> t  
   
   (* split into whole/fractional parts *)  
     val split : t -> {whole : t, frac : t}  
   
   (* string conversions *)  
     val fromString : string -> t option  
     val toString : t -> string  
   
   end  
10  ----------------------------------------  ----------------------------------------
11    
12  === Substructures  === Substructures

Legend:
Removed from v.1340  
changed lines
  Added in v.1341

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0