vectorize.cpp 581 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "stdafx.h"
  2. //-----------------------------------------------------------------------------
  3. //
  4. // Encapsulate stack values in a vector
  5. //
  6. // Input: n Number of values on stack
  7. //
  8. // tos-n Start of value
  9. //
  10. // Output: Vector on stack
  11. //
  12. //-----------------------------------------------------------------------------
  13. #include "defs.h"
  14. void
  15. vectorize(int n)
  16. {
  17. int i;
  18. save();
  19. p1 = alloc_tensor(n);
  20. p1->u.tensor->ndim = 1;
  21. p1->u.tensor->dim[0] = n;
  22. for (i = 0; i < n; i++)
  23. p1->u.tensor->elem[i] = stack[tos - n + i];
  24. tos -= n;
  25. push(p1);
  26. restore();
  27. }