Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -proc symplectic*(p: var Parameters, cd: Coefficients,
- - uq: proc(p: var Parameters, h: float),
- - up: proc(p: var Parameters, h: float)) =
- +proc symplectic[T](p: var T, cd: Coefficients, uq, up)
- for i in countup(0, cd.len - 1):
- if (i mod 2) == 0: uq(p, cd[i]) else: up(p, cd[i])
- for i in countdown(cd.len - 2, 0):
- if (i mod 2) == 0: uq(p, cd[i]) else: up(p, cd[i])
- -proc solve*(args: seq[string], p: var Parameters,
- - uq: proc(p: var Parameters, c: float),
- - up: proc(p: var Parameters, d: float),
- - output: proc(p: Parameters, t: float)) =
- +proc solve*[T](args: seq[string], p: var T, uq, up, output: proc(p: var T, _: float))
- let
- order: int64 = parseInt(args[1])
- h: float = parseFloat(args[2])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement