library of assembled shared sources

http://lass.cocamware.com

basic_ops.inl File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


Data Structures

struct  impl::IntPow< T >
struct  impl::IntDiv< T >
struct  impl::IntMod< T >

Namespaces

namespace  impl
 exports a pair of get and set accessors as an read/write attribute in Python by using free functions

Defines

#define LASS_NUM_INVLOG2   1.442695040888963407359924681001892137426645954152985934135449406931109219181185079885526622893506344
#define LASS_NUM_INVLOG10   0.434294481903251827651128918916605082294397005803666566114453783165864649208870774729224949338431748
#define LASS_NUM_INVLOG2   1.442695040888963407359924681001892137426645954152985934135449406931109219181185079885526622893506344
#define LASS_NUM_INVLOG10   0.434294481903251827651128918916605082294397005803666566114453783165864649208870774729224949338431748

Functions

template<typename T >
lass::num::abs (const T &x)
 if x < 0 return -x, else return x.
template<typename T >
lass::num::sign (const T &x)
 if x < 0 return -1, else if x > 0 return 1, else return 0.
template<typename T >
lass::num::sqr (const T &x)
 return x * x
template<typename T >
lass::num::cubic (const T &x)
 return x * x * x
template<typename T >
lass::num::inv (const T &x)
 return x ^ -1
template<typename T >
lass::num::pow (const T &x, const T &p)
 return exp(p * log(x));
template<typename T >
lass::num::log2 (const T &x, const T &p)
 return log(x) / log(2)
template<typename T >
lass::num::log10 (const T &x, const T &p)
 return log(x) / log(10)
template<typename T >
lass::num::norm (const T &x)
 return norm of x as if x is real part of complex number: sqr(x)
template<typename T >
conj (const T &x)
 return conjugate as if x is a complex number: x
template<typename T >
const T & lass::num::clamp (const T &x, const T &min, const T &max)
 if x < min return min, else if x > max return max, else return x.
template<typename T >
lass::num::lerp (const T &a, const T &b, const T &f)
 linear interpolation between a and b
template<typename T , typename f >
lass::num::applyFunction (const T &x, f func)
template<typename T >
void lass::num::inpabs (T &x)
template<typename T >
void lass::num::inpsign (T &x)
template<typename T >
void lass::num::inpinv (T &x)
template<typename T >
void lass::num::inpsqrt (T &x)
template<typename T >
void lass::num::inpsqr (T &x)
template<typename T >
void lass::num::inpcubic (T &x)
template<typename T >
void lass::num::inppow (T &x, const T &p)
template<typename T >
void lass::num::inpexp (T &x)
template<typename T >
void lass::num::inplog (T &x)
template<typename T >
void lass::num::inpcos (T &x)
template<typename T >
void lass::num::inpsin (T &x)
template<typename T >
void lass::num::inptan (T &x)
template<typename T >
void lass::num::inpacos (T &x)
template<typename T >
void lass::num::inpasin (T &x)
template<typename T >
void lass::num::inpatan (T &x)
template<typename T >
void lass::num::inpatan2 (T &y, const T &x)
template<typename T >
void lass::num::inpfloor (T &x)
template<typename T >
void lass::num::inpceil (T &x)
template<typename T >
void lass::num::inpround (T &x)
template<typename T >
void lass::num::inpfractional (T &x)
template<typename T >
void lass::num::inpdiv (T &x, const T &m)
template<typename T >
void lass::num::inpmod (T &x, const T &m)
template<typename T >
void inpclamp (T &x, const T &min, const T &max)
template<typename T >
void lass::num::compnorm (const T &x, T &y)
template<typename T >
void lass::num::compinv (const T &x, T &y)
float lass::num::abs (float x)
float lass::num::inv (float x)
float lass::num::sqrt (float x)
float lass::num::pow (float x, float p)
float lass::num::exp (float x)
float lass::num::log (float x)
float lass::num::log2 (float x)
float lass::num::log10 (float x)
float lass::num::cos (float x)
float lass::num::sin (float x)
float lass::num::tan (float x)
float lass::num::acos (float x)
float lass::num::asin (float x)
float lass::num::atan (float x)
float lass::num::atan2 (float y, float x)
float lass::num::sinc (float x)
float lass::num::floor (float x)
float lass::num::ceil (float x)
float lass::num::round (float x)
float lass::num::fractional (float x)
float lass::num::mod (float x, float m)
float lass::num::fastSin (float x)
double lass::num::abs (double x)
double lass::num::inv (double x)
double lass::num::sqrt (double x)
double lass::num::pow (double x, double p)
double lass::num::exp (double x)
double lass::num::log (double x)
double lass::num::log2 (double x)
double lass::num::log10 (double x)
double lass::num::cos (double x)
double lass::num::sin (double x)
double lass::num::tan (double x)
double lass::num::acos (double x)
double lass::num::asin (double x)
double lass::num::atan (double x)
double lass::num::atan2 (double y, double x)
double lass::num::sinc (double x)
double lass::num::floor (double x)
double lass::num::ceil (double x)
double lass::num::round (double x)
double lass::num::fractional (double x)
double lass::num::mod (double x, double m)
double lass::num::fastSin (double x)
long double lass::num::abs (long double x)
long double lass::num::inv (long double x)
long double lass::num::sqrt (long double x)
long double lass::num::pow (long double x, long double p)
long double lass::num::exp (long double x)
long double lass::num::log (long double x)
long double lass::num::log2 (long double x)
long double lass::num::log10 (long double x)
long double lass::num::cos (long double x)
long double lass::num::sin (long double x)
long double lass::num::tan (long double x)
long double lass::num::acos (long double x)
long double lass::num::asin (long double x)
long double lass::num::atan (long double x)
long double lass::num::atan2 (long double y, long double x)
long double lass::num::sinc (long double x)
long double lass::num::floor (long double x)
long double lass::num::ceil (long double x)
long double lass::num::round (long double x)
long double lass::num::fractional (long double x)
long double lass::num::mod (long double x, long double m)
long double lass::num::fastSin (long double x)
char lass::num::abs (char x)
char lass::num::sign (char x)
char lass::num::pow (char x, char p)
char lass::num::div (char x, char p)
char lass::num::mod (char x, char p)
char lass::num::floor (char x)
char lass::num::ceil (char x)
char lass::num::round (char x)
char lass::num::fractional (char)
void lass::num::inpfloor (char &)
void lass::num::inpceil (char &)
void lass::num::inpround (char &)
void lass::num::inpfractional (char &x)
signed char lass::num::abs (signed char x)
signed char lass::num::pow (signed char x, signed char p)
signed char lass::num::pow (signed char x, unsigned char p)
signed char lass::num::floor (signed char x)
signed char lass::num::ceil (signed char x)
signed char lass::num::round (signed char x)
signed char lass::num::fractional (signed char)
signed char lass::num::div (signed char x, signed char p)
signed char lass::num::div (signed char x, unsigned char p)
signed char lass::num::mod (signed char x, signed char p)
signed char lass::num::mod (signed char x, unsigned char p)
void lass::num::inpfloor (signed char &)
void lass::num::inpceil (signed char &)
void lass::num::inpround (signed char &)
void lass::num::inpfractional (signed char &x)
unsigned char lass::num::abs (unsigned char x)
unsigned char lass::num::sign (unsigned char x)
unsigned char lass::num::pow (unsigned char x, unsigned char p)
unsigned char lass::num::floor (unsigned char x)
unsigned char lass::num::ceil (unsigned char x)
unsigned char lass::num::round (unsigned char x)
unsigned char lass::num::fractional (unsigned char)
unsigned char lass::num::div (unsigned char x, unsigned char p)
unsigned char lass::num::mod (unsigned char x, unsigned char p)
void lass::num::inpabs (unsigned char &)
void lass::num::inpfloor (unsigned char &)
void lass::num::inpceil (unsigned char &)
void lass::num::inpround (unsigned char &)
void lass::num::inpfractional (unsigned char &x)
signed short lass::num::abs (signed short x)
signed short lass::num::pow (signed short x, signed short p)
signed short lass::num::pow (signed short x, unsigned short p)
signed short lass::num::floor (signed short x)
signed short lass::num::ceil (signed short x)
signed short lass::num::round (signed short x)
signed short lass::num::fractional (signed short)
signed short lass::num::div (signed short x, signed short p)
signed short lass::num::div (signed short x, unsigned short p)
signed short lass::num::mod (signed short x, signed short p)
signed short lass::num::mod (signed short x, unsigned short p)
void lass::num::inpfloor (signed short &)
void lass::num::inpceil (signed short &)
void lass::num::inpround (signed short &)
void lass::num::inpfractional (signed short &x)
unsigned short lass::num::abs (unsigned short x)
unsigned short lass::num::sign (unsigned short x)
unsigned short lass::num::pow (unsigned short x, unsigned short p)
unsigned short lass::num::floor (unsigned short x)
unsigned short lass::num::ceil (unsigned short x)
unsigned short lass::num::round (unsigned short x)
unsigned short lass::num::fractional (unsigned short)
unsigned short lass::num::div (unsigned short x, unsigned short p)
unsigned short lass::num::mod (unsigned short x, unsigned short p)
void lass::num::inpabs (unsigned short &)
void lass::num::inpfloor (unsigned short &)
void lass::num::inpceil (unsigned short &)
void lass::num::inpround (unsigned short &)
void lass::num::inpfractional (unsigned short &x)
signed int lass::num::abs (signed int x)
signed int lass::num::pow (signed int x, signed int p)
signed int lass::num::pow (signed int x, unsigned int p)
signed int lass::num::floor (signed int x)
signed int lass::num::ceil (signed int x)
signed int lass::num::round (signed int x)
signed int lass::num::fractional (signed int)
signed int lass::num::div (signed int x, signed int p)
signed int lass::num::div (signed int x, unsigned int p)
signed int lass::num::mod (signed int x, signed int p)
signed int lass::num::mod (signed int x, unsigned int p)
void lass::num::inpfloor (signed int &)
void lass::num::inpceil (signed int &)
void lass::num::inpround (signed int &)
void lass::num::inpfractional (signed int &x)
unsigned int lass::num::abs (unsigned int x)
unsigned int lass::num::sign (unsigned int x)
unsigned int lass::num::pow (unsigned int x, unsigned int p)
unsigned int lass::num::floor (unsigned int x)
unsigned int lass::num::ceil (unsigned int x)
unsigned int lass::num::round (unsigned int x)
unsigned int lass::num::fractional (unsigned int)
unsigned int lass::num::div (unsigned int x, unsigned int p)
unsigned int lass::num::mod (unsigned int x, unsigned int p)
void lass::num::inpabs (unsigned int &)
void lass::num::inpfloor (unsigned int &)
void lass::num::inpceil (unsigned int &)
void lass::num::inpround (unsigned int &)
void lass::num::inpfractional (unsigned int &x)
signed long lass::num::abs (signed long x)
signed long lass::num::pow (signed long x, signed long p)
signed long lass::num::pow (signed long x, unsigned long p)
signed long lass::num::floor (signed long x)
signed long lass::num::ceil (signed long x)
signed long lass::num::round (signed long x)
signed long lass::num::fractional (signed long)
signed long lass::num::div (signed long x, signed long p)
signed long lass::num::div (signed long x, unsigned long p)
signed long lass::num::mod (signed long x, signed long p)
signed long lass::num::mod (signed long x, unsigned long p)
void lass::num::inpfloor (signed long &)
void lass::num::inpceil (signed long &)
void lass::num::inpround (signed long &)
void lass::num::inpfractional (signed long &x)
unsigned long lass::num::abs (unsigned long x)
unsigned long lass::num::sign (unsigned long x)
unsigned long lass::num::pow (unsigned long x, unsigned long p)
unsigned long lass::num::floor (unsigned long x)
unsigned long lass::num::ceil (unsigned long x)
unsigned long lass::num::round (unsigned long x)
unsigned long lass::num::fractional (unsigned long)
unsigned long lass::num::div (unsigned long x, unsigned long p)
unsigned long lass::num::mod (unsigned long x, unsigned long p)
void lass::num::inpabs (unsigned long &)
void lass::num::inpfloor (unsigned long &)
void lass::num::inpceil (unsigned long &)
void lass::num::inpround (unsigned long &)
void lass::num::inpfractional (unsigned long &x)
template<typename T >
std::complex< T > lass::num::abs (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::inv (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::sqrt (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::pow (const std::complex< T > &x, double p)
template<typename T >
std::complex< T > lass::num::exp (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::log (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::log2 (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::log10 (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::cos (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::sin (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::tan (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::acos (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::asin (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::atan (const std::complex< T > &x)
template<typename T >
lass::num::norm (const std::complex< T > &x)
template<typename T >
std::complex< T > lass::num::conj (const std::complex< T > &x)


Detailed Description

Author:
Bram de Greve (bramz@users.sourceforge.net)

Tom De Muer (tomdemuer@users.sourceforge.net)

*** BEGIN LICENSE INFORMATION ***

The contents of this file are subject to the Common Public Attribution License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://lass.sourceforge.net/cpal-license. The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to cover use of software over a computer network and provide for limited attribution for the Original Developer. In addition, Exhibit A has been modified to be consistent with Exhibit B.

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

The Original Code is LASS - Library of Assembled Shared Sources.

The Initial Developer of the Original Code is Bram de Greve and Tom De Muer. The Original Developer is the Initial Developer.

All portions of the code written by the Initial Developer are: Copyright (C) 2004-2007 the Initial Developer. All Rights Reserved.

Contributor(s):

Alternatively, the contents of this file may be used under the terms of the GNU General Public License Version 2 or later (the GPL), in which case the provisions of GPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the GPL and not to allow others to use your version of this file under the CPAL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL License. If you do not delete the provisions above, a recipient may use your version of this file under either the CPAL or the GPL.

*** END LICENSE INFORMATION ***

Definition in file basic_ops.inl.


Define Documentation

#define LASS_NUM_INVLOG2   1.442695040888963407359924681001892137426645954152985934135449406931109219181185079885526622893506344

Definition at line 456 of file basic_ops.h.

#define LASS_NUM_INVLOG10   0.434294481903251827651128918916605082294397005803666566114453783165864649208870774729224949338431748

Definition at line 457 of file basic_ops.h.

#define LASS_NUM_INVLOG2   1.442695040888963407359924681001892137426645954152985934135449406931109219181185079885526622893506344

Definition at line 46 of file basic_ops.inl.

#define LASS_NUM_INVLOG10   0.434294481903251827651128918916605082294397005803666566114453783165864649208870774729224949338431748

Definition at line 47 of file basic_ops.inl.


Function Documentation

template<typename T >
T conj ( const T &  x  )  [inline]

return conjugate as if x is a complex number: x

Definition at line 213 of file basic_ops.inl.

Referenced by lass::num::impl::ludecomp().

template<typename T >
void inpclamp ( T &  x,
const T &  min,
const T &  max 
) [inline]


Generated on Mon Nov 10 14:22:03 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo