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