Advertisement
Guest User

Untitled

a guest
Mar 6th, 2021
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. -proc symplectic*(p: var Parameters, cd: Coefficients,
  2. - uq: proc(p: var Parameters, h: float),
  3. - up: proc(p: var Parameters, h: float)) =
  4. +proc symplectic[T](p: var T, cd: Coefficients, uq, up)
  5. for i in countup(0, cd.len - 1):
  6. if (i mod 2) == 0: uq(p, cd[i]) else: up(p, cd[i])
  7. for i in countdown(cd.len - 2, 0):
  8. if (i mod 2) == 0: uq(p, cd[i]) else: up(p, cd[i])
  9.  
  10. -proc solve*(args: seq[string], p: var Parameters,
  11. - uq: proc(p: var Parameters, c: float),
  12. - up: proc(p: var Parameters, d: float),
  13. - output: proc(p: Parameters, t: float)) =
  14. +proc solve*[T](args: seq[string], p: var T, uq, up, output: proc(p: var T, _: float))
  15. let
  16. order: int64 = parseInt(args[1])
  17. h: float = parseFloat(args[2])
  18.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement