From 1b600144bda9717804ae3b998c95223947200075 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 13 Nov 2001 05:46:08 +0000 Subject: [PATCH] Implement some more rand functions for em3d benchmark git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1291 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../Interpreter/ExternalFunctions.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp index 8dd7c36326b..00549a41be0 100644 --- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp +++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp @@ -245,6 +245,21 @@ GenericValue lle_X_drand48(MethodType *M, const vector &Args) { return GV; } +// long lrand48() +GenericValue lle_X_lrand48(MethodType *M, const vector &Args) { + assert(Args.size() == 0); + GenericValue GV; + GV.IntVal = lrand48(); + return GV; +} + +// void srand48(long) +GenericValue lle_X_srand48(MethodType *M, const vector &Args) { + assert(Args.size() == 1); + srand48(Args[0].IntVal); + return GenericValue(); +} + // int printf(sbyte *, ...) - a very rough implementation to make output useful. GenericValue lle_X_printf(MethodType *M, const vector &Args) { @@ -338,6 +353,10 @@ void Interpreter::initializeExternalMethods() { FuncNames["lle_X_malloc"] = lle_X_malloc; FuncNames["lle_X_free"] = lle_X_free; FuncNames["lle_X_pow"] = lle_X_pow; + FuncNames["lle_X_log"] = lle_X_log; + FuncNames["lle_X_drand48"] = lle_X_drand48; + FuncNames["lle_X_srand48"] = lle_X_srand48; + FuncNames["lle_X_lrand48"] = lle_X_lrand48; FuncNames["lle_X_sqrt"] = lle_X_sqrt; FuncNames["lle_X_printf"] = lle_X_printf; }