ajmath.c


Function ajRound

Rounds an integer to be a multiple of a given number.

Synopsis

Prototype
ajint ajRound (
      ajint i,
      ajint vround
);

TypeNameRead/WriteDescription
ajintiInputInteger to round.
ajintvroundInputRounding multiple.
ajint RETURNResult.

Input
i:(Input)Integer to round.
vround:(Input)Rounding multiple.
Returns
ajint:Result.

Description

Rounds an integer to be a multiple of a given number.

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajRoundFloat

Rounds a floating point number to have bits free for cumulative addition

Synopsis

Prototype
float ajRoundFloat (
      float a,
      ajint nbits
);

TypeNameRead/WriteDescription
floataInputFloat to round.
ajintnbitsInputNumber of bits to free.
float RETURNResult.

Input
a:(Input)Float to round.
nbits:(Input)Number of bits to free.
Returns
float:Result.

Description

Rounds a floating point number to have bits free for cumulative addition

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajCvtRecToPol

Converts Cartesian coordinates to polar

Synopsis

Prototype
void ajCvtRecToPol (
      float x,
      float y,
      float* radius,
      float* angle
);

TypeNameRead/WriteDescription
floatxInputX coordinate
floatyInputY coordinate
float*radiusOutputRadius
float*angleOutputAngle
void RETURN

Input
x:(Input)X coordinate
y:(Input)Y coordinate
Output
radius:(Output)Radius
angle:(Output)Angle
Returns
void:No return value

Description

Converts Cartesian coordinates to polar

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajCvtPolToRec

Converts polar coordinates to Cartesian

Synopsis

Prototype
void ajCvtPolToRec (
      float radius,
      float angle,
      float* x,
      float* y
);

TypeNameRead/WriteDescription
floatradiusInputRadius
floatangleInputAngle
float*xOutputX coordinate
float*yOutputY coordinate
void RETURN

Input
radius:(Input)Radius
angle:(Input)Angle
Output
x:(Output)X coordinate
y:(Output)Y coordinate
Returns
void:No return value

Description

Converts polar coordinates to Cartesian

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajCvtDegToRad

Converts degrees to radians

Synopsis

Prototype
float ajCvtDegToRad (
      float degrees
);

TypeNameRead/WriteDescription
floatdegreesInputDegrees
float RETURNRadians

Input
degrees:(Input)Degrees
Returns
float:Radians

Description

Converts degrees to radians

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajCvtRadToDeg

Converts radians to degrees

Synopsis

Prototype
float ajCvtRadToDeg (
      float radians
);

TypeNameRead/WriteDescription
floatradiansInputRadians
float RETURNDegrees

Input
radians:(Input)Radians
Returns
float:Degrees

Description

Converts radians to degrees

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajCvtGaussToProb

Returns a probability given a Gaussian distribution

Synopsis

Prototype
double ajCvtGaussToProb (
      float mean,
      float sd,
      float score
);

TypeNameRead/WriteDescription
floatmeanInputmean
floatsdInputsd
floatscoreInputscore
double RETURNprobability

Input
mean:(Input)mean
sd:(Input)sd
score:(Input)score
Returns
double:probability

Description

Returns a probability given a Gaussian distribution

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajMathGmean

Calculate a geometric mean

Synopsis

Prototype
float ajMathGmean (
      const float* s,
      ajint n
);

TypeNameRead/WriteDescription
const float*sInputarray of values
ajintnInputnumber of values
float RETURNgeometric mean

Input
s:(Input)array of values
n:(Input)number of values
Returns
float:geometric mean

Description

Calculate a geometric mean

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajMathModulo

Modulo always returning positive number

Synopsis

Prototype
ajint ajMathModulo (
      ajint a,
      ajint b
);

TypeNameRead/WriteDescription
ajintaInputvalue1
ajintbInputvalue2
ajint RETURNvalue1 modulo value2

Input
a:(Input)value1
b:(Input)value2
Returns
ajint:value1 modulo value2

Description

Modulo always returning positive number

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajRandomSeed

Seed for the ajRandomDouble routine

Based on dprand and sdprand and used with the permission of the author.... Copyright (C) 1992 N.M. Maclaren Copyright (C) 1992 The University of Cambridge

This software may be reproduced and used freely, provided that all users of it agree that the copyright holders are not liable for any damage or injury caused by use of this software and that this condition is passed onto all subsequent recipients of the software, whether modified or not.

Synopsis

Prototype
void ajRandomSeed (
      void
);

TypeNameRead/WriteDescription
void RETURN

Returns
void:No return value

Description

Seed for the ajRandomDouble routine

Based on dprand and sdprand and used with the permission of the author.... Copyright (C) 1992 N.M. Maclaren Copyright (C) 1992 The University of Cambridge

This software may be reproduced and used freely, provided that all users of it agree that the copyright holders are not liable for any damage or injury caused by use of this software and that this condition is passed onto all subsequent recipients of the software, whether modified or not.

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajRandomNumber

Generate a pseudo-random number between 0-32767

Synopsis

Prototype
ajint ajRandomNumber (
      void
);

TypeNameRead/WriteDescription
ajint RETURNRandom number

Returns
ajint:Random number

Description

Generate a pseudo-random number between 0-32767

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajRandomDouble

Generate a random number between 0-1.0

Based on dprand and sdprand and used with the permission of the author.... Copyright (C) 1992 N.M. Maclaren Copyright (C) 1992 The University of Cambridge

This software may be reproduced and used freely, provided that all users of it agree that the copyright holders are not liable for any damage or injury caused by use of this software and that this condition is passed onto all subsequent recipients of the software, whether modified or not.

Synopsis

Prototype
double ajRandomDouble (
      void
);

TypeNameRead/WriteDescription
double RETURNRandom number

Returns
double:Random number

Description

Generate a random number between 0-1.0

Based on dprand and sdprand and used with the permission of the author.... Copyright (C) 1992 N.M. Maclaren Copyright (C) 1992 The University of Cambridge

This software may be reproduced and used freely, provided that all users of it agree that the copyright holders are not liable for any damage or injury caused by use of this software and that this condition is passed onto all subsequent recipients of the software, whether modified or not.

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajMathCrc32

Calculates the SwissProt style CRC32 checksum for a protein sequence. This seems to be a bit reversal of a standard CRC32 checksum.

Synopsis

Prototype
ajuint ajMathCrc32 (
      const AjPStr seq
);

TypeNameRead/WriteDescription
const AjPStrseqInputSequence as a string
ajuint RETURNCRC32 checksum.

Input
seq:(Input)Sequence as a string
Returns
ajuint:CRC32 checksum.

Description

Calculates the SwissProt style CRC32 checksum for a protein sequence. This seems to be a bit reversal of a standard CRC32 checksum.

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajMathCrc64

Calculate 64-bit crc

Synopsis

Prototype
unsigned long long ajMathCrc64 (
      const AjPStr thys
);

TypeNameRead/WriteDescription
const AjPStrthysInputsequence
unsigned long long RETURN64-bit CRC

Input
thys:(Input)sequence
Returns
unsigned long long:64-bit CRC

Description

Calculate 64-bit crc

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajCvtSposToPos

Converts a string position into a true position. If ipos is negative, it is counted from the end of the string rather than the beginning.

Synopsis

Prototype
size_t ajCvtSposToPos (
      size_t len,
      ajlong ipos
);

TypeNameRead/WriteDescription
size_tlenInputString length.
ajlongiposInputPosition (0 start, negative from the end).
size_t RETURNstring position between 0 and (length minus 1).

Input
len:(Input)String length.
ipos:(Input)Position (0 start, negative from the end).
Returns
size_t:string position between 0 and (length minus 1).

Description

Converts a string position into a true position. If ipos is negative, it is counted from the end of the string rather than the beginning.

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajCvtSposToPosStart

Converts a position into a true position. If ipos is negative, it is counted from the end of the string rather than the beginning.

imin is a minimum relative position. Usually this is the start position when the end of a range is being tested.

Synopsis

Prototype
size_t ajCvtSposToPosStart (
      size_t len,
      size_t imin,
      ajlong ipos
);

TypeNameRead/WriteDescription
size_tlenInputmaximum length.
size_timinInputStart position (0 start, no negative values).
ajlongiposInputPosition (0 start, negative from the end).
size_t RETURNstring position between 0 and (length minus 1).

Input
len:(Input)maximum length.
imin:(Input)Start position (0 start, no negative values).
ipos:(Input)Position (0 start, negative from the end).
Returns
size_t:string position between 0 and (length minus 1).

Description

Converts a position into a true position. If ipos is negative, it is counted from the end of the string rather than the beginning.

imin is a minimum relative position. Usually this is the start position when the end of a range is being tested.

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajNumLengthDouble

Returns the length of a number written as an integer

Synopsis

Prototype
ajuint ajNumLengthDouble (
      double dnumber
);

TypeNameRead/WriteDescription
doublednumberInputDouble precision value
ajuint RETURNNumber of digits

Input
dnumber:(Input)Double precision value
Returns
ajuint:Number of digits

Description

Returns the length of a number written as an integer

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajNumLengthFloat

Returns the length of a number written as an integer

Synopsis

Prototype
ajuint ajNumLengthFloat (
      float fnumber
);

TypeNameRead/WriteDescription
floatfnumberInputSingle precision value
ajuint RETURNNumber of digits

Input
fnumber:(Input)Single precision value
Returns
ajuint:Number of digits

Description

Returns the length of a number written as an integer

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajNumLengthInt

Returns the length of a number written as an integer

Synopsis

Prototype
ajuint ajNumLengthInt (
      ajlong inumber
);

TypeNameRead/WriteDescription
ajlonginumberInputInteger
ajuint RETURNNumber of digits

Input
inumber:(Input)Integer
Returns
ajuint:Number of digits

Description

Returns the length of a number written as an integer

See Also

See other functions in this section

Availability

In release 6.4.0

Function ajNumLengthUint

Returns the length of a number written as an integer

Synopsis

Prototype
ajuint ajNumLengthUint (
      ajulong inumber
);

TypeNameRead/WriteDescription
ajulonginumberInputUnsigned integer
ajuint RETURNNumber of digits

Input
inumber:(Input)Unsigned integer
Returns
ajuint:Number of digits

Description

Returns the length of a number written as an integer

See Also

See other functions in this section

Availability

In release 6.4.0