31#ifndef _STDFIX_AVRLIBC_H
32#define _STDFIX_AVRLIBC_H
41#ifndef _AVRGCC_STDFIX_H
42#warning please include <stdfix.h> directly rather than <stdfix-avrlibc.h>
45#include <bits/attribs.h>
118#define FXTOA_ALL 0x1f
128#define FXTOA_ROUND 0x00
137#define FXTOA_TRUNC 0x80
146#define FXTOA_NTZ 0x40
155#define FXTOA_DOT 0x00
163#define FXTOA_COMMA 0x20
178char*
hktoa (
short accum x,
char *buf,
unsigned char mode);
188char*
hrtoa (
short fract x,
char *buf,
unsigned char mode);
198char*
ktoa (accum x,
char *buf,
unsigned char mode);
208char*
rtoa (fract x,
char *buf,
unsigned char mode);
218char*
uhktoa (
unsigned short accum x,
char *buf,
unsigned char mode);
228char*
uhrtoa (
unsigned short fract x,
char *buf,
unsigned char mode);
376char*
uktoa (
unsigned accum x,
char *buf,
unsigned char mode);
386char*
urtoa (
unsigned fract x,
char *buf,
unsigned char mode);
409long long fract
absllr (
long long fract val);
429long long accum
absllk (
long long accum val);
442unsigned char bitsuhr (
unsigned short fract val);
462unsigned long bitsulr (
unsigned long fract val);
472unsigned long long bitsullr (
unsigned long long fract val);
482unsigned int bitsuhk (
unsigned short accum val);
492unsigned long bitsuk (
unsigned accum val);
502unsigned long long bitsulk (
unsigned long accum val);
512unsigned long long bitsullk (
unsigned long long accum val);
525unsigned short fract
uhrbits (
unsigned char val);
545unsigned long fract
ulrbits (
unsigned long val);
555unsigned long long fract
ullrbits (
unsigned long long val);
565unsigned short accum
uhkbits (
unsigned int val);
575unsigned accum
ukbits (
unsigned long val);
585unsigned long accum
ulkbits (
unsigned long long val);
595unsigned long long accum
ullkbits (
unsigned long long val);
747extern fract
rdivi (
int num,
int denom);
757extern long fract
lrdivi (
long int num,
long int denom);
767extern unsigned fract
urdivi (
unsigned int num,
unsigned int denom);
777extern unsigned long fract
778ulrdivi (
unsigned long int num,
unsigned long int denom);
793short fract
roundhr (
short fract val,
int bit);
798unsigned short fract
rounduhr (
unsigned short fract val,
int bit);
808unsigned fract
roundur (
unsigned fract val,
int bit);
818unsigned long fract
roundulr (
unsigned long fract val,
int bit);
823long long fract
roundllr (
long long fract val,
int bit);
828unsigned long long fract
roundullr (
unsigned long long fract val,
int bit);
837short accum
roundhk (
short accum val,
int bit);
846unsigned short accum
rounduhk (
unsigned short accum val,
int bit);
864unsigned accum
rounduk (
unsigned accum val,
int bit);
882unsigned long accum
roundulk (
unsigned long accum val,
int bit);
891long long accum
roundllk (
long long accum val,
int bit);
900unsigned long long accum
roundullk (
unsigned long long accum val,
int bit);
1532unsigned short accum
sqrtuhk(
unsigned short accum radic);
1553unsigned short fract
sqrtuhr(
unsigned short fract radic);
1566unsigned long fract
sqrtulr(
unsigned long fract radic);
1615extern unsigned accum
acosuk(
unsigned accum) __ATTR_CONST__;
1616extern unsigned accum
asinuk(
unsigned accum) __ATTR_CONST__;
1617extern unsigned accum
atanuk(
unsigned accum) __ATTR_CONST__;
1618extern accum
acosk(accum) __ATTR_CONST__;
1619extern accum
asink(accum) __ATTR_CONST__;
1620extern accum
atank(accum) __ATTR_CONST__;
1621extern unsigned fract
atanur(
unsigned fract) __ATTR_CONST__;
1623extern short fract
sqrthr(
short fract) __asm__(
"__sqrthr") __ATTR_CONST__;
1624extern
unsigned short fract
sqrtuhr(
unsigned short fract) __asm__("__sqrtuhr") __ATTR_CONST__;
1625fract
sqrtr(fract) __ATTR_CONST__;
1626unsigned fract
sqrtur(
unsigned fract) __ATTR_CONST__;
1627long fract
sqrtlr(
long fract) __ATTR_CONST__;
1628unsigned long fract
sqrtulr(
unsigned long fract) __ATTR_CONST__;
1629unsigned accum
sqrtuk(
unsigned accum) __ATTR_CONST__;
1630accum
sqrtk(accum) __ATTR_CONST__;
1631short accum
sqrthk(
short accum) __ATTR_CONST__;
1632unsigned short accum
sqrtuhk(
unsigned short accum) __ATTR_CONST__;
1634extern
unsigned short fract
log21puhr(
unsigned short fract) __ATTR_CONST__;
1635extern
unsigned fract
log21pur(
unsigned fract) __ATTR_CONST__;
1636extern accum
log2uk(
unsigned accum) __ATTR_CONST__;
1637extern
short accum
log2uhk(
unsigned short accum) __ATTR_CONST__;
1639extern fract
sinuhk_deg(
unsigned short accum) __ATTR_CONST__;
1640extern fract
cosuhk_deg(
unsigned short accum) __ATTR_CONST__;
1641extern
unsigned fract
sinpi2ur(
unsigned fract) __ATTR_CONST__;
1642extern accum
sinpi2k(accum) __ATTR_CONST__;
1643extern accum
cospi2k(accum) __ATTR_CONST__;
1645extern accum
exp2k (accum) __ATTR_CONST__;
1646extern
unsigned accum
exp2uk (
unsigned accum) __ATTR_CONST__;
1647extern
unsigned fract
exp2m1ur (
unsigned fract) __ATTR_CONST__;
1649extern
char*
uktoa (
unsigned accum,
char*,
unsigned char);
1650extern
char*
urtoa (
unsigned fract,
char*,
unsigned char);
1651extern
char*
ktoa (accum,
char*,
unsigned char);
1652extern
char*
rtoa (fract,
char*,
unsigned char);
1653extern
char*
uhktoa (
unsigned short accum,
char*,
unsigned char);
1654extern
char*
uhrtoa (
unsigned short fract,
char*,
unsigned char);
1655extern
char*
hktoa (
short accum,
char*,
unsigned char);
1656extern
char*
hrtoa (
short fract,
char*,
unsigned char);
1672static inline unsigned short fract
pgm_read_uhr (
const unsigned short fract *addr);
1696static inline unsigned long fract
pgm_read_ulr (
const unsigned long fract *addr);
1708static inline unsigned long long fract
pgm_read_ullr (
const unsigned long long fract *addr);
1720static inline unsigned short accum
pgm_read_uhk (
const unsigned short accum *addr);
1744static inline unsigned long accum
pgm_read_ulk (
const unsigned long accum *addr);
1756static inline unsigned long long accum
pgm_read_ullk (
const unsigned long long accum *addr);
1762_Avrlibc_Def_Pgm_1 (hr,
short fract)
1763_Avrlibc_Def_Pgm_1 (uhr,
unsigned short fract)
1764_Avrlibc_Def_Pgm_2 (r, fract)
1765_Avrlibc_Def_Pgm_2 (ur,
unsigned fract)
1766_Avrlibc_Def_Pgm_4 (lr,
long fract)
1767_Avrlibc_Def_Pgm_4 (ulr,
unsigned long fract)
1768_Avrlibc_Def_Pgm_8 (llr,
long long fract)
1769_Avrlibc_Def_Pgm_8 (ullr,
unsigned long long fract)
1771_Avrlibc_Def_Pgm_2 (hk,
short accum)
1772_Avrlibc_Def_Pgm_2 (uhk,
unsigned short accum)
1773_Avrlibc_Def_Pgm_4 (k, accum)
1774_Avrlibc_Def_Pgm_4 (uk,
unsigned accum)
1775_Avrlibc_Def_Pgm_8 (lk,
long accum)
1776_Avrlibc_Def_Pgm_8 (ulk,
unsigned long accum)
1777_Avrlibc_Def_Pgm_8 (llk,
long long accum)
1778_Avrlibc_Def_Pgm_8 (ullk,
unsigned long long accum)
1882_Avrlibc_Def_Pgm_Far_1 (hr,
short fract)
1883_Avrlibc_Def_Pgm_Far_1 (uhr,
unsigned short fract)
1884_Avrlibc_Def_Pgm_Far_2 (r, fract)
1885_Avrlibc_Def_Pgm_Far_2 (ur,
unsigned fract)
1886_Avrlibc_Def_Pgm_Far_4 (lr,
long fract)
1887_Avrlibc_Def_Pgm_Far_4 (ulr,
unsigned long fract)
1888_Avrlibc_Def_Pgm_Far_8 (llr,
long long fract)
1889_Avrlibc_Def_Pgm_Far_8 (ullr,
unsigned long long fract)
1891_Avrlibc_Def_Pgm_Far_2 (hk,
short accum)
1892_Avrlibc_Def_Pgm_Far_2 (uhk,
unsigned short accum)
1893_Avrlibc_Def_Pgm_Far_4 (k, accum)
1894_Avrlibc_Def_Pgm_Far_4 (uk,
unsigned accum)
1895_Avrlibc_Def_Pgm_Far_8 (lk,
long accum)
1896_Avrlibc_Def_Pgm_Far_8 (ulk,
unsigned long accum)
1897_Avrlibc_Def_Pgm_Far_8 (llk,
long long accum)
1898_Avrlibc_Def_Pgm_Far_8 (ullk,
unsigned long long accum)
1906short fract
eeprom_read_hr (
const short fract *__p) __asm(
"eeprom_read_byte") __ATTR_PURE__;
void eeprom_write_dword(uint32_t *__p, uint32_t __value)
void eeprom_update_word(uint16_t *__p, uint16_t __value)
void eeprom_write_word(uint16_t *__p, uint16_t __value)
uint8_t eeprom_read_byte(const uint8_t *__p)
uint16_t eeprom_read_word(const uint16_t *__p)
void eeprom_update_byte(uint8_t *__p, uint8_t __value)
void eeprom_write_byte(uint8_t *__p, uint8_t __value)
void eeprom_update_qword(uint64_t *__p, uint64_t __value)
void eeprom_update_dword(uint32_t *__p, uint32_t __value)
void eeprom_write_qword(uint64_t *__p, uint64_t __value)
uint64_t eeprom_read_qword(const uint64_t *__p)
uint32_t eeprom_read_dword(const uint32_t *__p)
uint32_t uint_farptr_t
Definition: inttypes.h:83
void eeprom_write_ullr(unsigned long long fract *__p, unsigned long long fract __value)
accum roundk(accum val, int bit)
unsigned long long fract ullrbits(unsigned long long val)
long long fract absllr(long long fract val)
void eeprom_write_uhk(unsigned short accum *__p, unsigned short accum __value)
long accum lkbits(long long val)
long accum abslk(long accum val)
static long fract pgm_read_lr(const long fract *addr)
long fract roundlr(long fract val, int bit)
static short accum pgm_read_hk_far(uint_farptr_t addr)
long accum roundlk(long accum val, int bit)
unsigned long fract roundulr(unsigned long fract val, int bit)
long long accum roundllk(long long accum val, int bit)
int countlsulk(unsigned long accum val)
long accum eeprom_read_lk(const long accum *__p)
unsigned long long accum eeprom_read_ullk(const unsigned long long accum *__p)
void eeprom_update_ullk(unsigned long long accum *__p, unsigned long long accum __value)
void eeprom_update_hr(short fract *__p, short fract __value)
void eeprom_write_r(fract *__p, fract __value)
static unsigned short accum pgm_read_uhk(const unsigned short accum *addr)
unsigned long long bitsullr(unsigned long long fract val)
char * uktoa(unsigned accum x, char *buf, unsigned char mode)
char * rtoa(fract x, char *buf, unsigned char mode)
unsigned short fract uhrbits(unsigned char val)
int bitshk(short accum val)
int countlshk(short accum val)
static unsigned short fract pgm_read_uhr(const unsigned short fract *addr)
static unsigned short fract pgm_read_uhr_far(uint_farptr_t addr)
unsigned long fract sqrtulr(unsigned long fract radic)
unsigned short fract log21puhr(unsigned short fract x)
unsigned long bitsuk(unsigned accum val)
unsigned short fract eeprom_read_uhr(const unsigned short fract *__p)
void eeprom_write_lr(long fract *__p, long fract __value)
void eeprom_update_uhr(unsigned short fract *__p, unsigned short fract __value)
unsigned int bitsur(unsigned fract val)
unsigned short accum rounduhk(unsigned short accum val, int bit)
unsigned long long bitsullk(unsigned long long accum val)
void eeprom_write_ulr(unsigned long fract *__p, unsigned long fract __value)
void eeprom_write_hr(short fract *__p, short fract __value)
short fract abshr(short fract val)
static short fract pgm_read_hr(const short fract *addr)
int countlshr(short fract val)
static unsigned long fract pgm_read_ulr(const unsigned long fract *addr)
int countlsuhr(unsigned short fract val)
fract roundr(fract val, int bit)
void eeprom_write_k(accum *__p, accum __value)
long long fract eeprom_read_llr(const long long fract *__p)
long long bitsllk(long long accum val)
long long accum eeprom_read_llk(const long long accum *__p)
static accum pgm_read_k_far(uint_farptr_t addr)
void eeprom_update_llk(long long accum *__p, long long accum __value)
unsigned fract sqrtur(unsigned fract radic)
void eeprom_write_ur(unsigned fract *__p, unsigned fract __value)
void eeprom_update_r(fract *__p, fract __value)
short accum abshk(short accum val)
char * urtoa(unsigned fract x, char *buf, unsigned char mode)
static long long accum pgm_read_llk(const long long accum *addr)
static unsigned long long accum pgm_read_ullk(const unsigned long long accum *addr)
void eeprom_update_k(accum *__p, accum __value)
unsigned long accum ulkbits(unsigned long long val)
fract eeprom_read_r(const fract *__p)
short accum hkbits(int val)
int countlslr(long fract val)
unsigned fract urdivi(unsigned int num, unsigned int denom)
int countlsllr(long long fract val)
void eeprom_update_uhk(unsigned short accum *__p, unsigned short accum __value)
void eeprom_write_llk(long long accum *__p, long long accum __value)
void eeprom_update_lk(long accum *__p, long accum __value)
long fract lrbits(long val)
short fract sqrthr(short fract radic)
unsigned long long accum ullkbits(unsigned long long val)
long fract lrdivi(long int num, long int denom)
unsigned short accum uhkbits(unsigned int val)
long long fract roundllr(long long fract val, int bit)
void eeprom_write_ulk(unsigned long accum *__p, unsigned long accum __value)
long bitslr(long fract val)
accum eeprom_read_k(const accum *__p)
void eeprom_update_uk(unsigned accum *__p, unsigned accum __value)
unsigned accum sqrtuk(unsigned accum radic)
unsigned short fract rounduhr(unsigned short fract val, int bit)
short accum log2uhk(unsigned short accum x)
int countlsuk(unsigned accum val)
fract sinuhk_deg(unsigned short accum deg)
static short fract pgm_read_hr_far(uint_farptr_t addr)
unsigned long long fract roundullr(unsigned long long fract val, int bit)
unsigned long bitsulr(unsigned long fract val)
long fract sqrtlr(long fract radic)
char * ktoa(accum x, char *buf, unsigned char mode)
type roundfx(type val, int bit)
static unsigned fract pgm_read_ur(const unsigned fract *addr)
void eeprom_update_hk(short accum *__p, short accum __value)
static accum pgm_read_k(const accum *addr)
void eeprom_write_llr(long long fract *__p, long long fract __value)
static long fract pgm_read_lr_far(uint_farptr_t addr)
short accum eeprom_read_hk(const short accum *__p)
long long accum llkbits(long long val)
static unsigned long long accum pgm_read_ullk_far(uint_farptr_t addr)
char * hrtoa(short fract x, char *buf, unsigned char mode)
int countlslk(long accum val)
int countlsulr(unsigned long fract val)
int countlsur(unsigned fract val)
unsigned accum acosuk(unsigned accum x)
unsigned short accum eeprom_read_uhk(const unsigned short accum *__p)
unsigned accum ukbits(unsigned long val)
signed char bitshr(short fract val)
void eeprom_update_lr(long fract *__p, long fract __value)
unsigned accum rounduk(unsigned accum val, int bit)
short fract hrbits(signed char val)
char * uhrtoa(unsigned short fract x, char *buf, unsigned char mode)
short fract roundhr(short fract val, int bit)
unsigned long long bitsulk(unsigned long accum val)
static unsigned long accum pgm_read_ulk(const unsigned long accum *addr)
long fract eeprom_read_lr(const long fract *__p)
int countlsullk(unsigned long long accum val)
unsigned long long fract eeprom_read_ullr(const unsigned long long fract *__p)
static fract pgm_read_r(const fract *addr)
static unsigned long long fract pgm_read_ullr(const unsigned long long fract *addr)
long long bitslk(long accum val)
unsigned short fract sqrtuhr(unsigned short fract radic)
static long long accum pgm_read_llk_far(uint_farptr_t addr)
long long accum absllk(long long accum val)
unsigned char bitsuhr(unsigned short fract val)
short accum sqrthk(short accum radic)
char * uhktoa(unsigned short accum x, char *buf, unsigned char mode)
void eeprom_write_lk(long accum *__p, long accum __value)
long fract abslr(long fract val)
void eeprom_write_uhr(unsigned short fract *__p, unsigned short fract __value)
void eeprom_update_ur(unsigned fract *__p, unsigned fract __value)
static unsigned short accum pgm_read_uhk_far(uint_farptr_t addr)
char * hktoa(short accum x, char *buf, unsigned char mode)
void eeprom_write_uk(unsigned accum *__p, unsigned accum __value)
static long accum pgm_read_lk(const long accum *addr)
accum log2uk(unsigned accum x)
unsigned long accum roundulk(unsigned long accum val, int bit)
unsigned fract eeprom_read_ur(const unsigned fract *__p)
static short accum pgm_read_hk(const short accum *addr)
int countlsllk(long long accum val)
unsigned int bitsuhk(unsigned short accum val)
int countlsullr(unsigned long long fract val)
void eeprom_write_hk(short accum *__p, short accum __value)
static unsigned long accum pgm_read_ulk_far(uint_farptr_t addr)
long long fract llrbits(long long val)
static unsigned long long fract pgm_read_ullr_far(uint_farptr_t addr)
static unsigned fract pgm_read_ur_far(uint_farptr_t addr)
int countlsuhk(unsigned short accum val)
void eeprom_write_ullk(unsigned long long accum *__p, unsigned long long accum __value)
static unsigned accum pgm_read_uk(const unsigned accum *addr)
unsigned fract atanur(unsigned fract x)
static long long fract pgm_read_llr(const long long fract *addr)
unsigned accum exp2uk(unsigned accum x)
fract cosuhk_deg(unsigned short accum deg)
static unsigned accum pgm_read_uk_far(uint_farptr_t addr)
fract rdivi(int num, int denom)
void eeprom_update_ullr(unsigned long long fract *__p, unsigned long long fract __value)
void eeprom_update_ulk(unsigned long accum *__p, unsigned long accum __value)
static long accum pgm_read_lk_far(uint_farptr_t addr)
unsigned long fract ulrbits(unsigned long val)
static unsigned long fract pgm_read_ulr_far(uint_farptr_t addr)
static fract pgm_read_r_far(uint_farptr_t addr)
unsigned fract exp2m1ur(unsigned fract x)
unsigned short accum sqrtuhk(unsigned short accum radic)
unsigned accum atanuk(unsigned accum x)
static long long fract pgm_read_llr_far(uint_farptr_t addr)
unsigned long long accum roundullk(unsigned long long accum val, int bit)
unsigned fract sinpi2ur(unsigned fract x)
unsigned long fract eeprom_read_ulr(const unsigned long fract *__p)
void eeprom_update_llr(long long fract *__p, long long fract __value)
long long bitsllr(long long fract val)
unsigned long fract ulrdivi(unsigned long int num, unsigned long int denom)
unsigned fract log21pur(unsigned fract x)
unsigned fract roundur(unsigned fract val, int bit)
unsigned accum asinuk(unsigned accum x)
short fract eeprom_read_hr(const short fract *__p)
unsigned long accum eeprom_read_ulk(const unsigned long accum *__p)
unsigned accum eeprom_read_uk(const unsigned accum *__p)
unsigned fract urbits(unsigned int val)
void eeprom_update_ulr(unsigned long fract *__p, unsigned long fract __value)
short accum roundhk(short accum val, int bit)