77#include "jasper/jas_config.h" 
  102typedef jas_fix_big_t jpc_fix_big_t;
 
  104#if defined(JAS_ENABLE_32BIT) 
  105#define JPC_FIX_FRACBITS        13 
  107#define JPC_FIX_FRACBITS        18 
  117#define JPC_FIX_ZERO    JAS_FIX_ZERO(jpc_fix_t, JPC_FIX_FRACBITS) 
  118#define JPC_FIX_ONE             JAS_FIX_ONE(jpc_fix_t, JPC_FIX_FRACBITS) 
  119#define JPC_FIX_HALF    JAS_FIX_HALF(jpc_fix_t, JPC_FIX_FRACBITS) 
  122static inline jpc_fix_t jpc_inttofix(
int x)
 
  128static inline int jpc_fixtoint(jpc_fix_t x)
 
  134static inline double jpc_fixtodbl(jpc_fix_t x)
 
  140static inline jpc_fix_t jpc_dbltofix(
double x)
 
  146static inline jpc_fix_t jpc_fix_add(jpc_fix_t x, jpc_fix_t y)
 
  148        return JAS_FIX_ADD(jpc_fix_t, JPC_FIX_FRACBITS, x, y);
 
  152static inline jpc_fix_t jpc_fix_sub(jpc_fix_t x, jpc_fix_t y)
 
  154        return JAS_FIX_SUB(jpc_fix_t, JPC_FIX_FRACBITS, x, y);
 
  158static inline jpc_fix_t jpc_fix_mul(jpc_fix_big_t x, jpc_fix_big_t y)
 
  160        return JAS_FIX_MUL(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y);
 
  164static inline jpc_fix_big_t jpc_fix_mulbyint(jpc_fix_big_t x, 
int y)
 
  166        return JAS_FIX_MUL(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y);
 
  170static inline jpc_fix_t jpc_fix_div(jpc_fix_big_t x, jpc_fix_t y)
 
  172        return JAS_FIX_DIV(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y);
 
  176static inline jpc_fix_t jpc_fix_neg(jpc_fix_t x)
 
  178        return JAS_FIX_NEG(jpc_fix_t, JPC_FIX_FRACBITS, x);
 
  185#ifdef JAS_ENABLE_32BIT 
  186#define jpc_fix_asl jas_least32_asl 
  187#define jpc_fix_asr jas_least32_asr 
  189#define jpc_fix_asl jas_fast32_asl 
  190#define jpc_fix_asr jas_fast32_asr 
  193#define jpc_fix_asl jas_fix_asl 
  194#define jpc_fix_asr jas_fix_asr 
  196#define jpc_fix_pluseq(x, y) \ 
  197        JAS_FIX_PLUSEQ(jpc_fix_t, JPC_FIX_FRACBITS, x, y) 
  198#define jpc_fix_minuseq(x, y) \ 
  199        JAS_FIX_MINUSEQ(jpc_fix_t, JPC_FIX_FRACBITS, x, y) 
  200#define jpc_fix_muleq(x, y)     \ 
  201        JAS_FIX_MULEQ(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y) 
  204static inline jpc_fix_t jpc_fix_abs(jpc_fix_t x)
 
  206        return JAS_FIX_ABS(jpc_fix_t, JPC_FIX_FRACBITS, x);
 
  210static inline bool jpc_fix_isint(jpc_fix_t x)
 
  216static inline int jpc_fix_sgn(jpc_fix_t x)
 
  218        return JAS_FIX_SGN(jpc_fix_t, JPC_FIX_FRACBITS, x);
 
  222static inline jpc_fix_t jpc_fix_round(jpc_fix_t x)
 
  228static inline jpc_fix_t jpc_fix_floor(jpc_fix_t x)
 
  239static inline jpc_fix_t jpc_fix_add3(jpc_fix_t x, jpc_fix_t y, jpc_fix_t z)
 
  241        return jpc_fix_add(jpc_fix_add(x, y), z);
 
int_least64_t jas_fix_t
Definition jas_fix.h:101
#define JAS_INTTOFIX(fix_t, fracbits, x)
Definition jas_fix.h:139
#define JAS_FIX_SUB(fix_t, fracbits, x, y)
Definition jas_fix.h:294
#define JAS_FIX_ABS(fix_t, fracbits, x)
Definition jas_fix.h:314
#define JAS_FIX_SGN(fix_t, fracbits, x)
Definition jas_fix.h:322
#define JAS_FIX_FLOOR(fix_t, fracbits, x)
Definition jas_fix.h:362
#define JAS_FIXTOINT(fix_t, fracbits, x)
Definition jas_fix.h:143
#define JAS_FIX_ISINT(fix_t, fracbits, x)
Definition jas_fix.h:318
#define JAS_FIX_NEG
Definition jas_fix.h:240
#define JAS_FIX_ROUND(fix_t, fracbits, x)
Definition jas_fix.h:354
#define JAS_FIXTODBL(fix_t, fracbits, x)
Definition jas_fix.h:147
#define JAS_DBLTOFIX(fix_t, fracbits, x)
Definition jas_fix.h:151
#define JAS_FIX_ADD
Definition jas_fix.h:166
#define JAS_FIX_MUL
Definition jas_fix.h:184
#define JAS_FIX_DIV
Definition jas_fix.h:223
JasPer Fixed-Point Number Class.