aboutsummaryrefslogtreecommitdiff
path: root/pkg/xtools/inlfit/inguaxesd.x
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/xtools/inlfit/inguaxesd.x')
-rw-r--r--pkg/xtools/inlfit/inguaxesd.x47
1 files changed, 47 insertions, 0 deletions
diff --git a/pkg/xtools/inlfit/inguaxesd.x b/pkg/xtools/inlfit/inguaxesd.x
new file mode 100644
index 00000000..48759bc0
--- /dev/null
+++ b/pkg/xtools/inlfit/inguaxesd.x
@@ -0,0 +1,47 @@
+include <math/nlfit.h>
+include <pkg/inlfit.h>
+
+
+# ING_UAXES -- Set user axis
+
+procedure ing_uaxesd (keynum, in, nl, x, y, z, npts, nvars)
+
+int keynum # Key number for axes
+pointer in # INLFIT pointer
+pointer nl # NLFIT pointer
+double x[ARB] # Independent variable
+double y[npts] # Dependent variable
+double z[npts] # Output values
+int npts # Number of points
+int nvars # Number of variables
+
+int npars # number of parameters
+int uaxes # user defined procedure
+pointer params # parameter values
+pointer sp
+
+int nlstati()
+int in_geti()
+
+begin
+ # Check if equation is defined
+ uaxes = in_geti (in, INLUAXES)
+ if (!IS_INDEFI (uaxes)) {
+
+ # Get number of parameters, allocate space
+ # for parameter values, and get parameter values
+ npars = nlstati (nl, NLNPARAMS)
+ call smark (sp)
+ call salloc (params, npars, TY_DOUBLE)
+ call nlpgetd (nl, Memd[params], npars)
+
+ # Call user plot functions
+ call zcall8 (uaxes, keynum, Memd[params], npars,
+ x, y, z, npts, nvars)
+
+ # Free memory
+ call sfree (sp)
+
+ } else
+ call eprintf ("Warning: User plot function not defined\n")
+end