home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / CLISP-1.LHA / CLISP960530-sr.lha / tests / array.tst < prev    next >
Encoding:
Text File  |  1996-04-15  |  13.2 KB  |  635 lines

  1.  
  2. (FORMAT T "~%Erzeuge ein Feld mit doppeltgenauen Zahlen~%")   NIL
  3.  
  4. (EQUALP (SETQ DA1 (MAKE-ARRAY (QUOTE (4 2 3)) :INITIAL-CONTENTS (QUOTE
  5. (
  6. ((1.0D0 2.0D0 3.0D0) (4.0D0 5.0D0 6.0D0))
  7. ((7.0D0 8.0D0 9.0D0) (10.0D0 11.0D0 12.0D0))
  8. ((13.0D0 14.0D0 15.0D0) (16.0D0 17.0D0 18.0D0))
  9. ((19.0D0 20.0D0 21.0D0) (22.0D0 23.0D0 24.0D0)))) :ELEMENT-TYPE
  10. (QUOTE DOUBLE-FLOAT)))
  11. '#3A(((1.0D0 2.0D0 3.0D0)(4.0D0 5.0D0 6.0D0))((7.0D0 8.0D0 9.0D0)(10.0D0
  12. 11.0D0
  13. 12.0D0))((13.0D0 14.0D0 15.0D0)(16.0D0 17.0D0 18.0D0))((19.0D0 20.0D0
  14. 21.0D0)(
  15. 22.0D0 23.0D0 24.0D0))))   T
  16.  
  17. (AREF DA1 0 0 0)   1.0D0
  18.  
  19. (AREF DA1 0 0 1)   2.0D0
  20.  
  21. (AREF DA1 0 0 2)   3.0D0
  22.  
  23. (AREF DA1 0 1 0)   4.0D0
  24.  
  25. (AREF DA1 0 1 1)   5.0D0
  26.  
  27. (AREF DA1 0 1 2)   6.0D0
  28.  
  29. (AREF DA1 1 0 0)   7.0D0
  30.  
  31. (AREF DA1 1 0 1)   8.0D0
  32.  
  33. (AREF DA1 1 0 2)   9.0D0
  34.  
  35. (AREF DA1 1 1 0)   10.0D0
  36.  
  37. (AREF DA1 1 1 1)   11.0D0
  38.  
  39. (AREF DA1 1 1 2)   12.0D0
  40.  
  41. (AREF DA1 2 0 0)   13.0D0
  42.  
  43. (AREF DA1 2 0 1)   14.0D0
  44.  
  45. (AREF DA1 2 0 2)   15.0D0
  46.  
  47. (AREF DA1 2 1 0)   16.0D0
  48.  
  49. (AREF DA1 2 1 1)   17.0D0
  50.  
  51. (AREF DA1 2 1 2)   18.0D0
  52.  
  53. (AREF DA1 3 0 0)   19.0D0
  54.  
  55. (AREF DA1 3 0 1)   20.0D0
  56.  
  57. (AREF DA1 3 0 2)   21.0D0
  58.  
  59. (AREF DA1 3 1 0)   22.0D0
  60.  
  61. (AREF DA1 3 1 1)   23.0D0
  62.  
  63. (AREF DA1 3 1 1)   23.0D0
  64.  
  65. (FORMAT T "~%Erzeuge ein Feld mit einfachgenauen Zahlen~%")   NIL
  66.  
  67. (EQUALP (SETQ FA1 (MAKE-ARRAY (QUOTE (4 2 3)) :INITIAL-CONTENTS (QUOTE
  68. (
  69. ((1.0 2.0 3.0) (4.0 5.0 6.0)) ((7.0 8.0 9.0) (10.0 11.0 12.0))
  70. ((13.0 14.0 15.0) (16.0 17.0 18.0)) ((19.0 20.0 21.0) (22.0 23.0 24.0))))
  71.  
  72. :ELEMENT-TYPE (QUOTE SINGLE-FLOAT)))
  73. '#3A(((1.0 2.0 3.0)(4.0 5.0 6.0))((7.0 8.0 9.0)(10.0 11.0 12.0))((13.0
  74. 14.0 15.0)(
  75. 16.0 17.0 18.0))((19.0 20.0 21.0)(22.0 23.0 24.0))))   T
  76.  
  77. (AREF FA1 0 0 0)   1.0
  78.  
  79. (AREF FA1 0 0 1)   2.0
  80.  
  81. (AREF FA1 0 0 2)   3.0
  82.  
  83. (AREF FA1 0 1 0)   4.0
  84.  
  85. (AREF FA1 0 1 1)   5.0
  86.  
  87. (AREF FA1 0 1 2)   6.0
  88.  
  89. (AREF FA1 1 0 0)   7.0
  90.  
  91. (AREF FA1 1 0 1)   8.0
  92.  
  93. (AREF FA1 1 0 2)   9.0
  94.  
  95. (AREF FA1 1 1 0)   10.0
  96.  
  97. (AREF FA1 1 1 1)   11.0
  98.  
  99. (AREF FA1 1 1 2)   12.0
  100.  
  101. (AREF FA1 2 0 0)   13.0
  102.  
  103. (AREF FA1 2 0 1)   14.0
  104.  
  105. (AREF FA1 2 0 2)   15.0
  106.  
  107. (AREF FA1 2 1 0)   16.0
  108.  
  109. (AREF FA1 2 1 1)   17.0
  110.  
  111. (AREF FA1 2 1 2)   18.0
  112.  
  113. (AREF FA1 3 0 0)   19.0
  114.  
  115. (AREF FA1 3 0 1)   20.0
  116.  
  117. (AREF FA1 3 0 2)   21.0
  118.  
  119. (AREF FA1 3 1 0)   22.0
  120.  
  121. (AREF FA1 3 1 1)   23.0
  122.  
  123. (AREF FA1 3 1 1)   23.0
  124.  
  125. (FORMAT T "~%Limits fuer Felder~%")   NIL
  126.  
  127. (let ((s (prin1-to-string ARRAY-RANK-LIMIT )))
  128.   (or #+XCL (equal s "256")
  129.       #+CLISP (equal s "4294967296") #+CLISP (equal s "65536")
  130.       #+AKCL (equal s "64")
  131.       #-(or XCL CLISP AKCL) "UNKNOWN"
  132. ) )
  133. T
  134.  
  135. (let ((s (prin1-to-string ARRAY-DIMENSION-LIMIT )))
  136.   (or #+XCL (equal s "17920")
  137.       #+AKCL (equal s "16777216")
  138.       #+CLISP (equal s (prin1-to-string (1+ most-positive-fixnum)))
  139.       #-(or XCL CLISP AKCL) "UNKNOWN"
  140. ) )
  141. T
  142.  
  143. (let ((s (prin1-to-string ARRAY-TOTAL-SIZE-LIMIT )))
  144.   (or #+XCL (equal s "17920")
  145.       #+AKCL (equal s "16777216")
  146.       #+CLISP (equal s (prin1-to-string (1+ most-positive-fixnum)))
  147.       #-(or XCL CLISP AKCL) "UNKNOWN"
  148. ) )
  149. T
  150.  
  151. (FORMAT T "~%Erzeuge einen einfachen (simple) Vector~%")   NIL
  152.  
  153. (EQUALP (SETQ SV (VECTOR (QUOTE A) (QUOTE B) (QUOTE C) 1.0S0 3.7D0
  154. 4.1))
  155. '#(A B C 1.0S0 3.7D0 4.1))   T
  156.  
  157. (SVREF SV 0)   A
  158.  
  159. (SVREF SV 1)   B
  160.  
  161. (SVREF SV 2)   C
  162.  
  163. (SVREF SV 3)   1.0S0
  164.  
  165. (SVREF SV 4)   3.7D0
  166.  
  167. (FORMAT T "~%Pruefe Setzen eines Elements~%")   NIL
  168.  
  169. (SETF (SVREF SV 0) (QUOTE TEST))   TEST
  170.  
  171. (EQUALP SV '#(TEST B C 1.0S0 3.7D0 4.1))   T
  172.  
  173. (FORMAT T "~%Test Array-Element-Typ ... DA2 nicht def.~%")   NIL
  174.  
  175. (ARRAY-ELEMENT-TYPE SV)   T
  176.  
  177. (ARRAY-ELEMENT-TYPE DA1)
  178. #+XCL DOUBLE-FLOAT #+CLISP T #+AKCL LONG-FLOAT #-(or XCL CLISP AKCL) UNKNOWN
  179.  
  180. (FORMAT T "~%Test Rang~%")   NIL
  181.  
  182. (ARRAY-RANK DA1)   3
  183.  
  184. (ARRAY-RANK FA1)   3
  185.  
  186. (FORMAT T "~%Test der einzelnen Dimensionen~%")   NIL
  187.  
  188. (ARRAY-DIMENSION DA1 0)   4
  189.  
  190. (ARRAY-DIMENSION DA1 1)   2
  191.  
  192. (ARRAY-DIMENSION DA1 2)   3
  193.  
  194. (ARRAY-DIMENSION DA1 3)   ERROR
  195.  
  196. (FORMAT T "~%Erzeuge ein 0-dim. Feld (Pseudoscalar) mit Inhalt mod
  197. 5~%")   NIL
  198.  
  199. (PROGN (SETQ ZERO (MAKE-ARRAY (QUOTE NIL) :ELEMENT-TYPE (QUOTE (MOD
  200. 5)))) T)   T
  201.  
  202. (ARRAY-RANK ZERO)   0
  203.  
  204. (SETF (AREF ZERO) 4)   4
  205.  
  206. (SETF (AREF ZERO) 1.0)   #+(or XCL CLISP AKCL) ERROR #-(or XCL CLISP AKCL) UNKNOWN
  207.  
  208. (FORMAT T "~%Erzeuge ein 3-dim gen. Feld~%")   NIL
  209.  
  210. (EQUALP (SETQ A1 (MAKE-ARRAY (QUOTE (4 2 3)) :INITIAL-CONTENTS (QUOTE
  211.  
  212. (((A B C) (1 2 3)) ((D E F) (3 1 2)) ((G H I) (2 3 1)) ((J K L) (0
  213. 0 0))))))
  214. '#3A(((A B C)(1 2 3))((D E F)(3 1 2))((G H I)(2 3 1))((J K L)(0 0 0))))
  215.   T
  216.  
  217. (AREF A1 0 0 0)   A
  218.  
  219. (AREF A1 0 0 1)   B
  220.  
  221. (AREF A1 0 0 2)   C
  222.  
  223. (AREF A1 0 1 0)   1
  224.  
  225. (AREF A1 0 1 1)   2
  226.  
  227. (AREF A1 0 1 2)   3
  228.  
  229. (AREF A1 1 0 0)   D
  230.  
  231. (AREF A1 1 0 1)   E
  232.  
  233. (AREF A1 1 0 2)   F
  234.  
  235. (AREF A1 1 1 0)   3
  236.  
  237. (AREF A1 1 1 1)   1
  238.  
  239. (AREF A1 1 1 2)   2
  240.  
  241. (AREF A1 2 0 0)   G
  242.  
  243. (AREF A1 2 0 1)   H
  244.  
  245. (AREF A1 2 0 2)   I
  246.  
  247. (AREF A1 2 1 0)   2
  248.  
  249. (AREF A1 2 1 1)   3
  250.  
  251. (AREF A1 2 1 2)   1
  252.  
  253. (AREF A1 3 0 0)   J
  254.  
  255. (AREF A1 3 0 1)   K
  256.  
  257. (AREF A1 3 0 2)   L
  258.  
  259. (AREF A1 3 1 0)   0
  260.  
  261. (AREF A1 3 1 1)   0
  262.  
  263. (AREF A1 3 1 1)   0
  264.  
  265. (FORMAT T "~%Erzeuge ein 2-dim adj.Feld, das ueberlagert wird ~%")
  266.   NIL
  267.  
  268. (PROGN (SETQ M (MAKE-ARRAY (QUOTE (4 4)) :ADJUSTABLE T :INITIAL-CONTENTS
  269. (QUOTE (
  270. (ALPHA BETA GAMMA DELTA) (EPSILON ZETA ETA THETA) (IOTA KAPPA LAMBDA
  271. MU)
  272. (NU XI OMICRON PI))))) T)   T
  273.  
  274. (AREF M 0 0)   ALPHA
  275.  
  276. (AREF M 0 1)   BETA
  277.  
  278. (AREF M 0 2)   GAMMA
  279.  
  280. (AREF M 0 3)   DELTA
  281.  
  282. (AREF M 1 0)   EPSILON
  283.  
  284. (AREF M 1 1)   ZETA
  285.  
  286. (AREF M 1 2)   ETA
  287.  
  288. (AREF M 1 3)   THETA
  289.  
  290. (AREF M 2 0)   IOTA
  291.  
  292. (AREF M 2 1)   KAPPA
  293.  
  294. (AREF M 2 2)   LAMBDA
  295.  
  296. (AREF M 2 3)   MU
  297.  
  298. (AREF M 3 0)   NU
  299.  
  300. (AREF M 3 1)   XI
  301.  
  302. (AREF M 3 2)   OMICRON
  303.  
  304. (AREF M 3 3)   PI
  305.  
  306. (FORMAT T "~%Erzeuge Ueberl. der Zeilen ~%")   NIL
  307.  
  308. (equalp (SETQ MD0 (MAKE-ARRAY 4 :DISPLACED-TO M))   '#(ALPHA BETA GAMMA
  309. DELTA)) t
  310.  
  311. (equalp (SETQ MD1 (MAKE-ARRAY 4 :DISPLACED-TO M :DISPLACED-INDEX-OFFSET
  312. 4))
  313. '#(EPSILON ZETA ETA THETA)) t
  314.  
  315.  
  316. (equalp (SETQ MD2 (MAKE-ARRAY 4 :DISPLACED-TO M :DISPLACED-INDEX-OFFSET
  317. 8))
  318. '#(IOTA KAPPA LAMBDA MU)) t
  319.  
  320.  
  321. (FORMAT T "~%Adjustiere Feld m~%")   NIL
  322.  
  323. (PROGN (ADJUST-ARRAY M (QUOTE (3 5)) :INITIAL-ELEMENT (QUOTE BAZ))
  324. T)   T
  325.  
  326. (AREF M 0 0)   ALPHA
  327.  
  328. (AREF M 0 1)   BETA
  329.  
  330. (AREF M 0 2)   GAMMA
  331.  
  332. (AREF M 0 3)   DELTA
  333.  
  334. (AREF M 0 4)   BAZ
  335.  
  336. (AREF M 1 0)   EPSILON
  337.  
  338. (AREF M 1 1)   ZETA
  339.  
  340. (AREF M 1 2)   ETA
  341.  
  342. (AREF M 1 3)   THETA
  343.  
  344. (AREF M 1 4)   BAZ
  345.  
  346. (AREF M 2 0)   IOTA
  347.  
  348. (AREF M 2 1)   KAPPA
  349.  
  350. (AREF M 2 2)   LAMBDA
  351. (FORMAT T "~%Teste Zusammenspiel der Schluesselworte~%")   NIL
  352.  
  353. (PROGN (SETQ DV (MAKE-ARRAY 10 :ELEMENT-TYPE (QUOTE DOUBLE-FLOAT)
  354. :INITIAL-CONTENTS
  355. (QUOTE (0.0D0 1.0D0 2.0D0 3.0D0 4.0D0 5.0D0 6.0D0 7.0D0 8.0D0 9.0D0))))
  356. T)   T
  357. #| ***************************************************************************
  358.  
  359. (SETQ DVE (MAKE-ARRAY (QUOTE (2 2)) :ELEMENT-TYPE (QUOTE DOUBLE-FLOAT)
  360.  
  361. :INITIAL-CONTENTS (QUOTE ((1.0D0 2.0D0) (3.0D0 4.0D0 5.0D0)))))   ERROR
  362.  
  363. (SETQ DVE (MAKE-ARRAY (QUOTE (2 2)) :ELEMENT-TYPE (QUOTE DOUBLE-FLOAT)
  364.  
  365. :INITIAL-CONTENTS (QUOTE
  366. ((1.0D0 2.0D0) (3.0D0 4.0D0) :DISPLACED-TO DV :DISPLACED-INDEX-OFFSET
  367. 8))))   ERROR
  368.  
  369. (SETQ DVE (MAKE-ARRAY (QUOTE (2 2)) :ELEMENT-TYPE (QUOTE DOUBLE-FLOAT)
  370.  
  371. :INITIAL-CONTENTS (QUOTE ((1.0D0 2.0D0) (3.0D0 4.0D0))) :DISPLACED-TO
  372. DV
  373. :DISPLACED-INDEX-OFFSET 8))   ERROR
  374.  
  375. (SETQ DVE (MAKE-ARRAY (QUOTE (2 2)) :ELEMENT-TYPE (QUOTE DOUBLE-FLOAT)
  376.  
  377. :DISPLACED-TO DV :DISPLACED-INDEX-OFFSET 8))   ERROR
  378.  
  379. ***************************************************************************|#
  380.  
  381. (AREF DV 0)   0.0D0
  382.  
  383. (AREF DV 1)   1.0D0
  384.  
  385. (AREF DV 2)   2.0D0
  386.  
  387. (AREF DV 3)   3.0D0
  388.  
  389. (AREF DV 4)   4.0D0
  390.  
  391. (AREF DV 5)   5.0D0
  392.  
  393. (AREF DV 6)   6.0D0
  394.  
  395. (AREF DV 7)   7.0D0
  396.  
  397. (AREF DV 8)   8.0D0
  398.  
  399. (AREF DV 9)   9.0D0
  400.  
  401. (SETF (AREF DV 5) -5.0D0)   -5.0D0
  402.  
  403. (FORMAT T "~%Definiere Testfkt fuer Indices~%")   NIL
  404.  
  405. (DEFUN ARRAY-INDEX-TEST (A &REST SUBS) (UNLESS
  406. (APPLY (FUNCTION ARRAY-IN-BOUNDS-P) A SUBS)
  407. (RETURN-FROM ARRAY-INDEX-TEST (QUOTE ERROR))) (=
  408. (APPLY (FUNCTION ARRAY-ROW-MAJOR-INDEX) A SUBS) (APPLY (FUNCTION +)
  409. (MAPLIST
  410. (FUNCTION (LAMBDA (X Y) (* (CAR X) (APPLY (FUNCTION *) (CDR Y)))))
  411. SUBS
  412. (ARRAY-DIMENSIONS A)))))   ARRAY-INDEX-TEST
  413.  
  414. (ARRAY-INDEX-TEST (MAKE-ARRAY (QUOTE (5 4 3 2 1))) 4 2 2 1 0)   T
  415.  
  416. (ARRAY-INDEX-TEST (MAKE-ARRAY (QUOTE (5 4 3 2 1))) 3 4 2 1 2)   ERROR
  417.  
  418. (FORMAT T "~%Test Bitfelder ~%")   NIL
  419.  
  420. (SETQ BVZERO (MAKE-ARRAY 100 :ELEMENT-TYPE (QUOTE BIT) :INITIAL-ELEMENT
  421. 0))
  422. #*0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  423.  
  424. (SETQ BVONE (MAKE-ARRAY 100 :ELEMENT-TYPE (QUOTE BIT) :INITIAL-ELEMENT
  425. 1))
  426. #*1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
  427.  
  428. (SETQ BV3 (MAKE-ARRAY 100 :ELEMENT-TYPE (QUOTE BIT) :INITIAL-ELEMENT
  429. 0))
  430. #*0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  431.  
  432. (SETQ BV2 (MAKE-ARRAY 100 :ELEMENT-TYPE (QUOTE BIT) :INITIAL-ELEMENT
  433. 0))
  434. #*0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  435.  
  436. (SETQ BV1 (MAKE-ARRAY 100 :ELEMENT-TYPE (QUOTE BIT) :INITIAL-ELEMENT
  437. 0))
  438. #*0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  439.  
  440. (FORMAT T "~%Setze Bitfelder ~%")   NIL
  441.  
  442. (DOTIMES (I 50 BV1) (SETF (SBIT BV1 (* I 2)) 1))
  443. #*1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
  444.  
  445. (DOTIMES (I 50 BV2) (SETF (BIT BV2 (* I 2)) 1))
  446. #*1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
  447.  
  448. (EQUALP BV1 BV2)   T
  449. (DOTIMES (I 25 BV3) (SETF (SBIT BV3 (* I 4)) 1))
  450. #*1000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000
  451.  
  452. (BIT-AND BV1 BV3)
  453. #*1000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000
  454.  
  455. (BIT-IOR BV1 BV3)
  456. #*1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
  457.  
  458. (BIT-XOR BV1 BV3)
  459. #*0010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010
  460.  
  461. (BIT-EQV BV1 BV3)
  462. #*1101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101
  463.  
  464. (BIT-NAND BV1 BV3)
  465. #*0111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111
  466.  
  467. (BIT-ANDC1 BV1 BV3)
  468. #*0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  469.  
  470. (BIT-ANDC2 BV1 BV3)
  471. #*0010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010
  472.  
  473. (BIT-ORC1 BV1 BV3)
  474. #*1101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101
  475.  
  476. (BIT-ORC2 BV1 BV3)
  477. #*1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
  478.  
  479. (BIT-NOT BV1)
  480. #*0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101
  481.  
  482. (BIT-NOT BVZERO)
  483. #*1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
  484.  
  485. (BIT-NOT BVONE)
  486. #*0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  487.  
  488. (FORMAT T "~%Teste Operationen mit Fillpointern ~%")   NIL
  489.  
  490. (MAKE-ARRAY (QUOTE (3 4 5)) :FILL-POINTER T)   ERROR
  491.  
  492. (equalp (MAKE-ARRAY 5 :FILL-POINTER 5)
  493.         #+XCL '#(0 0 0 0 0) #-XCL '#(nil nil nil nil nil))
  494. T
  495.  
  496. (MAKE-ARRAY 5 :FILL-POINTER -5)   ERROR
  497.  
  498. (FORMAT T "~%Allgem. Vector mit Fillpointer ~%")   NIL
  499.  
  500. (PROGN (SETQ VMF (MAKE-ARRAY 5 :FILL-POINTER 0)) T)   T
  501.  
  502. (FILL-POINTER VMF)   0
  503.  
  504. (VECTOR-PUSH (QUOTE A) VMF)   0
  505.  
  506. (FILL-POINTER VMF)   1
  507.  
  508. (VECTOR-PUSH (QUOTE B) VMF)   1
  509.  
  510. (VECTOR-PUSH (QUOTE C) VMF)   2
  511.  
  512. (VECTOR-PUSH (QUOTE D) VMF)   3
  513.  
  514. (VECTOR-PUSH (QUOTE E) VMF)   4
  515.  
  516. (VECTOR-PUSH (QUOTE VOLL) VMF)   NIL
  517.  
  518. (VECTOR-POP VMF)   E
  519.  
  520. (VECTOR-POP VMF)   D
  521.  
  522. (VECTOR-POP VMF)   C
  523.  
  524. (VECTOR-POP VMF)   B
  525.  
  526. (VECTOR-POP VMF)   A
  527.  
  528. (VECTOR-POP VMF)   ERROR
  529.  
  530. (FORMAT T "~%Adjustabler allgem. Vector mit Fillpointer~%")   NIL
  531.  
  532. (PROGN (SETQ VMFA (MAKE-ARRAY 5 :FILL-POINTER 0 :ADJUSTABLE T)) T)
  533.   T
  534.  
  535. (FILL-POINTER VMFA)   0
  536.  
  537. (VECTOR-PUSH-EXTEND (QUOTE A) VMFA)   0
  538.  
  539. (FILL-POINTER VMFA)   1
  540.  
  541. (VECTOR-PUSH-EXTEND (QUOTE B) VMFA)   1
  542.  
  543. (VECTOR-PUSH-EXTEND (QUOTE C) VMFA)   2
  544.  
  545. (VECTOR-PUSH-EXTEND (QUOTE D) VMFA)   3
  546.  
  547. (VECTOR-PUSH-EXTEND (QUOTE E) VMFA)   4
  548.  
  549. (VECTOR-PUSH-EXTEND (QUOTE VOLL) VMFA)   5
  550.  
  551. (VECTOR-POP VMFA)   VOLL
  552.  
  553. (VECTOR-POP VMFA)   E
  554.  
  555. (VECTOR-POP VMFA)   D
  556.  
  557. (VECTOR-POP VMFA)   C
  558.  
  559. (VECTOR-POP VMFA)   B
  560.  
  561. (VECTOR-POP VMFA)   A
  562.  
  563. (FORMAT T "~%Doppeltgen. Vector mit Fillpointer ~%")   NIL
  564.  
  565. (PROGN
  566. (SETQ VMFD (MAKE-ARRAY 5 :FILL-POINTER 0 :ELEMENT-TYPE (QUOTE DOUBLE-FLOAT)))
  567. T)   T
  568.  
  569. (FILL-POINTER VMFD)   0
  570.  
  571. (VECTOR-PUSH 0.0D0 VMFD)   0
  572.  
  573. (FILL-POINTER VMFD)   1
  574.  
  575. (VECTOR-PUSH 1.0D0 VMFD)   1
  576.  
  577. (VECTOR-PUSH 2.0D0 VMFD)   2
  578.  
  579. (VECTOR-PUSH 3.0D0 VMFD)   3
  580.  
  581. (VECTOR-PUSH 4.0D0 VMFD)   4
  582.  
  583. (VECTOR-PUSH 5.0D0 VMFD)   NIL
  584.  
  585. (VECTOR-POP VMFD)   4.0D0
  586.  
  587. (VECTOR-POP VMFD)   3.0D0
  588.  
  589. (VECTOR-POP VMFD)   2.0D0
  590.  
  591. (VECTOR-POP VMFD)   1.0D0
  592.  
  593. (VECTOR-POP VMFD)   0.0D0
  594.  
  595. (VECTOR-POP VMFD)   ERROR
  596.  
  597. (FORMAT T "~%Doppeltgen. adjust. Vector mit Fillpointer ~%")   NIL
  598.  
  599. (PROGN (SETQ VMFAD
  600. (MAKE-ARRAY 5 :FILL-POINTER 0 :ELEMENT-TYPE (QUOTE DOUBLE-FLOAT) :ADJUSTABLE
  601. T))
  602. T)   T
  603.  
  604. (FILL-POINTER VMFAD)   0
  605.  
  606. (VECTOR-PUSH-EXTEND 0.0D0 VMFAD)   0
  607.  
  608. (FILL-POINTER VMFAD)   1
  609.  
  610. (VECTOR-PUSH-EXTEND 1.0D0 VMFAD)   1
  611.  
  612. (VECTOR-PUSH-EXTEND 2.0D0 VMFAD)   2
  613.  
  614. (VECTOR-PUSH-EXTEND 3.0D0 VMFAD)   3
  615.  
  616. (VECTOR-PUSH-EXTEND 4.0D0 VMFAD)   4
  617.  
  618. (VECTOR-PUSH-EXTEND 5.0D0 VMFAD)   5
  619.  
  620. (VECTOR-POP VMFAD)   5.0D0
  621.  
  622. (VECTOR-POP VMFAD)   4.0D0
  623.  
  624. (VECTOR-POP VMFAD)   3.0D0
  625.  
  626. (VECTOR-POP VMFAD)   2.0D0
  627.  
  628. (VECTOR-POP VMFAD)   1.0D0
  629.  
  630. (VECTOR-POP VMFAD)   0.0D0
  631.  
  632. (VECTOR-PUSH-EXTEND 5.0S0 VMFAD)
  633. #+XCL ERROR #+(or CLISP AKCL) 0 #-(or XCL CLISP AKCL) UNKNOWN
  634.  
  635.