Doxygen Source Code Documentation
        
Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Search   
cdf_71.c
Go to the documentation of this file.00001 #include "cdflib.h"
00002 double spmpar(int *i)
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 {
00031 static int K1 = 4;
00032 static int K2 = 8;
00033 static int K3 = 9;
00034 static int K4 = 10;
00035 static double spmpar,b,binv,bm1,one,w,z;
00036 static int emax,emin,ibeta,m;
00037 
00038 
00039 
00040 
00041     if(*i > 1) goto S10;
00042     b = ipmpar(&K1);
00043     m = ipmpar(&K2);
00044     spmpar = pow(b,(double)(1-m));
00045     return spmpar;
00046 S10:
00047     if(*i > 2) goto S20;
00048     b = ipmpar(&K1);
00049     emin = ipmpar(&K3);
00050     one = 1.0;
00051     binv = one/b;
00052     w = pow(b,(double)(emin+2));
00053     spmpar = w*binv*binv*binv;
00054     return spmpar;
00055 S20:
00056     ibeta = ipmpar(&K1);
00057     m = ipmpar(&K2);
00058     emax = ipmpar(&K4);
00059     b = ibeta;
00060     bm1 = ibeta-1;
00061     one = 1.0;
00062     z = pow(b,(double)(m-1));
00063     w = ((z-one)*b+bm1)/(b*z);
00064     z = pow(b,(double)(emax-2));
00065     spmpar = w*z*b*b;
00066     return spmpar;
00067 }