* * $Id: cscald.F,v 1.1.1.1 1996/02/26 17:16:54 mclareni Exp $ * * $Log: cscald.F,v $ * Revision 1.1.1.1 1996/02/26 17:16:54 mclareni * Comis * * #include "comis/pilot.h" #if defined(CERNLIB_VAX)||defined(CERNLIB_APOLLO) *CMZ : 1.12/05 20/03/92 16.04.19 by Rene Brun *-- Author : V.Berezhnoi FUNCTION CSCALD(NAME,N,P) DOUBLE PRECISION CSCALD,NAME INTEGER P(15) EXTERNAL NAME #if defined(CERNLIB_VAX) IF (N.EQ.0)THEN CSCALD=NAME() ELSEIF(N.GT.15)THEN PRINT *,' CS: More then 15 arguments in call to users routine' ELSE GO TO (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),N 1 CSCALD=NAME(%VAL(P(1))) RETURN 2 CSCALD=NAME(%VAL(P(1)),%VAL(P(2))) RETURN 3 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3))) RETURN 4 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3)),%VAL(P(4))) RETURN 5 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3)),%VAL(P(4)) , ,%VAL(P(5))) RETURN 6 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3)),%VAL(P(4)) , ,%VAL(P(5)),%VAL(P(6))) RETURN 7 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3)),%VAL(P(4)) , ,%VAL(P(5)),%VAL(P(6)),%VAL(P(7))) RETURN 8 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3)),%VAL(P(4)) , ,%VAL(P(5)),%VAL(P(6)),%VAL(P(7)),%VAL(P(8))) RETURN 9 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3)),%VAL(P(4)) , ,%VAL(P(5)),%VAL(P(6)),%VAL(P(7)),%VAL(P(8)),%VAL(P(9))) RETURN 10 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3)),%VAL(P(4)) ,,%VAL(P(5)),%VAL(P(6)),%VAL(P(7)),%VAL(P(8)),%VAL(P(9)) ,,%VAL(P(10))) RETURN 11 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3)),%VAL(P(4)) ,,%VAL(P(5)),%VAL(P(6)),%VAL(P(7)),%VAL(P(8)),%VAL(P(9)) ,,%VAL(P(10)),%VAL(P(11)) ) RETURN 12 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3)),%VAL(P(4)) ,,%VAL(P(5)),%VAL(P(6)),%VAL(P(7)),%VAL(P(8)),%VAL(P(9)) ,,%VAL(P(10)),%VAL(P(11)),%VAL(P(12)) ) RETURN 13 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3)),%VAL(P(4)) ,,%VAL(P(5)),%VAL(P(6)),%VAL(P(7)),%VAL(P(8)),%VAL(P(9)) ,,%VAL(P(10)),%VAL(P(11)),%VAL(P(12)),%VAL(P(13)) ) RETURN 14 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3)),%VAL(P(4)) ,,%VAL(P(5)),%VAL(P(6)),%VAL(P(7)),%VAL(P(8)),%VAL(P(9)) ,,%VAL(P(10)),%VAL(P(11)),%VAL(P(12)),%VAL(P(13)),%VAL(P(14))) RETURN 15 CSCALD=NAME(%VAL(P(1)),%VAL(P(2)),%VAL(P(3)),%VAL(P(4)) ,,%VAL(P(5)),%VAL(P(6)),%VAL(P(7)),%VAL(P(8)),%VAL(P(9)) ,,%VAL(P(10)),%VAL(P(11)),%VAL(P(12)),%VAL(P(13)),%VAL(P(14)) ,,%VAL(P(15))) RETURN ENDIF #endif #if defined(CERNLIB_APOLLO) DOUBLE PRECISION + CSD01F,CSD02F,CSD03F,CSD04F,CSD05F,CSD06F,CSD07F, + CSD08F,CSD09F,CSD10F,CSD11F,CSD12F,CSD13F,CSD14F, + CSD15F IF (N.EQ.0)THEN CSCALD=NAME() ELSEIF(N.GT.15)THEN PRINT *,' CS: More then 15 arguments in call to users routine' ELSE GO TO (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),N 1 CSCALD=CSD01F(NAME,P) RETURN 2 CSCALD=CSD02F(NAME,P) RETURN 3 CSCALD=CSD03F(NAME,P) RETURN 4 CSCALD=CSD04F(NAME,P) RETURN 5 CSCALD=CSD05F(NAME,P) RETURN 6 CSCALD=CSD06F(NAME,P) RETURN 7 CSCALD=CSD07F(NAME,P) RETURN 8 CSCALD=CSD08F(NAME,P) RETURN 9 CSCALD=CSD09F(NAME,P) RETURN 10 CSCALD=CSD10F(NAME,P) RETURN 11 CSCALD=CSD11F(NAME,P) RETURN 12 CSCALD=CSD12F(NAME,P) RETURN 13 CSCALD=CSD13F(NAME,P) RETURN 14 CSCALD=CSD14F(NAME,P) RETURN 15 CSCALD=CSD15F(NAME,P) ENDIF #endif END #endif