示例#1
0
static void
TextPrintCubeAnalysis(GString * gsz, const matchstate * pms, moverecord * pmr)
{

    cubeinfo ci;
    /* we need to remember the double type to be able to do the right
     * thing for beavers and racoons */
    static doubletype dt = DT_NORMAL;

    GetMatchStateCubeInfo(&ci, pms);


    switch (pmr->mt) {

    case MOVE_NORMAL:

        /* cube analysis from move */

        TextPrintCubeAnalysisTable(gsz,
                                   pmr->CubeDecPtr->aarOutput,
                                   pmr->CubeDecPtr->aarStdDev,
                                   pmr->fPlayer, &pmr->CubeDecPtr->esDouble, &ci, FALSE, -1, pmr->stCube, SKILL_NONE);
        dt = DT_NORMAL;

        break;

    case MOVE_DOUBLE:

        dt = DoubleType(pms->fDoubled, pms->fMove, pms->fTurn);
        if (dt != DT_NORMAL) {
            g_string_append(gsz, _("Cannot analyse beaver nor raccoons!\n"));
            break;
        }
        TextPrintCubeAnalysisTable(gsz,
                                   pmr->CubeDecPtr->aarOutput,
                                   pmr->CubeDecPtr->aarStdDev,
                                   pmr->fPlayer, &pmr->CubeDecPtr->esDouble, &ci, TRUE, -1, pmr->stCube, SKILL_NONE);

        break;

    case MOVE_TAKE:
    case MOVE_DROP:

        /* cube analysis from double, {take, drop, beaver} */

        if (dt != DT_NORMAL) {
            dt = DT_NORMAL;
            g_string_append(gsz, _("Cannot analyse beaver nor raccoons!\n"));
            break;
        }
        TextPrintCubeAnalysisTable(gsz, pmr->CubeDecPtr->aarOutput, pmr->CubeDecPtr->aarStdDev, pmr->fPlayer, &pmr->CubeDecPtr->esDouble, &ci, TRUE, pmr->mt == MOVE_TAKE, SKILL_NONE,  /* FIXME: skill from prev. cube */
                                   pmr->stCube);

        break;

    default:

        g_assert_not_reached();


    }

    return;

}
示例#2
0
llvm::Constant *CodeGen::ConstDouble(double val) const {
  return llvm::ConstantFP::get(DoubleType(), val);
}