]> git.unchartedbackwaters.co.uk Git - francis/ofc.git/commitdiff
Add analytic_to_psinc operator to second-level AST.
authorFrancis Russell <francis@unchartedbackwaters.co.uk>
Thu, 1 Nov 2012 18:22:46 +0000 (18:22 +0000)
committerFrancis Russell <francis@unchartedbackwaters.co.uk>
Thu, 1 Nov 2012 18:22:46 +0000 (18:22 +0000)
OFC/SecondLevel.hs

index 3f2804863c0fd48edf4c2732123298a7cfcb1c10..1c9a1a0a5f15cb3c6114a9401b85abc297e0e491 100644 (file)
@@ -103,6 +103,7 @@ data Expression e where
   Integrate :: Expression PsincE -> Expression ScalarE
   AnalyticMomentum :: OperatorExpr (Complex Double) MomentumTerminal -> Expression PsincReciprocalE
   AnalyticPosition :: OperatorExpr Double PositionTerminal -> Expression PsincE
+  AnalyticToPsinc :: Expression PsincE -> Integer -> Expression PsincE
   Sum :: Expression e -> String -> Expression e
   Add :: Expression e -> Expression e -> Expression e
   Sub :: Expression e -> Expression e -> Expression e
@@ -136,6 +137,7 @@ instance PrettyPrintable (Expression e) where
     Sub a b -> binaryToDoc "-" a b
     AnalyticPosition e -> text "position_operator" <> (parens $ toDoc e)
     AnalyticMomentum e -> text "momentum_operator" <> (parens $ toDoc e)
+    AnalyticToPsinc e i -> functionToDoc "analytic_to_psinc" [toDoc e, toDoc i]
     MulScalar a b -> binaryToDoc "*" a b
     DivScalar a b -> binaryToDoc "/" a b
     Power a b -> binaryToDoc "^" a b