packages feed

clash-vhdl-0.5: primitives/GHC.Integer.Type.json

[ { "BlackBox" :
    { "name"      : "GHC.Integer.Type.smallInteger"
    , "type"      : "smallInteger :: Int# -> Integer"
    , "templateE" : "~ARG[0]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.integerToInt"
    , "type"      : "integerToInt :: Integer -> Int#"
    , "templateE" : "~ARG[0]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.plusInteger"
    , "type"      : "plusInteger :: Integer -> Integer -> Integer"
    , "templateE" : "~ARG[0] + ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.minusInteger"
    , "type"      : "minusInteger :: Integer -> Integer -> Integer"
    , "templateE" : "~ARG[0] - ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.timesInteger"
    , "type"      : "timesInteger :: Integer -> Integer -> Integer"
    , "templateE" : "~ARG[0] * ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.negateInteger"
    , "type"      : "negateInteger :: Integer -> Integer"
    , "templateE" : "-~ARG[0]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.absInteger"
    , "type"      : "absInteger :: Integer -> Integer"
    , "templateE" : "abs ~ARG[0]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.divInteger"
    , "type"      : "divInteger :: Integer -> Integer -> Integer"
    , "templateD" :
"divInteger_~SYM[0] : block
  signal ~SYM[1] : ~TYP[1];
begin
  ~SYM[1] <= ~ARG[0] / ~ARG[1];
  ~RESULT <= ~SYM[1] - 1 when ((~ARG[0] = abs ~ARG[0]) /= (~ARG[1] = abs ~ARG[1])) else
             ~SYM[1];
end block;"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.modInteger"
    , "type"      : "modInteger :: Integer -> Integer -> Integer"
    , "templateE" : "~ARG[0] mod ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.quotInteger"
    , "type"      : "quotInteger :: Integer -> Integer -> Integer"
    , "templateE" : "~ARG[0] / ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.remInteger"
    , "type"      : "remInteger :: Integer -> Integer -> Integer"
    , "templateE" : "~ARG[0] rem ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.eqInteger"
    , "type"      : "eqInteger :: Integer -> Integer -> Bool"
    , "templateE" : "~ARG[0] = ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.neqInteger"
    , "type"      : "neqInteger :: Integer -> Integer -> Bool"
    , "templateE" : "~ARG[0] /= ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.leInteger"
    , "type"      : "leInteger :: Integer -> Integer -> Bool"
    , "templateE" : "~ARG[0] <= ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.gtInteger"
    , "type"      : "gtInteger :: Integer -> Integer -> Bool"
    , "templateE" : "~ARG[0] > ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.ltInteger"
    , "type"      : "ltInteger :: Integer -> Integer -> Bool"
    , "templateE" : "~ARG[0] < ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.geInteger"
    , "type"      : "geInteger :: Integer -> Integer -> Bool"
    , "templateE" : "~ARG[0] >= ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.eqInteger#"
    , "type"      : "eqInteger# :: Integer -> Integer -> Int#"
    , "templateD" : "~RESULT <= 1 when ~ARG[0] = ~ARG[1] else 0;"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.neqInteger#"
    , "type"      : "neqInteger# :: Integer -> Integer -> Int#"
    , "templateD" : "~RESULT <= 1 when ~ARG[0] /= ~ARG[1] else 0;"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.leInteger#"
    , "type"      : "leInteger# :: Integer -> Integer -> Int#"
    , "templateD" : "~RESULT <= 1 when ~ARG[0] <= ~ARG[1] else 0;"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.gtInteger#"
    , "type"      : "gtInteger# :: Integer -> Integer -> Int#"
    , "templateD" : "~RESULT <= 1 when ~ARG[0] > ~ARG[1] else 0;"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.ltInteger#"
    , "type"      : "ltInteger# :: Integer -> Integer -> Int#"
    , "templateD" : "~RESULT <= 1 when ~ARG[0] < ~ARG[1] else 0;"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.geInteger#"
    , "type"      : "geInteger# :: Integer -> Integer -> Int#"
    , "templateD" : "~RESULT <= 1 when ~ARG[0] >= ~ARG[1] else 0;"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.shiftRInteger"
    , "type"      : "shiftRInteger :: Integer -> Int# -> Integer"
    , "templateE" : "~ARG[0] / (2**~ARG[1])"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.shiftLInteger"
    , "type"      : "shiftLInteger :: Integer -> Int# -> Integer"
    , "templateE" : "~ARG[0] * (2**~ARG[1])"
    }
  }
]