/usr/lib/emboss/include/ajmath.h is in emboss-lib 6.6.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | /* @include ajmath ************************************************************
**
** AJAX maths functions
**
** @author Copyright (C) 1998 Alan Bleasby
** @version $Revision: 1.16 $
** @modified $Date: 2012/12/07 09:56:21 $ by $Author: rice $
** @@
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
** License as published by the Free Software Foundation; either
** version 2.1 of the License, or (at your option) any later version.
**
** This library is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
** Lesser General Public License for more details.
**
** You should have received a copy of the GNU Lesser General Public
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
** MA 02110-1301, USA.
**
******************************************************************************/
#ifndef AJMATH_H
#define AJMATH_H
/* ========================================================================= */
/* ============================= include files ============================= */
/* ========================================================================= */
#include "ajdefine.h"
#include "ajstr.h"
AJ_BEGIN_DECLS
/* ========================================================================= */
/* =============================== constants =============================== */
/* ========================================================================= */
#define AJM_E 2.718281828459
#define AJM_PI 3.141592653589
#define AJM_PI_2 1.570796326794
#define AJM_PI_4 0.785398163397
#define AJM_1_PI 0.318309886183
#define AJM_2_PI 0.636619772367
/* ========================================================================= */
/* ============================== public data ============================== */
/* ========================================================================= */
/* ========================================================================= */
/* =========================== public functions ============================ */
/* ========================================================================= */
#define AJMAX(a,b) ((a > b) ? a : b)
#define AJMIN(a,b) ((a < b) ? a : b)
/*
** Prototype definitions
*/
float ajCvtDegToRad(float degrees);
double ajCvtGaussToProb(float mean, float sd, float score);
void ajCvtPolToRec(float radius, float angle,
float *x, float *y);
float ajCvtRadToDeg(float radians);
size_t ajCvtSposToPos(size_t len, ajlong ipos);
size_t ajCvtSposToPosStart(size_t len, size_t imin, ajlong ipos);
float ajMathGmean(const float *s, ajint n);
ajint ajMathModulo(ajint a, ajint b);
ajint ajRandomNumber(void);
double ajRandomDouble(void);
void ajRandomSeed(void);
void ajCvtRecToPol(float x, float y,
float *radius, float *angle);
ajint ajRound(ajuint i, ajuint vround);
float ajRoundFloat(float a, ajuint nbits);
unsigned long long ajMathCrc64(const AjPStr thys);
ajuint ajMathCrc32(const AjPStr thys);
ajuint ajNumLengthDouble(double dnumber);
ajuint ajNumLengthFloat(float fnumber);
ajuint ajNumLengthInt(ajlong inumber);
ajuint ajNumLengthUint(ajulong inumber);
/*
** End of prototype definitions
*/
#ifdef AJ_COMPILE_DEPRECATED_BOOK
#endif /* AJ_COMPILE_DEPRECATED_BOOK */
#ifdef AJ_COMPILE_DEPRECATED
__deprecated float ajRoundF(float a, ajint nbits);
__deprecated double ajRandomNumberD(void);
__deprecated unsigned long long ajSp64Crc(const AjPStr thys);
__deprecated ajuint ajSp32Crc(const AjPStr thys);
__deprecated ajint ajPosMod(ajint a, ajint b);
__deprecated float ajGeoMean(const float *s, ajint n);
__deprecated double ajGaussProb(float mean, float sd, float score);
__deprecated ajuint ajMathPosI(ajuint len, ajuint imin, ajint ipos);
__deprecated ajuint ajMathPos(ajuint len, ajint ipos);
__deprecated float ajDegToRad(float degrees);
__deprecated float ajRadToDeg(float radians);
__deprecated void ajPolToRec(float radius, float angle,
float *x, float *y);
__deprecated void ajRecToPol(float x, float y,
float *radius, float *angle);
#endif /* AJ_COMPILE_DEPRECATED */
AJ_END_DECLS
#endif /* !AJMATH_H */
|