campo-sirio/gfm/gmfuncts.h

237 lines
14 KiB
C
Raw Normal View History

/* Greenleaf Financial MathLib
* Function Call Prototypes
* Copyright (C) 1987-1990 Greenleaf Software Inc. All rights reserved.
*/
#ifndef FILE
#include <stdio.h>
#endif
#if defined(WIN32) && defined(_USRDLL)
#define GFM_EXPORT __declspec(dllexport)
#else
#define GFM_EXPORT
#endif
#define ELLIPSES ...
#ifdef __cplusplus
extern "C" {
#endif
GFM_EXPORT DEC *AbsoluteDecimal( DEC *, DEC * );
GFM_EXPORT DEC *AddAscii( DEC *, char *, char * );
GFM_EXPORT void AddsToDate360( int *, int *, int *, int , int , int , int );
GFM_EXPORT void AddsToDate365( int *, int *, int *, int , int , int , int );
GFM_EXPORT void AddsToDate365NoLeap( int *, int *, int *, int , int , int , int );
GFM_EXPORT DEC *AddDecimal( DEC *, DEC *, DEC * );
GFM_EXPORT DEC **AddDecimalArrays( DEC *[], DEC *[], DEC *[], int );
GFM_EXPORT DEC **AddDecimalToDecimalArray( DEC *[], DEC *[], DEC *, int );
GFM_EXPORT DEC *AddDoubleToDecimal( DEC *, DEC *, double );
GFM_EXPORT DEC *AddIntToDecimal( DEC *, DEC *, int );
GFM_EXPORT DEC *AddLongToDecimal( DEC *, DEC *, long );
GFM_EXPORT DEC *AddPercent( DEC *, DEC *, DEC *);
GFM_EXPORT DEC *AddUnsLongToDecimal( DEC *, DEC *, unsigned long );
GFM_EXPORT DEC *AddUnsToDecimal( DEC *, DEC *, unsigned int );
GFM_EXPORT DEC *AdvancePayment( int , DEC *, DEC *, DEC *, DEC *, int , int );
GFM_EXPORT DEC *AllocateDecimal( void );
GFM_EXPORT DEC* *AllocateDecimalArray( DEC *[], int );
GFM_EXPORT void Amortize( DEC *, DEC *, DEC *, DEC *, DEC *, DEC *, int , int );
GFM_EXPORT void AmortizeTable( DEC *[], DEC *[], DEC *[], DEC *, DEC *, DEC *,
int , int );
GFM_EXPORT DEC *AntiLog10Decimal( DEC *, DEC * );
GFM_EXPORT DEC *AntiLogEDecimal( DEC *, DEC * );
GFM_EXPORT DEC *ArcCosineDecimal( DEC *, DEC *);
GFM_EXPORT DEC *ArcSineDecimal( DEC *, DEC *);
GFM_EXPORT DEC *ArcTangentDecimal( DEC *, DEC *);
GFM_EXPORT DEC *BondPrice( DEC *, DEC *, DEC *, DEC *, int , int , int , int ,
int , int , int );
GFM_EXPORT DEC *BondYield( DEC *, DEC *, DEC *, int , int , int , int , int ,
int , int );
GFM_EXPORT DEC *ChangeSignDecimal( DEC *, DEC * );
GFM_EXPORT void ClearMathError( void );
GFM_EXPORT int CompareDecimal( DEC *, DEC * );
GFM_EXPORT DEC *CompoundInterest( int *, DEC *, DEC *, DEC *, DEC *, int , int );
GFM_EXPORT DEC *CompoundInterestCompound( DEC *, DEC *, DEC *, DEC *, DEC *, int ,
int );
GFM_EXPORT DEC *CompoundInterestSimple( DEC *, DEC *, DEC *, DEC *, DEC *, int ,
int );
GFM_EXPORT DEC *ConvAsciiToDecimal( DEC *, char * );
GFM_EXPORT DEC *ConvAsciiToDecimalRound( DEC *, char *, int );
GFM_EXPORT char *ConvDecimalToAscii( char *, DEC * );
GFM_EXPORT char *ConvDecimalToAsciiComma(char *, DEC * );
GFM_EXPORT char *ConvDecimalToAsciiCommaRound( char *, DEC *, int );
GFM_EXPORT char *ConvDecimalToAsciiRound( char *, DEC *, int );
GFM_EXPORT long ConvDecimalToDollarsAnd( int *, DEC * );
GFM_EXPORT double ConvDecimalToDouble( DEC * );
GFM_EXPORT char *ConvDecimalToEngineering( char *, DEC *, int );
GFM_EXPORT long ConvDecimalToFraction( int *, DEC *, int );
GFM_EXPORT int ConvDecimalToInt( DEC * );
GFM_EXPORT long ConvDecimalToLong( DEC * );
GFM_EXPORT char *ConvDecimalToScientific( char *, DEC *, int );
GFM_EXPORT unsigned int ConvDecimalToUns( DEC * );
GFM_EXPORT unsigned long ConvDecimalToUnsLong( DEC * );
GFM_EXPORT DEC *ConvDegreesToRadians( DEC *, DEC * );
GFM_EXPORT DEC *ConvDollarsAndToDecimal( DEC *, long , int );
GFM_EXPORT DEC *ConvDoubleToDecimal( DEC *, double );
GFM_EXPORT DEC *ConvDoubleToDecimalRound( DEC *, double , int );
GFM_EXPORT DEC *ConvEffectiveToNominal( DEC *, DEC *, int );
GFM_EXPORT DEC *ConvFractionToDecimal( DEC *, long , int , int );
GFM_EXPORT DEC *ConvIntToDecimal( DEC *, int );
GFM_EXPORT DEC *ConvLongToDecimal( DEC *, long );
GFM_EXPORT DEC *ConvNominalToEffective( DEC *, DEC *, int );
GFM_EXPORT DEC *ConvPeriodicToly( DEC *, DEC *, int );
GFM_EXPORT DEC *ConvRadiansToDegrees( DEC *, DEC * );
GFM_EXPORT DEC *ConvUnsLongToDecimal( DEC *, unsigned long );
GFM_EXPORT DEC *ConvUnsToDecimal( DEC *, unsigned int );
GFM_EXPORT DEC *ConvlyToPeriodic( DEC *, DEC *, int );
GFM_EXPORT DEC *CopyDecimal( DEC *, DEC * );
GFM_EXPORT DEC **CopyDecimalArray( DEC *[], DEC *[], int );
GFM_EXPORT DEC *CosineDecimal( DEC *, DEC * );
GFM_EXPORT DEC *CotangentDecimal( DEC *, DEC * );
GFM_EXPORT int DaysBetweenDates360( int , int , int , int , int , int );
GFM_EXPORT int DaysBetweenDates365( int , int , int , int , int , int );
GFM_EXPORT int DaysBetweenDates365NoLeapYear( int , int , int , int , int ,
int );
GFM_EXPORT long DecimalMantissa( DEC * );
GFM_EXPORT DEC *DecimalModuloDouble( DEC *, DEC *, double );
GFM_EXPORT DEC *DecimalModuloInt( DEC *, DEC *, int );
GFM_EXPORT DEC *DecimalModuloLong( DEC *, DEC *, long );
GFM_EXPORT DEC *DecimalModuloUns( DEC *, DEC *, unsigned int );
GFM_EXPORT DEC *DecimalModuloUnsLong( DEC *, DEC *, unsigned long );
GFM_EXPORT DEC *DecimalPercentage( DEC *, DEC *, int );
GFM_EXPORT int DecimalPrecision( DEC * );
GFM_EXPORT DEC *DeleteTrailingZeroes( DEC *, DEC * );
GFM_EXPORT DEC *DepreciateDeclining( DEC *, DEC *, DEC *, DEC *, DEC *, int ,
DEC *, int );
GFM_EXPORT DEC* *DepreciateDecliningTable( DEC *[], DEC *[], DEC *, DEC *, DEC *,
int , DEC *);
GFM_EXPORT DEC *DepreciateDoubleDeclining( DEC *, DEC *, DEC *, DEC *, int ,
DEC *, int );
GFM_EXPORT DEC* *DepreciateDoubleDecliningTable( DEC *[], DEC *[], DEC *, DEC *,
int , DEC *);
GFM_EXPORT DEC *DepreciateStraightLine( DEC *, DEC *, DEC *, DEC *, int , DEC *,
int );
GFM_EXPORT DEC* *DepreciateStraightLineTable( DEC *[], DEC *[], DEC *, DEC *, int ,
DEC *);
GFM_EXPORT DEC *DepreciateSumOfYears( DEC *, DEC *, DEC *, DEC *, int , DEC *,
int );
GFM_EXPORT DEC* *DepreciateSumOfYearsTable( DEC *[], DEC *[], DEC *, DEC *, int ,
DEC *);
GFM_EXPORT DEC *DivideAscii( DEC *, char *, char *);
GFM_EXPORT DEC *DivideDecimal( DEC *, DEC *, DEC *);
GFM_EXPORT DEC *DivideDecimalAndRound( DEC *, DEC *, DEC *, int );
GFM_EXPORT DEC *DivideDecimalAndTruncate( DEC *, DEC *, DEC *, int );
GFM_EXPORT DEC* *DivideDecimalArrayByDecimal( DEC *[], DEC *[], DEC *, int );
GFM_EXPORT DEC **DivideDecimalArrays( DEC *[], DEC *[], DEC *[], int );
GFM_EXPORT DEC *DivideDecimalByDouble( DEC *, DEC *, double );
GFM_EXPORT DEC *DivideDecimalByInt( DEC *, DEC *, int );
GFM_EXPORT DEC *DivideDecimalByLong( DEC *, DEC *, long );
GFM_EXPORT DEC *DivideDecimalByUns( DEC *, DEC *, unsigned int );
GFM_EXPORT DEC *DivideDecimalByUnsLong( DEC *, DEC *, unsigned long );
GFM_EXPORT DEC *DividePercent( DEC *, DEC *, DEC *);
GFM_EXPORT char *ErrorName( char *, int );
GFM_EXPORT DEC *Factorial( DEC *, unsigned int );
GFM_EXPORT int FilePrintDecimal( FILE *, char *, ELLIPSES);
GFM_EXPORT int FileScanDecimal( FILE *, char *, ELLIPSES);
GFM_EXPORT DEC *FindMaximumDecimalArray( DEC *, DEC *[], int );
GFM_EXPORT DEC *FindMinimumDecimalArray( DEC *, DEC *[], int );
GFM_EXPORT DEC *FractionDecimal( DEC *, DEC * );
GFM_EXPORT void FreeDecimal( DEC * );
GFM_EXPORT void FreeDecimalArray( DEC *[] );
GFM_EXPORT char *FunctionName( char *, int );
GFM_EXPORT DEC *IntegerPartDecimal( DEC *, DEC * );
GFM_EXPORT DEC *InternalRateOfReturn( DEC *, DEC *[], int );
GFM_EXPORT int IsDecimalEqual( DEC *, DEC * );
GFM_EXPORT int IsDecimalGreater( DEC *, DEC * );
GFM_EXPORT int IsDecimalGreaterOrEqual( DEC *, DEC * );
GFM_EXPORT int IsDecimalInt( DEC * );
GFM_EXPORT int IsDecimalLess( DEC *, DEC * );
GFM_EXPORT int IsDecimalLessOrEqual( DEC *, DEC * );
GFM_EXPORT int IsDecimalNegative( DEC * );
GFM_EXPORT int IsDecimalNotEqual( DEC *, DEC * );
GFM_EXPORT int IsDecimalPositive( DEC * );
GFM_EXPORT int IsDecimalZero( DEC * );
GFM_EXPORT DEC *LinearEstimate( DEC *, DEC *, DEC *, DEC *[], DEC *[], int );
GFM_EXPORT DEC *Log10Decimal( DEC *, DEC * );
GFM_EXPORT DEC *LogEDecimal( DEC *, DEC * );
GFM_EXPORT int LookUpDecimalArray( DEC *[], DEC *, int , int );
GFM_EXPORT int MagnitudeOfDecimal( DEC * );
GFM_EXPORT DEC *MakeDecimalFromInt( DEC *, int , int );
GFM_EXPORT DEC *MakeDecimalFromLong( DEC *, long , int );
GFM_EXPORT DEC *MakeDecimalFromUns( DEC *, unsigned int , int );
GFM_EXPORT DEC *MakeDecimalFromUnsLong( DEC *, unsigned long , int );
GFM_EXPORT DEC *MaximumDecimal( DEC *, DEC *, DEC * );
GFM_EXPORT DEC *Median( DEC *, DEC *[], int );
GFM_EXPORT DEC *MinimumDecimal( DEC *, DEC *, DEC * );
GFM_EXPORT DEC *ModifiedIRR( DEC *, DEC *[], int , DEC *, DEC *);
GFM_EXPORT DEC *ModuloDecimal( DEC *, DEC *, DEC *);
GFM_EXPORT DEC *MultiplyAscii( DEC *, char *, char * );
GFM_EXPORT DEC *MultiplyDecimal( DEC *, DEC *, DEC * );
GFM_EXPORT DEC *MultiplyDecimalAndRound( DEC *, DEC *, DEC *, int );
GFM_EXPORT DEC *MultiplyDecimalAndTruncate( DEC *, DEC *, DEC *, int );
GFM_EXPORT DEC* *MultiplyDecimalArrayByDecimal( DEC *[], DEC *[], DEC *, int );
GFM_EXPORT DEC* *MultiplyDecimalArrays( DEC *[], DEC *[], DEC *[], int );
GFM_EXPORT DEC *MultiplyDecimalByDouble( DEC *, DEC *, double );
GFM_EXPORT DEC *MultiplyDecimalByInt( DEC *, DEC *, int );
GFM_EXPORT DEC *MultiplyDecimalByLong( DEC *, DEC *, long );
GFM_EXPORT DEC *MultiplyDecimalByUns( DEC *, DEC *, unsigned int );
GFM_EXPORT DEC *MultiplyDecimalByUnsLong( DEC *, DEC *, unsigned long );
GFM_EXPORT DEC *MultiplyPercent( DEC *, DEC *, DEC *);
GFM_EXPORT DEC *NetFutureValue( DEC *, DEC *[], int , DEC *);
GFM_EXPORT DEC *NetPresentValue( DEC *, DEC *[], int , DEC *);
GFM_EXPORT DEC *PercentChange( DEC *, DEC *, DEC * );
GFM_EXPORT DEC *PercentOf( DEC *, DEC *, DEC * );
GFM_EXPORT DEC *PowerDecimal( DEC *, DEC *, DEC * );
GFM_EXPORT DEC *PowerInteger( DEC *, DEC *, int );
GFM_EXPORT DEC *PowerRational( DEC *, DEC *, int , int );
GFM_EXPORT DEC *PredictX( DEC *, DEC * );
GFM_EXPORT DEC *PredictY( DEC *, DEC * );
GFM_EXPORT int PrintDecimal( char *, ELLIPSES);
GFM_EXPORT int ReturnErrFuncNumAndClear( void );
GFM_EXPORT int ReturnMathErrAndClear( void );
GFM_EXPORT DEC *RootDecimal( DEC *, DEC *, DEC *);
GFM_EXPORT DEC *RootInteger( DEC *, DEC *, int );
GFM_EXPORT DEC *RoundCents( DEC *, DEC *, int );
GFM_EXPORT DEC *RoundDecimal( DEC *, DEC *, int );
GFM_EXPORT int ScanDecimal( char *, ELLIPSES);
GFM_EXPORT void SetMathErrVector( void (*)( int , int ) );
GFM_EXPORT DEC *SimpleInterest360( int *, DEC *, DEC *, DEC *, int );
GFM_EXPORT DEC *SimpleInterest365( int *, DEC *, DEC *, DEC *, int );
GFM_EXPORT DEC *SineDecimal( DEC *, DEC *);
GFM_EXPORT DEC *SinglePaymentFutureValue( DEC *, DEC *, int );
GFM_EXPORT DEC *SinglePaymentPresentValue( DEC *, DEC *, int );
GFM_EXPORT DEC **SortDecimalArray( DEC *[], DEC *[], int , int );
GFM_EXPORT DEC *SquareRootDecimal( DEC *, DEC * );
GFM_EXPORT DEC *StandardDeviation( DEC *, DEC *[], int );
GFM_EXPORT DEC *StatMean( DEC *, DEC *[], int );
GFM_EXPORT int StringPrintDecimal( char *, char *, ELLIPSES);
GFM_EXPORT int StringScanDecimal( char *, char *, ELLIPSES);
GFM_EXPORT DEC *SubtractAscii( DEC *, char *, char *);
GFM_EXPORT DEC *SubtractDecimal( DEC *, DEC *, DEC * );
GFM_EXPORT DEC* *SubtractDecimalArrays( DEC *[], DEC *[], DEC *[], int );
GFM_EXPORT DEC* *SubtractDecimalFromDecimalArray( DEC *[], DEC *[], DEC *, int );
GFM_EXPORT DEC *SubtractDoubleFromDecimal( DEC *, DEC *, double );
GFM_EXPORT DEC *SubtractIntFromDecimal( DEC *, DEC *, int );
GFM_EXPORT DEC *SubtractLongFromDecimal( DEC *, DEC *, long );
GFM_EXPORT DEC *SubtractPercent( DEC *, DEC *, DEC * );
GFM_EXPORT DEC *SubtractUnsFromDecimal( DEC *, DEC *, unsigned int );
GFM_EXPORT DEC *SubtractUnsLongFromDecimal( DEC *, DEC *, unsigned long );
GFM_EXPORT DEC *SumDecimalArray( DEC *, DEC *[], int );
GFM_EXPORT DEC *SumDecimalArrayNegative( DEC *, DEC *[], int );
GFM_EXPORT DEC *SumDecimalArrayPositive( DEC *, DEC *[], int );
GFM_EXPORT DEC *SwapDecimal( DEC *, DEC * );
GFM_EXPORT DEC *TangentDecimal( DEC *, DEC *);
GFM_EXPORT int TestSignDecimal( DEC * );
GFM_EXPORT DEC *TruncateCents( DEC *, DEC *, int );
GFM_EXPORT DEC *TruncateDecimal( DEC *, DEC *, int );
GFM_EXPORT DEC *UniformSeriesFutureValue( DEC *, DEC *, int );
GFM_EXPORT DEC *UniformSeriesPresentValue( DEC *, DEC *, int );
GFM_EXPORT DEC *WeightedMean( DEC *, DEC *[], DEC *[], int );
GFM_EXPORT DEC *ZeroDecimal( DEC * );
GFM_EXPORT DEC* *ZeroDecimalArray( DEC *[], int );
#ifdef __cplusplus
}
#endif