Home My Page Projects Code Snippets Project Openings diderot

# SCM Repository

[diderot] Diff of /branches/pure-cfg/src/compiler/mid-to-low/mid-to-low.sml
 [diderot] / branches / pure-cfg / src / compiler / mid-to-low / mid-to-low.sml

# Diff of /branches/pure-cfg/src/compiler/mid-to-low/mid-to-low.sml

revision 639, Thu Mar 17 17:59:02 2011 UTC revision 640, Thu Mar 17 17:59:58 2011 UTC
# Line 109  Line 109
109     *    s_1     = a_1 + m_2     *    s_1     = a_1 + m_2
110     *    m_1     = x * s_1     *    m_1     = x * s_1
111     *    result  = a_0 + m_1     *    result  = a_0 + m_1
112       *
113       * Note that the coeffient vectors are flipped (cf high-to-low/probe.sml).
114     *)     *)
115      fun expandEvalKernel (result, d, h, k, [x]) = let      fun expandEvalKernel (result, d, h, k, [x]) = let
116            val {isCont, segs} = Kernel.curve (h, k)            val {isCont, segs} = Kernel.curve (h, k)
117          (* degree of polynomial *)          (* degree of polynomial *)
118            val deg = List.length(hd segs) - 1            val deg = List.length(hd segs) - 1
119          (* convert to a vector of vectors to give fast access *)          (* convert to a vector of vectors to give fast access *)
120            val segs = Vector.fromList (List.map Vector.fromList segs)            val segs = Vector.fromList (List.rev (List.map Vector.fromList segs))
121          (* get the kernel coefficient value for the d'th term of the i'th          (* get the kernel coefficient value for the d'th term of the i'th
122           * segment.           * segment.
123           *)           *)

Legend:
 Removed from v.639 changed lines Added in v.640