SCIP Doxygen Documentation
Loading...
Searching...
No Matches
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)