Jikka-5.5.0.0: A transpiler from Python to C++ for competitive programming
Safe HaskellNone
LanguageHaskell2010

Jikka.Core.Language.ModuloExpr

Synopsis

Basic functions

parseModuloExpr :: Expr -> Maybe ModuloExpr Source #

parseModuloExpr converts a given expr to a normal form \(\sum_i \prod_j e _ {i,j}) \bmod m\). This assumes given exprs have the type \(\mathbf{int}\).

formatTopModuloExpr :: ModuloExpr -> Expr Source #

formatTopModuloExpr convert ModuloExpr to Expr with adding FloorMod at only the root.

Utilities

newtype Modulo Source #

Modulo is just a newtype to avoid mistakes that swapping left and right of mod-op.

Constructors

Modulo 

Fields

Instances

Instances details
Eq Modulo Source # 
Instance details

Defined in Jikka.Core.Language.ModuloExpr

Methods

(==) :: Modulo -> Modulo -> Bool #

(/=) :: Modulo -> Modulo -> Bool #

Ord Modulo Source # 
Instance details

Defined in Jikka.Core.Language.ModuloExpr

Read Modulo Source # 
Instance details

Defined in Jikka.Core.Language.ModuloExpr

Show Modulo Source # 
Instance details

Defined in Jikka.Core.Language.ModuloExpr