diff --git a/src/sage/interfaces/magma.py b/src/sage/interfaces/magma.py index 6e6445787ba..d55fabaf6ac 100644 --- a/src/sage/interfaces/magma.py +++ b/src/sage/interfaces/magma.py @@ -280,7 +280,8 @@ class Magma(Expect): sage: magma.SetDefaultRealFieldPrecision(30, nvals=0) # optional - magma """ def __init__(self, maxread=10000, script_subdirectory=None, - logfile=None, server=None, server_tmpdir=None, user_config=False): + logfile=None, server=None, server_tmpdir=None, + user_config=False, seed=None): """ INPUT: @@ -331,6 +332,18 @@ def __init__(self, maxread=10000, script_subdirectory=None, self.__available_var = [] self.__cache = {} self._preparse_colon_equals = False # if set to try, all "=" become ":=" (some users really appreciate this) + self._seed = seed + + def set_seed(self, seed=None): + """ + Sets the seed for R interpeter. + The seed should be an integer. + """ + if seed is None: + seed = self.rand_seed() + self.eval('SetSeed(%d)' % seed) + self._seed = seed + return seed def __reduce__(self): """ @@ -570,6 +583,8 @@ def _start(self): self.expect().expect(PROMPT) self.expect().expect(PROMPT) self.attach_spec(extcode_dir() + '/spec') + # set random seed + self.set_seed(self._seed) def set(self, var, value): """ diff --git a/src/sage/interfaces/r.py b/src/sage/interfaces/r.py index 56be59c6339..8c0529a0018 100644 --- a/src/sage/interfaces/r.py +++ b/src/sage/interfaces/r.py @@ -309,9 +309,10 @@ def set_seed(self, seed=None): EXAMPLES:: - r = R() - r.set_seed(1) - r.sample("1:10", 5) + sage: r = R() + sage: r.set_seed(1) + 1 + sage: r.sample("1:10", 5) [1] 3 4 5 7 2 """ if seed is None: