packages feed

clash-ghc-0.4: primitives/GHC.Integer.Type.json

[ { "BlackBox" :
    { "name"      : "GHC.Integer.Type.smallInteger"
    , "templateE" : "~ARG[0]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.integerToInt"
    , "templateE" : "~ARG[0]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.plusInteger"
    , "templateE" : "~ARG[0] + ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.minusInteger"
    , "templateE" : "~ARG[0] - ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.timesInteger"
    , "templateE" : "~ARG[0] * ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.negateInteger"
    , "templateE" : "-~ARG[0]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.absInteger"
    , "templateE" : "abs ~ARG[0]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.divInteger"
    , "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"
    , "templateE" : "~ARG[0] mod ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.quotInteger"
    , "templateE" : "~ARG[0] div ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.remInteger"
    , "templateE" : "~ARG[0] rem ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.eqInteger"
    , "templateE" : "~ARG[0] = ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.neqInteger"
    , "templateE" : "~ARG[0] /= ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.leInteger"
    , "templateE" : "~ARG[0] <= ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.gtInteger"
    , "templateE" : "~ARG[0] > ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.ltInteger"
    , "templateE" : "~ARG[0] < ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.geInteger"
    , "templateE" : "~ARG[0] >= ~ARG[1]"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.eqInteger#"
    , "templateE" : "1 when ~ARG[0] = ~ARG[1] else 0"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.neqInteger#"
    , "templateE" : "1 when ~ARG[0] /= ~ARG[1] else 0"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.leInteger#"
    , "templateE" : "1 when ~ARG[0] <= ~ARG[1] else 0"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.gtInteger#"
    , "templateE" : "1 when ~ARG[0] > ~ARG[1] else 0"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.ltInteger#"
    , "templateE" : "1 when ~ARG[0] < ~ARG[1] else 0"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.geInteger#"
    , "templateE" : "1 when ~ARG[0] >= ~ARG[1] else 0"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.shiftRInteger"
    , "templateE" : "~ARG[0] / (2**~ARG[1])"
    }
  }
, { "BlackBox" :
    { "name"      : "GHC.Integer.Type.shiftLInteger"
    , "templateE" : "~ARG[0] * (2**~ARG[1])"
    }
  }
]