Scippy

    SCIP

    Solving Constraint Integer Programs

    rational.h File Reference

    Detailed Description

    wrapper for rational number arithmetic

    Author
    Leon Eifler
    Dominik Kamp

    Definition in file rational.h.

    #include <stdbool.h>
    #include <stdlib.h>
    #include "scip/def.h"
    #include "scip/type_message.h"
    #include "scip/type_rational.h"
    #include "scip/type_set.h"
    #include "blockmemshell/memory.h"

    Go to the source code of this file.

    Macros

    #define SCIPrationalDebugMessage   while ( FALSE ) SCIPrationalPrintf
     

    Functions

    SCIP_RETCODE SCIPrationalCreate (SCIP_RATIONAL **rational)
     
    SCIP_RETCODE SCIPrationalCreateBuffer (BMS_BUFMEM *bufmem, SCIP_RATIONAL **rational)
     
    SCIP_RETCODE SCIPrationalCreateBlock (BMS_BLKMEM *blkmem, SCIP_RATIONAL **rational)
     
    SCIP_RETCODE SCIPrationalCopy (SCIP_RATIONAL **result, SCIP_RATIONAL *src)
     
    SCIP_RETCODE SCIPrationalCopyBlock (BMS_BLKMEM *mem, SCIP_RATIONAL **result, SCIP_RATIONAL *src)
     
    SCIP_RETCODE SCIPrationalCopyBuffer (BMS_BUFMEM *bufmem, SCIP_RATIONAL **result, SCIP_RATIONAL *src)
     
    SCIP_RETCODE SCIPrationalCreateArray (SCIP_RATIONAL ***rational, int size)
     
    SCIP_RETCODE SCIPrationalCreateBlockArray (BMS_BLKMEM *mem, SCIP_RATIONAL ***rational, int size)
     
    SCIP_RETCODE SCIPrationalCreateBufferArray (BMS_BUFMEM *mem, SCIP_RATIONAL ***rational, int size)
     
    SCIP_RETCODE SCIPrationalCopyArray (SCIP_RATIONAL ***target, SCIP_RATIONAL **src, int len)
     
    SCIP_RETCODE SCIPrationalCopyBlockArray (BMS_BLKMEM *mem, SCIP_RATIONAL ***target, SCIP_RATIONAL **src, int len)
     
    SCIP_RETCODE SCIPrationalCopyBufferArray (BMS_BUFMEM *mem, SCIP_RATIONAL ***result, SCIP_RATIONAL **src, int len)
     
    SCIP_RETCODE SCIPrationalReallocArray (SCIP_RATIONAL ***result, int oldlen, int newlen)
     
    SCIP_RETCODE SCIPrationalReallocBufferArray (BMS_BUFMEM *mem, SCIP_RATIONAL ***result, int oldlen, int newlen)
     
    SCIP_RETCODE SCIPrationalReallocBlockArray (BMS_BLKMEM *mem, SCIP_RATIONAL ***result, int oldlen, int newlen)
     
    void SCIPrationalFree (SCIP_RATIONAL **rational)
     
    void SCIPrationalFreeBlock (BMS_BLKMEM *mem, SCIP_RATIONAL **rational)
     
    void SCIPrationalFreeBuffer (BMS_BUFMEM *bufmem, SCIP_RATIONAL **rational)
     
    void SCIPrationalFreeArray (SCIP_RATIONAL ***ratarray, int size)
     
    void SCIPrationalFreeBlockArray (BMS_BLKMEM *mem, SCIP_RATIONAL ***ratblockarray, int size)
     
    void SCIPrationalFreeBufferArray (BMS_BUFMEM *mem, SCIP_RATIONAL ***ratbufarray, int size)
     
    void SCIPrationalSetRational (SCIP_RATIONAL *res, SCIP_RATIONAL *src)
     
    void SCIPrationalSetFraction (SCIP_RATIONAL *res, SCIP_Longint nom, SCIP_Longint denom)
     
    void SCIPrationalSetReal (SCIP_RATIONAL *res, SCIP_Real real)
     
    void SCIPrationalSetInfinity (SCIP_RATIONAL *res)
     
    void SCIPrationalSetNegInfinity (SCIP_RATIONAL *res)
     
    SCIP_Bool SCIPrationalIsString (const char *desc)
     
    void SCIPrationalSetString (SCIP_RATIONAL *res, const char *desc)
     
    SCIP_RETCODE SCIPrationalCreateString (BMS_BLKMEM *mem, SCIP_RATIONAL **rational, const char *desc)
     
    SCIP_Bool SCIPstrToRationalValue (char *desc, SCIP_RATIONAL *value, char **endptr)
     
    void SCIPrationalResetFloatingPointRepresentable (SCIP_RATIONAL *rat)
     
    void SCIPrationalCanonicalize (SCIP_RATIONAL *rational)
     
    void SCIPrationalCheckInfByValue (SCIP_RATIONAL *rational)
     
    void SCIPrationalAdd (SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_RATIONAL *op2)
     
    void SCIPrationalAddReal (SCIP_RATIONAL *res, SCIP_RATIONAL *rat, SCIP_Real real)
     
    void SCIPrationalDiff (SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_RATIONAL *op2)
     
    void SCIPrationalDiffReal (SCIP_RATIONAL *res, SCIP_RATIONAL *rat, SCIP_Real real)
     
    void SCIPrationalRelDiff (SCIP_RATIONAL *res, SCIP_RATIONAL *val1, SCIP_RATIONAL *val2)
     
    void SCIPrationalMult (SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_RATIONAL *op2)
     
    void SCIPrationalMultReal (SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_Real op2)
     
    void SCIPrationalDiv (SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_RATIONAL *op2)
     
    void SCIPrationalDivReal (SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_Real op2)
     
    void SCIPrationalAddProd (SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_RATIONAL *op2)
     
    void SCIPrationalAddProdReal (SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_Real op2)
     
    void SCIPrationalDiffProd (SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_RATIONAL *op2)
     
    void SCIPrationalDiffProdReal (SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_Real op2)
     
    void SCIPrationalNegate (SCIP_RATIONAL *res, SCIP_RATIONAL *op)
     
    void SCIPrationalAbs (SCIP_RATIONAL *res, SCIP_RATIONAL *op)
     
    void SCIPrationalInvert (SCIP_RATIONAL *res, SCIP_RATIONAL *op)
     
    void SCIPrationalMin (SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_RATIONAL *op2)
     
    void SCIPrationalMax (SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_RATIONAL *op2)
     
    SCIP_Bool SCIPrationalIsEQ (SCIP_RATIONAL *rat1, SCIP_RATIONAL *rat2)
     
    SCIP_Bool SCIPrationalIsAbsEQ (SCIP_RATIONAL *rat1, SCIP_RATIONAL *rat2)
     
    SCIP_Bool SCIPrationalIsEQReal (SCIP_RATIONAL *rat, SCIP_Real real)
     
    SCIP_Bool SCIPrationalIsApproxEQReal (SCIP_SET *set, SCIP_RATIONAL *rat, SCIP_Real real, SCIP_ROUNDMODE_RAT roundmode)
     
    SCIP_Bool SCIPrationalIsGT (SCIP_RATIONAL *rat1, SCIP_RATIONAL *rat2)
     
    SCIP_Bool SCIPrationalIsLT (SCIP_RATIONAL *rat1, SCIP_RATIONAL *rat2)
     
    SCIP_Bool SCIPrationalIsGE (SCIP_RATIONAL *rat1, SCIP_RATIONAL *rat2)
     
    SCIP_Bool SCIPrationalIsLE (SCIP_RATIONAL *rat1, SCIP_RATIONAL *rat2)
     
    SCIP_Bool SCIPrationalIsAbsGT (SCIP_RATIONAL *rat1, SCIP_RATIONAL *rat2)
     
    SCIP_Bool SCIPrationalIsGTReal (SCIP_RATIONAL *rat, SCIP_Real real)
     
    SCIP_Bool SCIPrationalIsLTReal (SCIP_RATIONAL *rat, SCIP_Real real)
     
    SCIP_Bool SCIPrationalIsGEReal (SCIP_RATIONAL *rat, SCIP_Real real)
     
    SCIP_Bool SCIPrationalIsLEReal (SCIP_RATIONAL *rat, SCIP_Real real)
     
    SCIP_Bool SCIPrationalIsZero (SCIP_RATIONAL *rational)
     
    SCIP_Bool SCIPrationalIsPositive (SCIP_RATIONAL *rational)
     
    SCIP_Bool SCIPrationalIsNegative (SCIP_RATIONAL *rational)
     
    SCIP_Bool SCIPrationalIsInfinity (SCIP_RATIONAL *rational)
     
    SCIP_Bool SCIPrationalIsNegInfinity (SCIP_RATIONAL *rational)
     
    SCIP_Bool SCIPrationalIsAbsInfinity (SCIP_RATIONAL *rational)
     
    SCIP_Bool SCIPrationalIsIntegral (SCIP_RATIONAL *rational)
     
    SCIP_Bool SCIPrationalIsFpRepresentable (SCIP_RATIONAL *rational)
     
    int SCIPrationalToString (SCIP_RATIONAL *rational, char *str, int strlen)
     
    int SCIPrationalStrLen (SCIP_RATIONAL *rational)
     
    void SCIPrationalMessage (SCIP_MESSAGEHDLR *msg, FILE *file, SCIP_RATIONAL *rational)
     
    void SCIPrationalPrintVerbInfo (SCIP_MESSAGEHDLR *msg, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, SCIP_RATIONAL *rational)
     
    void SCIPrationalPrint (SCIP_RATIONAL *rational)
     
    void SCIPrationalPrintf (const char *formatstr,...)
     
    void SCIPrationalPrintDebugMessage (const char *sourcefile, int sourceline, const char *formatstr,...)
     
    SCIP_Longint SCIPrationalNumerator (SCIP_RATIONAL *rational)
     
    SCIP_Longint SCIPrationalDenominator (SCIP_RATIONAL *rational)
     
    SCIP_Bool SCIPrationalDenominatorIsLE (SCIP_RATIONAL *rational, SCIP_Longint val)
     
    int SCIPrationalGetSign (const SCIP_RATIONAL *rational)
     
    void SCIPrationalGetFrac (SCIP_RATIONAL *res, SCIP_RATIONAL *src)
     
    SCIP_Real SCIPrationalGetReal (SCIP_RATIONAL *rational)
     
    SCIP_Real SCIPrationalRoundReal (SCIP_RATIONAL *rational, SCIP_ROUNDMODE_RAT roundmode)
     
    void SCIPrationalRoundInteger (SCIP_RATIONAL *res, SCIP_RATIONAL *src, SCIP_ROUNDMODE_RAT roundmode)
     
    SCIP_Bool SCIPrationalRoundLong (SCIP_Longint *res, SCIP_RATIONAL *src, SCIP_ROUNDMODE_RAT roundmode)
     
    void SCIPrationalComputeApproximation (SCIP_RATIONAL *res, SCIP_RATIONAL *src, SCIP_Longint maxdenom, int forcegreater)
     
    SCIP_RETCODE SCIPrationalarrayCreate (SCIP_RATIONALARRAY **rationalarray, BMS_BLKMEM *blkmem)
     
    SCIP_RETCODE SCIPrationalarrayResize (SCIP_RATIONALARRAY *rationalarray, int newsize)
     
    SCIP_RETCODE SCIPrationalarrayCopy (SCIP_RATIONALARRAY **rationalarray, BMS_BLKMEM *blkmem, SCIP_RATIONALARRAY *sourcerationalarray)
     
    SCIP_RETCODE SCIPrationalarrayFree (SCIP_RATIONALARRAY **rationalarray, BMS_BLKMEM *blkmem)
     
    void SCIPrationalarrayGetVal (SCIP_RATIONALARRAY *rationalarray, int idx, SCIP_RATIONAL *result)
     
    SCIP_RETCODE SCIPrationalarraySetVal (SCIP_RATIONALARRAY *rationalarray, int idx, SCIP_RATIONAL *val)
     
    SCIP_RETCODE SCIPrationalarrayIncVal (SCIP_RATIONALARRAY *rationalarray, int idx, SCIP_RATIONAL *incval)
     
    SCIP_RETCODE SCIPrationalarrayPrint (SCIP_RATIONALARRAY *rationalarray)
     
    int SCIPrationalarrayGetMinIdx (SCIP_RATIONALARRAY *rationalarray)
     
    int SCIPrationalarrayGetMaxIdx (SCIP_RATIONALARRAY *rationalarray)
     
    void SCIPrationalChgInfinity (SCIP_Real inf)
     
    SCIP_Real SCIPrationalGetInfinity (void)