Post Reply 
Passing Arrays?
03-24-2017, 03:47 PM (This post was last modified: 03-24-2017 03:51 PM by Han.)
Post: #2
RE: Passing Arrays?
Both C and COEF are local variables, and therefore their context is restricted to only the subprograms that declare them. Variables are passed by value.

Either declare a local variable outside of the context of the subprograms to hold the coefficient values, or modify your subprogram to return the modified coefficients.

For example:
Code:
// set values of conic coefficient array
SET_CONIC( COEF, A, B, C, D, E, F )
BEGIN
  COEF(1) := A;
  COEF(2) := B;
  COEF(3) := C;
  COEF(4) := D;
  COEF(5) := E;
  COEF(6) := F;
  RETURN(COEF);
END;

EXPORT TESTPASS()
BEGIN

  LOCAL C:=MAKEMAT(0,6);   

  C:=SET_CONIC( C, 14, -4, 11, -44, -58, 71 );
  PRINT( C );
  
END;

or

Code:

COEF:=[0,0,0,0,0,0];

// set values of conic coefficient array
SET_CONIC( A, B, C, D, E, F )
BEGIN
  COEF(1) := A;
  COEF(2) := B;
  COEF(3) := C;
  COEF(4) := D;
  COEF(5) := E;
  COEF(6) := F;
END;

EXPORT TESTPASS()
BEGIN

  SET_CONIC( 14, -4, 11, -44, -58, 71 );
  PRINT( COEF );
  
END;

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Passing Arrays? - toml_12953 - 03-24-2017, 03:40 PM
RE: Passing Arrays? - Han - 03-24-2017 03:47 PM
RE: Passing Arrays? - toml_12953 - 03-24-2017, 05:23 PM



User(s) browsing this thread: 1 Guest(s)