From 02a3be801d12fe3c7ad761ad96e31cc4ea819509 Mon Sep 17 00:00:00 2001 From: Ron Nuriel Date: Mon, 5 Sep 2022 17:02:11 +0300 Subject: [PATCH 1/7] Test failed - added support for int and float Signed-off-by: Ron Nuriel --- dicttest.py | 13 ++ src/lpython/semantics/python_ast_to_asr.cpp | 4 +- tests/dict_expr_01.py | 6 + tests/errors/test_dict13.py | 6 + tests/reference/asr-dict_expr_01-9c1f5d8.json | 13 ++ .../reference/asr-dict_expr_01-9c1f5d8.stdout | 1 + tests/reference/asr-test_dict13-683b290.json | 13 ++ .../reference/asr-test_dict13-683b290.stderr | 5 + tests/reference/ast-dict_expr_01-4f3d914.json | 13 ++ .../reference/ast-dict_expr_01-4f3d914.stdout | 1 + .../reference/llvm-dict_expr_01-4db1d98.json | 13 ++ .../llvm-dict_expr_01-4db1d98.stdout | 117 ++++++++++++++++++ tests/tests.toml | 10 ++ 13 files changed, 213 insertions(+), 2 deletions(-) create mode 100644 dicttest.py create mode 100644 tests/dict_expr_01.py create mode 100644 tests/errors/test_dict13.py create mode 100644 tests/reference/asr-dict_expr_01-9c1f5d8.json create mode 100644 tests/reference/asr-dict_expr_01-9c1f5d8.stdout create mode 100644 tests/reference/asr-test_dict13-683b290.json create mode 100644 tests/reference/asr-test_dict13-683b290.stderr create mode 100644 tests/reference/ast-dict_expr_01-4f3d914.json create mode 100644 tests/reference/ast-dict_expr_01-4f3d914.stdout create mode 100644 tests/reference/llvm-dict_expr_01-4db1d98.json create mode 100644 tests/reference/llvm-dict_expr_01-4db1d98.stdout diff --git a/dicttest.py b/dicttest.py new file mode 100644 index 0000000000..ff89c41258 --- /dev/null +++ b/dicttest.py @@ -0,0 +1,13 @@ +from ltypes import f64, f32, i32, i64 + +def main0(): +# mydictionarty: dict[f32, i32] +# mydictionarty1: dict[f64, i32] +# mydictionarty2: dict[i64, i32] + mydictionarty3: dict[int, int] + mydictionarty4: dict[f64, int] + x: i16 + x = 6 + print(x) + +# main0()Unsupported type annotation: \ No newline at end of file diff --git a/src/lpython/semantics/python_ast_to_asr.cpp b/src/lpython/semantics/python_ast_to_asr.cpp index 3151a1ad86..12be7d0263 100644 --- a/src/lpython/semantics/python_ast_to_asr.cpp +++ b/src/lpython/semantics/python_ast_to_asr.cpp @@ -762,13 +762,13 @@ class CommonVisitor : public AST::BaseVisitor { } else if (var_annotation == "i32") { type = ASRUtils::TYPE(ASR::make_Integer_t(al, loc, 4, dims.p, dims.size())); - } else if (var_annotation == "i64") { + } else if (var_annotation == "i64" || var_annotation == "int") { type = ASRUtils::TYPE(ASR::make_Integer_t(al, loc, 8, dims.p, dims.size())); } else if (var_annotation == "f32") { type = ASRUtils::TYPE(ASR::make_Real_t(al, loc, 4, dims.p, dims.size())); - } else if (var_annotation == "f64") { + } else if (var_annotation == "f64" || var_annotation == "float") { type = ASRUtils::TYPE(ASR::make_Real_t(al, loc, 8, dims.p, dims.size())); } else if (var_annotation == "c32") { diff --git a/tests/dict_expr_01.py b/tests/dict_expr_01.py new file mode 100644 index 0000000000..eae072eeee --- /dev/null +++ b/tests/dict_expr_01.py @@ -0,0 +1,6 @@ + +def test_dict(): + mydictionarty3: dict[int, float] = {} + + +test_dict() diff --git a/tests/errors/test_dict13.py b/tests/errors/test_dict13.py new file mode 100644 index 0000000000..bea059e9d4 --- /dev/null +++ b/tests/errors/test_dict13.py @@ -0,0 +1,6 @@ + +def test_dict(): + mydictionarty3: dict[float, int] = {} + + +test_dict() diff --git a/tests/reference/asr-dict_expr_01-9c1f5d8.json b/tests/reference/asr-dict_expr_01-9c1f5d8.json new file mode 100644 index 0000000000..797b3aa9a8 --- /dev/null +++ b/tests/reference/asr-dict_expr_01-9c1f5d8.json @@ -0,0 +1,13 @@ +{ + "basename": "asr-dict_expr_01-9c1f5d8", + "cmd": "lpython --show-asr --no-color {infile} -o {outfile}", + "infile": "tests/dict_expr_01.py", + "infile_hash": "308c449494f42d1fdb942ce1c4b986c948600ec6368baa235ffb9496", + "outfile": null, + "outfile_hash": null, + "stdout": "asr-dict_expr_01-9c1f5d8.stdout", + "stdout_hash": "60af4235ccd42a13ac0b6ce36d8814e168286fb51a1ef2660d3b8339", + "stderr": null, + "stderr_hash": null, + "returncode": 0 +} \ No newline at end of file diff --git a/tests/reference/asr-dict_expr_01-9c1f5d8.stdout b/tests/reference/asr-dict_expr_01-9c1f5d8.stdout new file mode 100644 index 0000000000..955c5b95dc --- /dev/null +++ b/tests/reference/asr-dict_expr_01-9c1f5d8.stdout @@ -0,0 +1 @@ +(TranslationUnit (SymbolTable 1 {_lpython_main_program: (Function (SymbolTable 4 {}) _lpython_main_program [] [] [(SubroutineCall 1 test_dict () [] ())] () Source Public Implementation () .false. .false. .false. .false.), main_program: (Program (SymbolTable 3 {}) main_program [] [(SubroutineCall 1 _lpython_main_program () [] ())]), test_dict: (Function (SymbolTable 2 {mydictionarty3: (Variable 2 mydictionarty3 Local () () Default (Dict (Integer 8 []) (Real 8 [])) Source Public Required .false.)}) test_dict [] [] [(= (Var 2 mydictionarty3) (DictConstant [] [] (Dict (Integer 8 []) (Real 8 []))) ())] () Source Public Implementation () .false. .false. .false. .false.)}) []) diff --git a/tests/reference/asr-test_dict13-683b290.json b/tests/reference/asr-test_dict13-683b290.json new file mode 100644 index 0000000000..f53bdf32c9 --- /dev/null +++ b/tests/reference/asr-test_dict13-683b290.json @@ -0,0 +1,13 @@ +{ + "basename": "asr-test_dict13-683b290", + "cmd": "lpython --show-asr --no-color {infile} -o {outfile}", + "infile": "tests/errors/test_dict13.py", + "infile_hash": "fbd5fe5ba8a76a311e7f6e94510426a975f67803566bfc57116a6a5b", + "outfile": null, + "outfile_hash": null, + "stdout": null, + "stdout_hash": null, + "stderr": "asr-test_dict13-683b290.stderr", + "stderr_hash": "093159b6d8c3432b2ea98ce50351a4fa7813c449d2b93473146675fa", + "returncode": 2 +} \ No newline at end of file diff --git a/tests/reference/asr-test_dict13-683b290.stderr b/tests/reference/asr-test_dict13-683b290.stderr new file mode 100644 index 0000000000..1139755a7a --- /dev/null +++ b/tests/reference/asr-test_dict13-683b290.stderr @@ -0,0 +1,5 @@ +semantic error: 'dict' key type cannot be float/complex because resolving collisions by exact comparison of float/complex values will result in unexpected behaviours. In addition fuzzy equality checks with a certain tolerance does not follow transitivity with float/complex values. + --> tests/errors/test_dict13.py:3:5 + | +3 | mydictionarty3: dict[float, int] = {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/reference/ast-dict_expr_01-4f3d914.json b/tests/reference/ast-dict_expr_01-4f3d914.json new file mode 100644 index 0000000000..4fb8b6eadb --- /dev/null +++ b/tests/reference/ast-dict_expr_01-4f3d914.json @@ -0,0 +1,13 @@ +{ + "basename": "ast-dict_expr_01-4f3d914", + "cmd": "lpython --show-ast --no-color {infile} -o {outfile}", + "infile": "tests/dict_expr_01.py", + "infile_hash": "308c449494f42d1fdb942ce1c4b986c948600ec6368baa235ffb9496", + "outfile": null, + "outfile_hash": null, + "stdout": "ast-dict_expr_01-4f3d914.stdout", + "stdout_hash": "1402eb3aad6ee3c72427bfbb2fa14c394c8b406725552e858d37e720", + "stderr": null, + "stderr_hash": null, + "returncode": 0 +} \ No newline at end of file diff --git a/tests/reference/ast-dict_expr_01-4f3d914.stdout b/tests/reference/ast-dict_expr_01-4f3d914.stdout new file mode 100644 index 0000000000..a378fe199e --- /dev/null +++ b/tests/reference/ast-dict_expr_01-4f3d914.stdout @@ -0,0 +1 @@ +(Module [(FunctionDef test_dict ([] [] [] [] [] [] []) [(AnnAssign (Name mydictionarty3 Store) (Subscript (Name dict Load) (Tuple [(Name int Load) (Name float Load)] Load) Load) (Dict [] []) 1)] [] () ()) (Expr (Call (Name test_dict Load) [] []))] []) diff --git a/tests/reference/llvm-dict_expr_01-4db1d98.json b/tests/reference/llvm-dict_expr_01-4db1d98.json new file mode 100644 index 0000000000..a169fa4a85 --- /dev/null +++ b/tests/reference/llvm-dict_expr_01-4db1d98.json @@ -0,0 +1,13 @@ +{ + "basename": "llvm-dict_expr_01-4db1d98", + "cmd": "lpython --no-color --show-llvm {infile} -o {outfile}", + "infile": "tests/dict_expr_01.py", + "infile_hash": "308c449494f42d1fdb942ce1c4b986c948600ec6368baa235ffb9496", + "outfile": null, + "outfile_hash": null, + "stdout": "llvm-dict_expr_01-4db1d98.stdout", + "stdout_hash": "9fcdda96d9a8484ac6bb3b7402fd932b97c8f496194d028802bf8cab", + "stderr": null, + "stderr_hash": null, + "returncode": 0 +} \ No newline at end of file diff --git a/tests/reference/llvm-dict_expr_01-4db1d98.stdout b/tests/reference/llvm-dict_expr_01-4db1d98.stdout new file mode 100644 index 0000000000..2d1c1958bb --- /dev/null +++ b/tests/reference/llvm-dict_expr_01-4db1d98.stdout @@ -0,0 +1,117 @@ +; ModuleID = 'LFortran' +source_filename = "LFortran" + +%dict = type { i32, %list, %list.0, i8* } +%list = type { i32, i32, i64* } +%list.0 = type { i32, i32, double* } + +define void @_lpython_main_program() { +.entry: + call void @test_dict() + br label %return + +return: ; preds = %.entry + ret void +} + +define void @test_dict() { +.entry: + %mydictionarty3 = alloca %dict, align 8 + %const_dict = alloca %dict, align 8 + %0 = getelementptr %dict, %dict* %const_dict, i32 0, i32 0 + store i32 0, i32* %0, align 4 + %1 = getelementptr %dict, %dict* %const_dict, i32 0, i32 1 + %2 = getelementptr %dict, %dict* %const_dict, i32 0, i32 2 + %3 = call i8* (i32, ...) @_lfortran_malloc(i32 0) + %4 = bitcast i8* %3 to i64* + %5 = getelementptr %list, %list* %1, i32 0, i32 2 + store i64* %4, i64** %5, align 8 + %6 = getelementptr %list, %list* %1, i32 0, i32 0 + store i32 0, i32* %6, align 4 + %7 = getelementptr %list, %list* %1, i32 0, i32 1 + store i32 0, i32* %7, align 4 + %8 = call i8* (i32, ...) @_lfortran_malloc(i32 0) + %9 = bitcast i8* %8 to double* + %10 = getelementptr %list.0, %list.0* %2, i32 0, i32 2 + store double* %9, double** %10, align 8 + %11 = getelementptr %list.0, %list.0* %2, i32 0, i32 0 + store i32 0, i32* %11, align 4 + %12 = getelementptr %list.0, %list.0* %2, i32 0, i32 1 + store i32 0, i32* %12, align 4 + %13 = call i8* (i32, i32, ...) @_lfortran_calloc(i32 0, i32 1) + %14 = getelementptr %dict, %dict* %const_dict, i32 0, i32 3 + store i8* %13, i8** %14, align 8 + %15 = getelementptr %dict, %dict* %const_dict, i32 0, i32 0 + %16 = load i32, i32* %15, align 4 + %17 = getelementptr %dict, %dict* %mydictionarty3, i32 0, i32 0 + store i32 %16, i32* %17, align 4 + %18 = getelementptr %dict, %dict* %const_dict, i32 0, i32 1 + %19 = getelementptr %dict, %dict* %mydictionarty3, i32 0, i32 1 + %20 = getelementptr %list, %list* %18, i32 0, i32 0 + %21 = load i32, i32* %20, align 4 + %22 = getelementptr %list, %list* %18, i32 0, i32 1 + %23 = load i32, i32* %22, align 4 + %24 = getelementptr %list, %list* %19, i32 0, i32 0 + %25 = getelementptr %list, %list* %19, i32 0, i32 1 + store i32 %21, i32* %24, align 4 + store i32 %23, i32* %25, align 4 + %26 = getelementptr %list, %list* %18, i32 0, i32 2 + %27 = load i64*, i64** %26, align 8 + %28 = mul i32 8, %23 + %29 = call i8* (i32, ...) @_lfortran_malloc(i32 %28) + %30 = bitcast i8* %29 to i64* + %31 = bitcast i64* %30 to i8* + %32 = bitcast i64* %27 to i8* + call void @llvm.memcpy.p0i8.p0i8.i32(i8* %31, i8* %32, i32 %28, i1 false) + %33 = getelementptr %list, %list* %19, i32 0, i32 2 + store i64* %30, i64** %33, align 8 + %34 = getelementptr %dict, %dict* %const_dict, i32 0, i32 2 + %35 = getelementptr %dict, %dict* %mydictionarty3, i32 0, i32 2 + %36 = getelementptr %list.0, %list.0* %34, i32 0, i32 0 + %37 = load i32, i32* %36, align 4 + %38 = getelementptr %list.0, %list.0* %34, i32 0, i32 1 + %39 = load i32, i32* %38, align 4 + %40 = getelementptr %list.0, %list.0* %35, i32 0, i32 0 + %41 = getelementptr %list.0, %list.0* %35, i32 0, i32 1 + store i32 %37, i32* %40, align 4 + store i32 %39, i32* %41, align 4 + %42 = getelementptr %list.0, %list.0* %34, i32 0, i32 2 + %43 = load double*, double** %42, align 8 + %44 = mul i32 8, %39 + %45 = call i8* (i32, ...) @_lfortran_malloc(i32 %44) + %46 = bitcast i8* %45 to double* + %47 = bitcast double* %46 to i8* + %48 = bitcast double* %43 to i8* + call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* %48, i32 %44, i1 false) + %49 = getelementptr %list.0, %list.0* %35, i32 0, i32 2 + store double* %46, double** %49, align 8 + %50 = getelementptr %dict, %dict* %const_dict, i32 0, i32 3 + %51 = load i8*, i8** %50, align 8 + %52 = getelementptr %dict, %dict* %mydictionarty3, i32 0, i32 3 + %53 = getelementptr %dict, %dict* %const_dict, i32 0, i32 2 + %54 = getelementptr %list.0, %list.0* %53, i32 0, i32 1 + %55 = load i32, i32* %54, align 4 + %56 = call i8* (i32, i32, ...) @_lfortran_calloc(i32 %55, i32 1) + %57 = mul i32 %55, 1 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* %56, i8* %51, i32 %57, i1 false) + store i8* %56, i8** %52, align 8 + br label %return + +return: ; preds = %.entry + ret void +} + +declare i8* @_lfortran_malloc(i32, ...) + +declare i8* @_lfortran_calloc(i32, i32, ...) + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i32(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i32, i1 immarg) #0 + +define i32 @main() { +.entry: + call void @_lpython_main_program() + ret i32 0 +} + +attributes #0 = { argmemonly nounwind willreturn } diff --git a/tests/tests.toml b/tests/tests.toml index d88d3b370e..809e3d57a1 100644 --- a/tests/tests.toml +++ b/tests/tests.toml @@ -142,6 +142,12 @@ ast = true asr = true llvm = true +[[test]] +filename = "dict_expr_01.py" +ast = true +asr = true +llvm = true + [[test]] filename = "../integration_tests/array_01_decl.py" asr = true @@ -707,6 +713,10 @@ asr = true filename = "errors/test_dict1.py" asr = true +[[test]] +filename = "errors/test_dict13.py" +asr = true + [[test]] filename = "errors/test_zero_division.py" asr = true From 9d4221bdd062b5a9c9cb6bc41be456d50c8245c1 Mon Sep 17 00:00:00 2001 From: Gagandeep Singh Date: Wed, 7 Sep 2022 09:32:48 +0530 Subject: [PATCH 2/7] Cleaned up changes --- dicttest.py | 13 -- tests/dict_expr_01.py | 2 - tests/errors/test_dict13.py | 2 - tests/reference/asr-test_dict13-683b290.json | 13 -- .../reference/asr-test_dict13-683b290.stderr | 5 - tests/reference/ast-dict_expr_01-4f3d914.json | 13 -- .../reference/ast-dict_expr_01-4f3d914.stdout | 1 - .../reference/llvm-dict_expr_01-4db1d98.json | 13 -- .../llvm-dict_expr_01-4db1d98.stdout | 117 ------------------ tests/tests.toml | 9 +- 10 files changed, 4 insertions(+), 184 deletions(-) delete mode 100644 dicttest.py delete mode 100644 tests/reference/asr-test_dict13-683b290.json delete mode 100644 tests/reference/asr-test_dict13-683b290.stderr delete mode 100644 tests/reference/ast-dict_expr_01-4f3d914.json delete mode 100644 tests/reference/ast-dict_expr_01-4f3d914.stdout delete mode 100644 tests/reference/llvm-dict_expr_01-4db1d98.json delete mode 100644 tests/reference/llvm-dict_expr_01-4db1d98.stdout diff --git a/dicttest.py b/dicttest.py deleted file mode 100644 index ff89c41258..0000000000 --- a/dicttest.py +++ /dev/null @@ -1,13 +0,0 @@ -from ltypes import f64, f32, i32, i64 - -def main0(): -# mydictionarty: dict[f32, i32] -# mydictionarty1: dict[f64, i32] -# mydictionarty2: dict[i64, i32] - mydictionarty3: dict[int, int] - mydictionarty4: dict[f64, int] - x: i16 - x = 6 - print(x) - -# main0()Unsupported type annotation: \ No newline at end of file diff --git a/tests/dict_expr_01.py b/tests/dict_expr_01.py index eae072eeee..9eaa7edab5 100644 --- a/tests/dict_expr_01.py +++ b/tests/dict_expr_01.py @@ -1,6 +1,4 @@ - def test_dict(): mydictionarty3: dict[int, float] = {} - test_dict() diff --git a/tests/errors/test_dict13.py b/tests/errors/test_dict13.py index bea059e9d4..c98c1aa33b 100644 --- a/tests/errors/test_dict13.py +++ b/tests/errors/test_dict13.py @@ -1,6 +1,4 @@ - def test_dict(): mydictionarty3: dict[float, int] = {} - test_dict() diff --git a/tests/reference/asr-test_dict13-683b290.json b/tests/reference/asr-test_dict13-683b290.json deleted file mode 100644 index f53bdf32c9..0000000000 --- a/tests/reference/asr-test_dict13-683b290.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "basename": "asr-test_dict13-683b290", - "cmd": "lpython --show-asr --no-color {infile} -o {outfile}", - "infile": "tests/errors/test_dict13.py", - "infile_hash": "fbd5fe5ba8a76a311e7f6e94510426a975f67803566bfc57116a6a5b", - "outfile": null, - "outfile_hash": null, - "stdout": null, - "stdout_hash": null, - "stderr": "asr-test_dict13-683b290.stderr", - "stderr_hash": "093159b6d8c3432b2ea98ce50351a4fa7813c449d2b93473146675fa", - "returncode": 2 -} \ No newline at end of file diff --git a/tests/reference/asr-test_dict13-683b290.stderr b/tests/reference/asr-test_dict13-683b290.stderr deleted file mode 100644 index 1139755a7a..0000000000 --- a/tests/reference/asr-test_dict13-683b290.stderr +++ /dev/null @@ -1,5 +0,0 @@ -semantic error: 'dict' key type cannot be float/complex because resolving collisions by exact comparison of float/complex values will result in unexpected behaviours. In addition fuzzy equality checks with a certain tolerance does not follow transitivity with float/complex values. - --> tests/errors/test_dict13.py:3:5 - | -3 | mydictionarty3: dict[float, int] = {} - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/reference/ast-dict_expr_01-4f3d914.json b/tests/reference/ast-dict_expr_01-4f3d914.json deleted file mode 100644 index 4fb8b6eadb..0000000000 --- a/tests/reference/ast-dict_expr_01-4f3d914.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "basename": "ast-dict_expr_01-4f3d914", - "cmd": "lpython --show-ast --no-color {infile} -o {outfile}", - "infile": "tests/dict_expr_01.py", - "infile_hash": "308c449494f42d1fdb942ce1c4b986c948600ec6368baa235ffb9496", - "outfile": null, - "outfile_hash": null, - "stdout": "ast-dict_expr_01-4f3d914.stdout", - "stdout_hash": "1402eb3aad6ee3c72427bfbb2fa14c394c8b406725552e858d37e720", - "stderr": null, - "stderr_hash": null, - "returncode": 0 -} \ No newline at end of file diff --git a/tests/reference/ast-dict_expr_01-4f3d914.stdout b/tests/reference/ast-dict_expr_01-4f3d914.stdout deleted file mode 100644 index a378fe199e..0000000000 --- a/tests/reference/ast-dict_expr_01-4f3d914.stdout +++ /dev/null @@ -1 +0,0 @@ -(Module [(FunctionDef test_dict ([] [] [] [] [] [] []) [(AnnAssign (Name mydictionarty3 Store) (Subscript (Name dict Load) (Tuple [(Name int Load) (Name float Load)] Load) Load) (Dict [] []) 1)] [] () ()) (Expr (Call (Name test_dict Load) [] []))] []) diff --git a/tests/reference/llvm-dict_expr_01-4db1d98.json b/tests/reference/llvm-dict_expr_01-4db1d98.json deleted file mode 100644 index a169fa4a85..0000000000 --- a/tests/reference/llvm-dict_expr_01-4db1d98.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "basename": "llvm-dict_expr_01-4db1d98", - "cmd": "lpython --no-color --show-llvm {infile} -o {outfile}", - "infile": "tests/dict_expr_01.py", - "infile_hash": "308c449494f42d1fdb942ce1c4b986c948600ec6368baa235ffb9496", - "outfile": null, - "outfile_hash": null, - "stdout": "llvm-dict_expr_01-4db1d98.stdout", - "stdout_hash": "9fcdda96d9a8484ac6bb3b7402fd932b97c8f496194d028802bf8cab", - "stderr": null, - "stderr_hash": null, - "returncode": 0 -} \ No newline at end of file diff --git a/tests/reference/llvm-dict_expr_01-4db1d98.stdout b/tests/reference/llvm-dict_expr_01-4db1d98.stdout deleted file mode 100644 index 2d1c1958bb..0000000000 --- a/tests/reference/llvm-dict_expr_01-4db1d98.stdout +++ /dev/null @@ -1,117 +0,0 @@ -; ModuleID = 'LFortran' -source_filename = "LFortran" - -%dict = type { i32, %list, %list.0, i8* } -%list = type { i32, i32, i64* } -%list.0 = type { i32, i32, double* } - -define void @_lpython_main_program() { -.entry: - call void @test_dict() - br label %return - -return: ; preds = %.entry - ret void -} - -define void @test_dict() { -.entry: - %mydictionarty3 = alloca %dict, align 8 - %const_dict = alloca %dict, align 8 - %0 = getelementptr %dict, %dict* %const_dict, i32 0, i32 0 - store i32 0, i32* %0, align 4 - %1 = getelementptr %dict, %dict* %const_dict, i32 0, i32 1 - %2 = getelementptr %dict, %dict* %const_dict, i32 0, i32 2 - %3 = call i8* (i32, ...) @_lfortran_malloc(i32 0) - %4 = bitcast i8* %3 to i64* - %5 = getelementptr %list, %list* %1, i32 0, i32 2 - store i64* %4, i64** %5, align 8 - %6 = getelementptr %list, %list* %1, i32 0, i32 0 - store i32 0, i32* %6, align 4 - %7 = getelementptr %list, %list* %1, i32 0, i32 1 - store i32 0, i32* %7, align 4 - %8 = call i8* (i32, ...) @_lfortran_malloc(i32 0) - %9 = bitcast i8* %8 to double* - %10 = getelementptr %list.0, %list.0* %2, i32 0, i32 2 - store double* %9, double** %10, align 8 - %11 = getelementptr %list.0, %list.0* %2, i32 0, i32 0 - store i32 0, i32* %11, align 4 - %12 = getelementptr %list.0, %list.0* %2, i32 0, i32 1 - store i32 0, i32* %12, align 4 - %13 = call i8* (i32, i32, ...) @_lfortran_calloc(i32 0, i32 1) - %14 = getelementptr %dict, %dict* %const_dict, i32 0, i32 3 - store i8* %13, i8** %14, align 8 - %15 = getelementptr %dict, %dict* %const_dict, i32 0, i32 0 - %16 = load i32, i32* %15, align 4 - %17 = getelementptr %dict, %dict* %mydictionarty3, i32 0, i32 0 - store i32 %16, i32* %17, align 4 - %18 = getelementptr %dict, %dict* %const_dict, i32 0, i32 1 - %19 = getelementptr %dict, %dict* %mydictionarty3, i32 0, i32 1 - %20 = getelementptr %list, %list* %18, i32 0, i32 0 - %21 = load i32, i32* %20, align 4 - %22 = getelementptr %list, %list* %18, i32 0, i32 1 - %23 = load i32, i32* %22, align 4 - %24 = getelementptr %list, %list* %19, i32 0, i32 0 - %25 = getelementptr %list, %list* %19, i32 0, i32 1 - store i32 %21, i32* %24, align 4 - store i32 %23, i32* %25, align 4 - %26 = getelementptr %list, %list* %18, i32 0, i32 2 - %27 = load i64*, i64** %26, align 8 - %28 = mul i32 8, %23 - %29 = call i8* (i32, ...) @_lfortran_malloc(i32 %28) - %30 = bitcast i8* %29 to i64* - %31 = bitcast i64* %30 to i8* - %32 = bitcast i64* %27 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* %31, i8* %32, i32 %28, i1 false) - %33 = getelementptr %list, %list* %19, i32 0, i32 2 - store i64* %30, i64** %33, align 8 - %34 = getelementptr %dict, %dict* %const_dict, i32 0, i32 2 - %35 = getelementptr %dict, %dict* %mydictionarty3, i32 0, i32 2 - %36 = getelementptr %list.0, %list.0* %34, i32 0, i32 0 - %37 = load i32, i32* %36, align 4 - %38 = getelementptr %list.0, %list.0* %34, i32 0, i32 1 - %39 = load i32, i32* %38, align 4 - %40 = getelementptr %list.0, %list.0* %35, i32 0, i32 0 - %41 = getelementptr %list.0, %list.0* %35, i32 0, i32 1 - store i32 %37, i32* %40, align 4 - store i32 %39, i32* %41, align 4 - %42 = getelementptr %list.0, %list.0* %34, i32 0, i32 2 - %43 = load double*, double** %42, align 8 - %44 = mul i32 8, %39 - %45 = call i8* (i32, ...) @_lfortran_malloc(i32 %44) - %46 = bitcast i8* %45 to double* - %47 = bitcast double* %46 to i8* - %48 = bitcast double* %43 to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* %48, i32 %44, i1 false) - %49 = getelementptr %list.0, %list.0* %35, i32 0, i32 2 - store double* %46, double** %49, align 8 - %50 = getelementptr %dict, %dict* %const_dict, i32 0, i32 3 - %51 = load i8*, i8** %50, align 8 - %52 = getelementptr %dict, %dict* %mydictionarty3, i32 0, i32 3 - %53 = getelementptr %dict, %dict* %const_dict, i32 0, i32 2 - %54 = getelementptr %list.0, %list.0* %53, i32 0, i32 1 - %55 = load i32, i32* %54, align 4 - %56 = call i8* (i32, i32, ...) @_lfortran_calloc(i32 %55, i32 1) - %57 = mul i32 %55, 1 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* %56, i8* %51, i32 %57, i1 false) - store i8* %56, i8** %52, align 8 - br label %return - -return: ; preds = %.entry - ret void -} - -declare i8* @_lfortran_malloc(i32, ...) - -declare i8* @_lfortran_calloc(i32, i32, ...) - -; Function Attrs: argmemonly nounwind willreturn -declare void @llvm.memcpy.p0i8.p0i8.i32(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i32, i1 immarg) #0 - -define i32 @main() { -.entry: - call void @_lpython_main_program() - ret i32 0 -} - -attributes #0 = { argmemonly nounwind willreturn } diff --git a/tests/tests.toml b/tests/tests.toml index 809e3d57a1..924634b513 100644 --- a/tests/tests.toml +++ b/tests/tests.toml @@ -144,9 +144,7 @@ llvm = true [[test]] filename = "dict_expr_01.py" -ast = true asr = true -llvm = true [[test]] filename = "../integration_tests/array_01_decl.py" @@ -713,9 +711,10 @@ asr = true filename = "errors/test_dict1.py" asr = true -[[test]] -filename = "errors/test_dict13.py" -asr = true +# Enable once gh-1080 is merged +# [[test]] +# filename = "errors/test_dict13.py" +# asr = true [[test]] filename = "errors/test_zero_division.py" From e584ac5806cfde4f0d94163fba9beee3a0a4dd05 Mon Sep 17 00:00:00 2001 From: Gagandeep Singh Date: Wed, 7 Sep 2022 09:34:04 +0530 Subject: [PATCH 3/7] Updated reference tests --- tests/reference/asr-dict_expr_01-9c1f5d8.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/reference/asr-dict_expr_01-9c1f5d8.json b/tests/reference/asr-dict_expr_01-9c1f5d8.json index 797b3aa9a8..81b19ad34c 100644 --- a/tests/reference/asr-dict_expr_01-9c1f5d8.json +++ b/tests/reference/asr-dict_expr_01-9c1f5d8.json @@ -2,7 +2,7 @@ "basename": "asr-dict_expr_01-9c1f5d8", "cmd": "lpython --show-asr --no-color {infile} -o {outfile}", "infile": "tests/dict_expr_01.py", - "infile_hash": "308c449494f42d1fdb942ce1c4b986c948600ec6368baa235ffb9496", + "infile_hash": "e31da5228b0722933947559f021553ddf900cedbfeecc93fa71d5761", "outfile": null, "outfile_hash": null, "stdout": "asr-dict_expr_01-9c1f5d8.stdout", From 7d5fc0477b9ab253650bb09664d22c57c8f7172d Mon Sep 17 00:00:00 2001 From: Gagandeep Singh Date: Wed, 7 Sep 2022 09:44:32 +0530 Subject: [PATCH 4/7] Updated tests and their references --- integration_tests/array_01_decl.py | 16 ++++++++++++++++ integration_tests/array_02_decl.py | 8 ++++++++ integration_tests/array_expr_01.py | 2 +- tests/reference/asr-array_01_decl-39cf894.json | 4 ++-- tests/reference/asr-array_01_decl-39cf894.stdout | 2 +- tests/reference/asr-array_02_decl-e8f6874.json | 4 ++-- tests/reference/asr-array_02_decl-e8f6874.stdout | 2 +- 7 files changed, 31 insertions(+), 7 deletions(-) diff --git a/integration_tests/array_01_decl.py b/integration_tests/array_01_decl.py index 66838dd311..b78dc9c2fa 100644 --- a/integration_tests/array_01_decl.py +++ b/integration_tests/array_01_decl.py @@ -9,6 +9,10 @@ def accept_i64_array(xi64: i64[:]) -> i64: xi64[0] = 64 return xi64[0] +def accept_int_array(xint: int[:]) -> i64: + xint[0] = 64 + return xint[0] + def accept_f32_array(xf32: f32[:]) -> f32: xf32[0] = 32.0 return xf32[0] @@ -17,16 +21,28 @@ def accept_f64_array(xf64: f64[:]) -> f64: xf64[0] = 64.0 return xf64[0] +def accept_float_array(xfloat: float[:]) -> f64: + xfloat[0] = 64.0 + return xfloat[0] + def declare_arrays(): ai32: i32[3] = empty(3) ai64: i64[10] = empty(10) + aint: int[10] = empty(10) af32: f32[3] = empty(3) af64: f64[10] = empty(10) + afloat: float[10] = empty(10) ac32: c32[3] = empty(3) ac64: c64[10] = empty(10) print(accept_i32_array(ai32)) print(accept_i64_array(ai64)) + print(accept_int_array(aint)) + print(accept_i64_array(aint)) + print(accept_int_array(ai64)) print(accept_f32_array(af32)) print(accept_f64_array(af64)) + print(accept_float_array(afloat)) + print(accept_f64_array(afloat)) + print(accept_float_array(af64)) declare_arrays() diff --git a/integration_tests/array_02_decl.py b/integration_tests/array_02_decl.py index 5969ba8a85..bbfc5c0090 100644 --- a/integration_tests/array_02_decl.py +++ b/integration_tests/array_02_decl.py @@ -7,12 +7,18 @@ def accept_multidim_i32_array(xi32: i32[:, :]) -> i32: def accept_multidim_i64_array(xi64: i64[:, :, :]) -> i64: return xi64[9, 9, 9] +def accept_multidim_i64_array_return_int(xi64: i64[:, :, :]) -> int: + return xi64[9, 9, 9] + def accept_multidim_f32_array(xf32: f32[:]) -> f32: return xf32[0] def accept_multidim_f64_array(xf64: f64[:, :]) -> f64: return xf64[0, 1] +def accept_multidim_f64_array_return_float(xf64: f64[:, :]) -> float: + return xf64[0, 1] + def declare_arrays(): ai32: i32[3, 3] = empty([3, 3]) ai64: i64[10, 10, 10] = empty([10, 10, 10]) @@ -22,8 +28,10 @@ def declare_arrays(): ac64: c64[10, 13, 11, 16] = empty([10, 13, 11, 16]) print(accept_multidim_i32_array(ai32)) print(accept_multidim_i64_array(ai64)) + print(accept_multidim_i64_array_return_int(ai64)) print(accept_multidim_f32_array(af32)) print(accept_multidim_f64_array(af64)) + print(accept_multidim_f64_array_return_float(af64)) declare_arrays() diff --git a/integration_tests/array_expr_01.py b/integration_tests/array_expr_01.py index fe6fafd1c4..d1764d6628 100644 --- a/integration_tests/array_expr_01.py +++ b/integration_tests/array_expr_01.py @@ -9,7 +9,7 @@ def array_expr_01(): i: i32 shape1d: i32[1] = empty(1, dtype=int32) shape3d: i32[3] = empty(3, dtype=int32) - eps: f64 + eps: float eps = 1e-12 dim1 = 10 diff --git a/tests/reference/asr-array_01_decl-39cf894.json b/tests/reference/asr-array_01_decl-39cf894.json index aa31c10ddc..291b8d7ffe 100644 --- a/tests/reference/asr-array_01_decl-39cf894.json +++ b/tests/reference/asr-array_01_decl-39cf894.json @@ -2,11 +2,11 @@ "basename": "asr-array_01_decl-39cf894", "cmd": "lpython --show-asr --no-color {infile} -o {outfile}", "infile": "tests/../integration_tests/array_01_decl.py", - "infile_hash": "e5f2b6082b67a8a7847e7051d7b4d3c954d1ea88d865326810543dca", + "infile_hash": "e42041d333ece1938a4829e84891c08925de76890483a9b55638f172", "outfile": null, "outfile_hash": null, "stdout": "asr-array_01_decl-39cf894.stdout", - "stdout_hash": "c28cc5ab9eeaa418b37fb8a3d48be3afe9ee53f1a798c002c1872410", + "stdout_hash": "cb1e8ec9995c8e1ba7f77241620a3f2b297925721128ee961fb3a67f", "stderr": null, "stderr_hash": null, "returncode": 0 diff --git a/tests/reference/asr-array_01_decl-39cf894.stdout b/tests/reference/asr-array_01_decl-39cf894.stdout index 36b91be277..f426a35220 100644 --- a/tests/reference/asr-array_01_decl-39cf894.stdout +++ b/tests/reference/asr-array_01_decl-39cf894.stdout @@ -1 +1 @@ -(TranslationUnit (SymbolTable 1 {_lpython_main_program: (Function (SymbolTable 66 {}) _lpython_main_program [] [] [(SubroutineCall 1 declare_arrays () [] ())] () Source Public Implementation () .false. .false. .false. .false.), accept_f32_array: (Function (SymbolTable 62 {_lpython_return_variable: (Variable 62 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), xf32: (Variable 62 xf32 InOut () () Default (Real 4 [(() ())]) Source Public Required .false.)}) accept_f32_array [(Var 62 xf32)] [] [(= (ArrayItem (Var 62 xf32) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Real 4 []) ()) (Cast (RealConstant 32.000000 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 32.000000 (Real 4 []))) ()) (= (Var 62 _lpython_return_variable) (ArrayItem (Var 62 xf32) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Real 4 []) ()) ()) (Return)] (Var 62 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_f64_array: (Function (SymbolTable 63 {_lpython_return_variable: (Variable 63 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), xf64: (Variable 63 xf64 InOut () () Default (Real 8 [(() ())]) Source Public Required .false.)}) accept_f64_array [(Var 63 xf64)] [] [(= (ArrayItem (Var 63 xf64) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Real 8 []) ()) (RealConstant 64.000000 (Real 8 [])) ()) (= (Var 63 _lpython_return_variable) (ArrayItem (Var 63 xf64) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Real 8 []) ()) ()) (Return)] (Var 63 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_i32_array: (Function (SymbolTable 60 {_lpython_return_variable: (Variable 60 _lpython_return_variable ReturnVar () () Default (Integer 4 []) Source Public Required .false.), xi32: (Variable 60 xi32 InOut () () Default (Integer 4 [(() ())]) Source Public Required .false.)}) accept_i32_array [(Var 60 xi32)] [] [(= (ArrayItem (Var 60 xi32) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Integer 4 []) ()) (IntegerConstant 32 (Integer 4 [])) ()) (= (Var 60 _lpython_return_variable) (ArrayItem (Var 60 xi32) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Integer 4 []) ()) ()) (Return)] (Var 60 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_i64_array: (Function (SymbolTable 61 {_lpython_return_variable: (Variable 61 _lpython_return_variable ReturnVar () () Default (Integer 8 []) Source Public Required .false.), xi64: (Variable 61 xi64 InOut () () Default (Integer 8 [(() ())]) Source Public Required .false.)}) accept_i64_array [(Var 61 xi64)] [] [(= (ArrayItem (Var 61 xi64) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Integer 8 []) ()) (Cast (IntegerConstant 64 (Integer 4 [])) IntegerToInteger (Integer 8 []) ()) ()) (= (Var 61 _lpython_return_variable) (ArrayItem (Var 61 xi64) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Integer 8 []) ()) ()) (Return)] (Var 61 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), declare_arrays: (Function (SymbolTable 64 {ac32: (Variable 64 ac32 Local () () Default (Complex 4 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 [])))]) Source Public Required .false.), ac64: (Variable 64 ac64 Local () () Default (Complex 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 [])))]) Source Public Required .false.), af32: (Variable 64 af32 Local () () Default (Real 4 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 [])))]) Source Public Required .false.), af64: (Variable 64 af64 Local () () Default (Real 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 [])))]) Source Public Required .false.), ai32: (Variable 64 ai32 Local () () Default (Integer 4 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 [])))]) Source Public Required .false.), ai64: (Variable 64 ai64 Local () () Default (Integer 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 [])))]) Source Public Required .false.)}) declare_arrays [] [] [(Print () [(FunctionCall 1 accept_i32_array () [((Var 64 ai32))] (Integer 4 []) () ())] () ()) (Print () [(FunctionCall 1 accept_i64_array () [((Var 64 ai64))] (Integer 8 []) () ())] () ()) (Print () [(FunctionCall 1 accept_f32_array () [((Var 64 af32))] (Real 4 []) () ())] () ()) (Print () [(FunctionCall 1 accept_f64_array () [((Var 64 af64))] (Real 8 []) () ())] () ())] () Source Public Implementation () .false. .false. .false. .false.), main_program: (Program (SymbolTable 65 {}) main_program [] [(SubroutineCall 1 _lpython_main_program () [] ())]), numpy: (Module (SymbolTable 3 {__lpython_overloaded_0__arccos: (Function (SymbolTable 41 {_lpython_return_variable: (Variable 41 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 41 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__arccos [(Var 41 x)] [] [(= (Var 41 _lpython_return_variable) (FunctionCall 3 _lfortran_dacos () [((Var 41 x))] (Real 8 []) () ()) ()) (Return)] (Var 41 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__arcsin: (Function (SymbolTable 37 {_lpython_return_variable: (Variable 37 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 37 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__arcsin [(Var 37 x)] [] [(= (Var 37 _lpython_return_variable) (FunctionCall 3 _lfortran_dasin () [((Var 37 x))] (Real 8 []) () ()) ()) (Return)] (Var 37 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__arctan: (Function (SymbolTable 53 {_lpython_return_variable: (Variable 53 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 53 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__arctan [(Var 53 x)] [] [(= (Var 53 _lpython_return_variable) (FunctionCall 3 _lfortran_datan () [((Var 53 x))] (Real 8 []) () ()) ()) (Return)] (Var 53 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__cos: (Function (SymbolTable 9 {_lpython_return_variable: (Variable 9 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 9 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__cos [(Var 9 x)] [] [(= (Var 9 _lpython_return_variable) (FunctionCall 3 _lfortran_dcos () [((Var 9 x))] (Real 8 []) () ()) ()) (Return)] (Var 9 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__cosh: (Function (SymbolTable 23 {_lpython_return_variable: (Variable 23 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 23 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__cosh [(Var 23 x)] [] [(= (Var 23 _lpython_return_variable) (FunctionCall 3 _lfortran_dcosh () [((Var 23 x))] (Real 8 []) () ()) ()) (Return)] (Var 23 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__degrees: (Function (SymbolTable 56 {_lpython_return_variable: (Variable 56 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 56 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__degrees [(Var 56 x)] [] [(= (Var 56 _lpython_return_variable) (RealBinOp (RealBinOp (Var 56 x) Mul (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) Div (Var 3 pi_64) (Real 8 []) ()) ()) (Return)] (Var 56 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__exp: (Function (SymbolTable 49 {_lpython_return_variable: (Variable 49 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 49 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__exp [(Var 49 x)] [] [(= (Var 49 _lpython_return_variable) (FunctionCall 3 _lfortran_dexp () [((Var 49 x))] (Real 8 []) () ()) ()) (Return)] (Var 49 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__log: (Function (SymbolTable 27 {_lpython_return_variable: (Variable 27 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 27 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__log [(Var 27 x)] [] [(= (Var 27 _lpython_return_variable) (FunctionCall 3 _lfortran_dlog () [((Var 27 x))] (Real 8 []) () ()) ()) (Return)] (Var 27 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__log10: (Function (SymbolTable 31 {_lpython_return_variable: (Variable 31 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 31 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__log10 [(Var 31 x)] [] [(= (Var 31 _lpython_return_variable) (FunctionCall 3 _lfortran_dlog10 () [((Var 31 x))] (Real 8 []) () ()) ()) (Return)] (Var 31 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__log2: (Function (SymbolTable 34 {_lpython_return_variable: (Variable 34 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 34 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__log2 [(Var 34 x)] [] [(= (Var 34 _lpython_return_variable) (RealBinOp (FunctionCall 3 _lfortran_dlog () [((Var 34 x))] (Real 8 []) () ()) Div (FunctionCall 3 _lfortran_dlog () [((RealConstant 2.000000 (Real 8 [])))] (Real 8 []) () ()) (Real 8 []) ()) ()) (Return)] (Var 34 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__radians: (Function (SymbolTable 58 {_lpython_return_variable: (Variable 58 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 58 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__radians [(Var 58 x)] [] [(= (Var 58 _lpython_return_variable) (RealBinOp (RealBinOp (Var 58 x) Mul (Var 3 pi_64) (Real 8 []) ()) Div (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) ()) (Return)] (Var 58 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__sin: (Function (SymbolTable 5 {_lpython_return_variable: (Variable 5 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 5 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__sin [(Var 5 x)] [] [(= (Var 5 _lpython_return_variable) (FunctionCall 3 _lfortran_dsin () [((Var 5 x))] (Real 8 []) () ()) ()) (Return)] (Var 5 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__sinh: (Function (SymbolTable 19 {_lpython_return_variable: (Variable 19 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 19 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__sinh [(Var 19 x)] [] [(= (Var 19 _lpython_return_variable) (FunctionCall 3 _lfortran_dsinh () [((Var 19 x))] (Real 8 []) () ()) ()) (Return)] (Var 19 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__sqrt: (Function (SymbolTable 12 {_lpython_return_variable: (Variable 12 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 12 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__sqrt [(Var 12 x)] [] [(= (Var 12 _lpython_return_variable) (RealBinOp (Var 12 x) Pow (RealBinOp (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToReal (Real 8 []) ()) Div (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) (Real 8 []) ()) ()) (Return)] (Var 12 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__tan: (Function (SymbolTable 15 {_lpython_return_variable: (Variable 15 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 15 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__tan [(Var 15 x)] [] [(= (Var 15 _lpython_return_variable) (FunctionCall 3 _lfortran_dtan () [((Var 15 x))] (Real 8 []) () ()) ()) (Return)] (Var 15 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__tanh: (Function (SymbolTable 45 {_lpython_return_variable: (Variable 45 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 45 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__tanh [(Var 45 x)] [] [(= (Var 45 _lpython_return_variable) (FunctionCall 3 _lfortran_dtanh () [((Var 45 x))] (Real 8 []) () ()) ()) (Return)] (Var 45 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__arccos: (Function (SymbolTable 43 {_lpython_return_variable: (Variable 43 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 43 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__arccos [(Var 43 x)] [] [(= (Var 43 _lpython_return_variable) (FunctionCall 3 _lfortran_sacos () [((Var 43 x))] (Real 4 []) () ()) ()) (Return)] (Var 43 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__arcsin: (Function (SymbolTable 39 {_lpython_return_variable: (Variable 39 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 39 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__arcsin [(Var 39 x)] [] [(= (Var 39 _lpython_return_variable) (FunctionCall 3 _lfortran_sasin () [((Var 39 x))] (Real 4 []) () ()) ()) (Return)] (Var 39 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__arctan: (Function (SymbolTable 55 {_lpython_return_variable: (Variable 55 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 55 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__arctan [(Var 55 x)] [] [(= (Var 55 _lpython_return_variable) (FunctionCall 3 _lfortran_satan () [((Var 55 x))] (Real 4 []) () ()) ()) (Return)] (Var 55 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__cos: (Function (SymbolTable 11 {_lpython_return_variable: (Variable 11 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 11 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__cos [(Var 11 x)] [] [(= (Var 11 _lpython_return_variable) (FunctionCall 3 _lfortran_scos () [((Var 11 x))] (Real 4 []) () ()) ()) (Return)] (Var 11 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__cosh: (Function (SymbolTable 25 {_lpython_return_variable: (Variable 25 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 25 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__cosh [(Var 25 x)] [] [(= (Var 25 _lpython_return_variable) (FunctionCall 3 _lfortran_scosh () [((Var 25 x))] (Real 4 []) () ()) ()) (Return)] (Var 25 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__degrees: (Function (SymbolTable 57 {_lpython_return_variable: (Variable 57 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 57 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__degrees [(Var 57 x)] [] [(= (Var 57 _lpython_return_variable) (RealBinOp (RealBinOp (Var 57 x) Mul (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 4 []) ()) (Real 4 []) ()) Div (Var 3 pi_32) (Real 4 []) ()) ()) (Return)] (Var 57 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__exp: (Function (SymbolTable 51 {_lpython_return_variable: (Variable 51 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 51 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__exp [(Var 51 x)] [] [(= (Var 51 _lpython_return_variable) (FunctionCall 3 _lfortran_sexp () [((Var 51 x))] (Real 4 []) () ()) ()) (Return)] (Var 51 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__log: (Function (SymbolTable 29 {_lpython_return_variable: (Variable 29 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 29 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__log [(Var 29 x)] [] [(= (Var 29 _lpython_return_variable) (FunctionCall 3 _lfortran_slog () [((Var 29 x))] (Real 4 []) () ()) ()) (Return)] (Var 29 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__log10: (Function (SymbolTable 33 {_lpython_return_variable: (Variable 33 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 33 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__log10 [(Var 33 x)] [] [(= (Var 33 _lpython_return_variable) (FunctionCall 3 _lfortran_slog10 () [((Var 33 x))] (Real 4 []) () ()) ()) (Return)] (Var 33 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__log2: (Function (SymbolTable 35 {_lpython_return_variable: (Variable 35 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 35 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__log2 [(Var 35 x)] [] [(= (Var 35 _lpython_return_variable) (RealBinOp (FunctionCall 3 _lfortran_slog () [((Var 35 x))] (Real 4 []) () ()) Div (FunctionCall 3 _lfortran_slog () [((Cast (RealConstant 2.000000 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 2.000000 (Real 4 []))))] (Real 4 []) () ()) (Real 4 []) ()) ()) (Return)] (Var 35 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__radians: (Function (SymbolTable 59 {_lpython_return_variable: (Variable 59 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 59 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__radians [(Var 59 x)] [] [(= (Var 59 _lpython_return_variable) (RealBinOp (RealBinOp (Var 59 x) Mul (Var 3 pi_32) (Real 4 []) ()) Div (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 4 []) ()) (Real 4 []) ()) ()) (Return)] (Var 59 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__sin: (Function (SymbolTable 7 {_lpython_return_variable: (Variable 7 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 7 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__sin [(Var 7 x)] [] [(= (Var 7 _lpython_return_variable) (FunctionCall 3 _lfortran_ssin () [((Var 7 x))] (Real 4 []) () ()) ()) (Return)] (Var 7 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__sinh: (Function (SymbolTable 21 {_lpython_return_variable: (Variable 21 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 21 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__sinh [(Var 21 x)] [] [(= (Var 21 _lpython_return_variable) (FunctionCall 3 _lfortran_ssinh () [((Var 21 x))] (Real 4 []) () ()) ()) (Return)] (Var 21 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__sqrt: (Function (SymbolTable 13 {_lpython_return_variable: (Variable 13 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), result: (Variable 13 result Local () () Default (Real 4 []) Source Public Required .false.), x: (Variable 13 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__sqrt [(Var 13 x)] [] [(= (Var 13 result) (Cast (RealBinOp (Cast (Var 13 x) RealToReal (Real 8 []) ()) Pow (RealBinOp (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToReal (Real 8 []) ()) Div (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) (Real 8 []) ()) RealToReal (Real 4 []) ()) ()) (= (Var 13 _lpython_return_variable) (Var 13 result) ()) (Return)] (Var 13 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__tan: (Function (SymbolTable 17 {_lpython_return_variable: (Variable 17 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 17 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__tan [(Var 17 x)] [] [(= (Var 17 _lpython_return_variable) (FunctionCall 3 _lfortran_stan () [((Var 17 x))] (Real 4 []) () ()) ()) (Return)] (Var 17 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__tanh: (Function (SymbolTable 47 {_lpython_return_variable: (Variable 47 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 47 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__tanh [(Var 47 x)] [] [(= (Var 47 _lpython_return_variable) (FunctionCall 3 _lfortran_stanh () [((Var 47 x))] (Real 4 []) () ()) ()) (Return)] (Var 47 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), _lfortran_dacos: (Function (SymbolTable 40 {_lpython_return_variable: (Variable 40 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 40 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dacos [(Var 40 x)] [] [] (Var 40 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dasin: (Function (SymbolTable 36 {_lpython_return_variable: (Variable 36 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 36 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dasin [(Var 36 x)] [] [] (Var 36 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_datan: (Function (SymbolTable 52 {_lpython_return_variable: (Variable 52 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 52 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_datan [(Var 52 x)] [] [] (Var 52 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dcos: (Function (SymbolTable 8 {_lpython_return_variable: (Variable 8 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 8 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dcos [(Var 8 x)] [] [] (Var 8 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dcosh: (Function (SymbolTable 22 {_lpython_return_variable: (Variable 22 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 22 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dcosh [(Var 22 x)] [] [] (Var 22 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dexp: (Function (SymbolTable 48 {_lpython_return_variable: (Variable 48 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 48 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dexp [(Var 48 x)] [] [] (Var 48 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dlog: (Function (SymbolTable 26 {_lpython_return_variable: (Variable 26 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 26 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dlog [(Var 26 x)] [] [] (Var 26 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dlog10: (Function (SymbolTable 30 {_lpython_return_variable: (Variable 30 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 30 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dlog10 [(Var 30 x)] [] [] (Var 30 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dsin: (Function (SymbolTable 4 {_lpython_return_variable: (Variable 4 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 4 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dsin [(Var 4 x)] [] [] (Var 4 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dsinh: (Function (SymbolTable 18 {_lpython_return_variable: (Variable 18 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 18 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dsinh [(Var 18 x)] [] [] (Var 18 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dtan: (Function (SymbolTable 14 {_lpython_return_variable: (Variable 14 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 14 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dtan [(Var 14 x)] [] [] (Var 14 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dtanh: (Function (SymbolTable 44 {_lpython_return_variable: (Variable 44 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 44 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dtanh [(Var 44 x)] [] [] (Var 44 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_sacos: (Function (SymbolTable 42 {_lpython_return_variable: (Variable 42 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 42 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_sacos [(Var 42 x)] [] [] (Var 42 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_sasin: (Function (SymbolTable 38 {_lpython_return_variable: (Variable 38 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 38 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_sasin [(Var 38 x)] [] [] (Var 38 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_satan: (Function (SymbolTable 54 {_lpython_return_variable: (Variable 54 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 54 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_satan [(Var 54 x)] [] [] (Var 54 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_scos: (Function (SymbolTable 10 {_lpython_return_variable: (Variable 10 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 10 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_scos [(Var 10 x)] [] [] (Var 10 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_scosh: (Function (SymbolTable 24 {_lpython_return_variable: (Variable 24 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 24 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_scosh [(Var 24 x)] [] [] (Var 24 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_sexp: (Function (SymbolTable 50 {_lpython_return_variable: (Variable 50 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 50 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_sexp [(Var 50 x)] [] [] (Var 50 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_slog: (Function (SymbolTable 28 {_lpython_return_variable: (Variable 28 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 28 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_slog [(Var 28 x)] [] [] (Var 28 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_slog10: (Function (SymbolTable 32 {_lpython_return_variable: (Variable 32 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 32 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_slog10 [(Var 32 x)] [] [] (Var 32 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_ssin: (Function (SymbolTable 6 {_lpython_return_variable: (Variable 6 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 6 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_ssin [(Var 6 x)] [] [] (Var 6 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_ssinh: (Function (SymbolTable 20 {_lpython_return_variable: (Variable 20 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 20 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_ssinh [(Var 20 x)] [] [] (Var 20 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_stan: (Function (SymbolTable 16 {_lpython_return_variable: (Variable 16 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 16 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_stan [(Var 16 x)] [] [] (Var 16 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_stanh: (Function (SymbolTable 46 {_lpython_return_variable: (Variable 46 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 46 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_stanh [(Var 46 x)] [] [] (Var 46 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), arccos: (GenericProcedure 3 arccos [3 __lpython_overloaded_0__arccos 3 __lpython_overloaded_1__arccos] Public), arcsin: (GenericProcedure 3 arcsin [3 __lpython_overloaded_0__arcsin 3 __lpython_overloaded_1__arcsin] Public), arctan: (GenericProcedure 3 arctan [3 __lpython_overloaded_0__arctan 3 __lpython_overloaded_1__arctan] Public), cos: (GenericProcedure 3 cos [3 __lpython_overloaded_0__cos 3 __lpython_overloaded_1__cos] Public), cosh: (GenericProcedure 3 cosh [3 __lpython_overloaded_0__cosh 3 __lpython_overloaded_1__cosh] Public), degrees: (GenericProcedure 3 degrees [3 __lpython_overloaded_0__degrees 3 __lpython_overloaded_1__degrees] Public), exp: (GenericProcedure 3 exp [3 __lpython_overloaded_0__exp 3 __lpython_overloaded_1__exp] Public), log: (GenericProcedure 3 log [3 __lpython_overloaded_0__log 3 __lpython_overloaded_1__log] Public), log10: (GenericProcedure 3 log10 [3 __lpython_overloaded_0__log10 3 __lpython_overloaded_1__log10] Public), log2: (GenericProcedure 3 log2 [3 __lpython_overloaded_0__log2 3 __lpython_overloaded_1__log2] Public), pi_32: (Variable 3 pi_32 Local (Cast (RealConstant 3.141593 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 3.141593 (Real 4 []))) () Default (Real 4 []) Source Public Required .false.), pi_64: (Variable 3 pi_64 Local (RealConstant 3.141593 (Real 8 [])) () Default (Real 8 []) Source Public Required .false.), radians: (GenericProcedure 3 radians [3 __lpython_overloaded_0__radians 3 __lpython_overloaded_1__radians] Public), sin: (GenericProcedure 3 sin [3 __lpython_overloaded_0__sin 3 __lpython_overloaded_1__sin] Public), sinh: (GenericProcedure 3 sinh [3 __lpython_overloaded_0__sinh 3 __lpython_overloaded_1__sinh] Public), sqrt: (GenericProcedure 3 sqrt [3 __lpython_overloaded_0__sqrt 3 __lpython_overloaded_1__sqrt] Public), tan: (GenericProcedure 3 tan [3 __lpython_overloaded_0__tan 3 __lpython_overloaded_1__tan] Public), tanh: (GenericProcedure 3 tanh [3 __lpython_overloaded_0__tanh 3 __lpython_overloaded_1__tanh] Public)}) numpy [] .false. .false.)}) []) +(TranslationUnit (SymbolTable 1 {_lpython_main_program: (Function (SymbolTable 68 {}) _lpython_main_program [] [] [(SubroutineCall 1 declare_arrays () [] ())] () Source Public Implementation () .false. .false. .false. .false.), accept_f32_array: (Function (SymbolTable 63 {_lpython_return_variable: (Variable 63 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), xf32: (Variable 63 xf32 InOut () () Default (Real 4 [(() ())]) Source Public Required .false.)}) accept_f32_array [(Var 63 xf32)] [] [(= (ArrayItem (Var 63 xf32) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Real 4 []) ()) (Cast (RealConstant 32.000000 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 32.000000 (Real 4 []))) ()) (= (Var 63 _lpython_return_variable) (ArrayItem (Var 63 xf32) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Real 4 []) ()) ()) (Return)] (Var 63 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_f64_array: (Function (SymbolTable 64 {_lpython_return_variable: (Variable 64 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), xf64: (Variable 64 xf64 InOut () () Default (Real 8 [(() ())]) Source Public Required .false.)}) accept_f64_array [(Var 64 xf64)] [] [(= (ArrayItem (Var 64 xf64) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Real 8 []) ()) (RealConstant 64.000000 (Real 8 [])) ()) (= (Var 64 _lpython_return_variable) (ArrayItem (Var 64 xf64) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Real 8 []) ()) ()) (Return)] (Var 64 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_float_array: (Function (SymbolTable 65 {_lpython_return_variable: (Variable 65 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), xfloat: (Variable 65 xfloat InOut () () Default (Real 8 [(() ())]) Source Public Required .false.)}) accept_float_array [(Var 65 xfloat)] [] [(= (ArrayItem (Var 65 xfloat) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Real 8 []) ()) (RealConstant 64.000000 (Real 8 [])) ()) (= (Var 65 _lpython_return_variable) (ArrayItem (Var 65 xfloat) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Real 8 []) ()) ()) (Return)] (Var 65 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_i32_array: (Function (SymbolTable 60 {_lpython_return_variable: (Variable 60 _lpython_return_variable ReturnVar () () Default (Integer 4 []) Source Public Required .false.), xi32: (Variable 60 xi32 InOut () () Default (Integer 4 [(() ())]) Source Public Required .false.)}) accept_i32_array [(Var 60 xi32)] [] [(= (ArrayItem (Var 60 xi32) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Integer 4 []) ()) (IntegerConstant 32 (Integer 4 [])) ()) (= (Var 60 _lpython_return_variable) (ArrayItem (Var 60 xi32) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Integer 4 []) ()) ()) (Return)] (Var 60 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_i64_array: (Function (SymbolTable 61 {_lpython_return_variable: (Variable 61 _lpython_return_variable ReturnVar () () Default (Integer 8 []) Source Public Required .false.), xi64: (Variable 61 xi64 InOut () () Default (Integer 8 [(() ())]) Source Public Required .false.)}) accept_i64_array [(Var 61 xi64)] [] [(= (ArrayItem (Var 61 xi64) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Integer 8 []) ()) (Cast (IntegerConstant 64 (Integer 4 [])) IntegerToInteger (Integer 8 []) ()) ()) (= (Var 61 _lpython_return_variable) (ArrayItem (Var 61 xi64) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Integer 8 []) ()) ()) (Return)] (Var 61 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_int_array: (Function (SymbolTable 62 {_lpython_return_variable: (Variable 62 _lpython_return_variable ReturnVar () () Default (Integer 8 []) Source Public Required .false.), xint: (Variable 62 xint InOut () () Default (Integer 8 [(() ())]) Source Public Required .false.)}) accept_int_array [(Var 62 xint)] [] [(= (ArrayItem (Var 62 xint) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Integer 8 []) ()) (Cast (IntegerConstant 64 (Integer 4 [])) IntegerToInteger (Integer 8 []) ()) ()) (= (Var 62 _lpython_return_variable) (ArrayItem (Var 62 xint) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Integer 8 []) ()) ()) (Return)] (Var 62 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), declare_arrays: (Function (SymbolTable 66 {ac32: (Variable 66 ac32 Local () () Default (Complex 4 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 [])))]) Source Public Required .false.), ac64: (Variable 66 ac64 Local () () Default (Complex 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 [])))]) Source Public Required .false.), af32: (Variable 66 af32 Local () () Default (Real 4 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 [])))]) Source Public Required .false.), af64: (Variable 66 af64 Local () () Default (Real 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 [])))]) Source Public Required .false.), afloat: (Variable 66 afloat Local () () Default (Real 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 [])))]) Source Public Required .false.), ai32: (Variable 66 ai32 Local () () Default (Integer 4 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 [])))]) Source Public Required .false.), ai64: (Variable 66 ai64 Local () () Default (Integer 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 [])))]) Source Public Required .false.), aint: (Variable 66 aint Local () () Default (Integer 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 [])))]) Source Public Required .false.)}) declare_arrays [] [] [(Print () [(FunctionCall 1 accept_i32_array () [((Var 66 ai32))] (Integer 4 []) () ())] () ()) (Print () [(FunctionCall 1 accept_i64_array () [((Var 66 ai64))] (Integer 8 []) () ())] () ()) (Print () [(FunctionCall 1 accept_int_array () [((Var 66 aint))] (Integer 8 []) () ())] () ()) (Print () [(FunctionCall 1 accept_i64_array () [((Var 66 aint))] (Integer 8 []) () ())] () ()) (Print () [(FunctionCall 1 accept_int_array () [((Var 66 ai64))] (Integer 8 []) () ())] () ()) (Print () [(FunctionCall 1 accept_f32_array () [((Var 66 af32))] (Real 4 []) () ())] () ()) (Print () [(FunctionCall 1 accept_f64_array () [((Var 66 af64))] (Real 8 []) () ())] () ()) (Print () [(FunctionCall 1 accept_float_array () [((Var 66 afloat))] (Real 8 []) () ())] () ()) (Print () [(FunctionCall 1 accept_f64_array () [((Var 66 afloat))] (Real 8 []) () ())] () ()) (Print () [(FunctionCall 1 accept_float_array () [((Var 66 af64))] (Real 8 []) () ())] () ())] () Source Public Implementation () .false. .false. .false. .false.), main_program: (Program (SymbolTable 67 {}) main_program [] [(SubroutineCall 1 _lpython_main_program () [] ())]), numpy: (Module (SymbolTable 3 {__lpython_overloaded_0__arccos: (Function (SymbolTable 41 {_lpython_return_variable: (Variable 41 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 41 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__arccos [(Var 41 x)] [] [(= (Var 41 _lpython_return_variable) (FunctionCall 3 _lfortran_dacos () [((Var 41 x))] (Real 8 []) () ()) ()) (Return)] (Var 41 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__arcsin: (Function (SymbolTable 37 {_lpython_return_variable: (Variable 37 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 37 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__arcsin [(Var 37 x)] [] [(= (Var 37 _lpython_return_variable) (FunctionCall 3 _lfortran_dasin () [((Var 37 x))] (Real 8 []) () ()) ()) (Return)] (Var 37 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__arctan: (Function (SymbolTable 53 {_lpython_return_variable: (Variable 53 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 53 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__arctan [(Var 53 x)] [] [(= (Var 53 _lpython_return_variable) (FunctionCall 3 _lfortran_datan () [((Var 53 x))] (Real 8 []) () ()) ()) (Return)] (Var 53 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__cos: (Function (SymbolTable 9 {_lpython_return_variable: (Variable 9 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 9 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__cos [(Var 9 x)] [] [(= (Var 9 _lpython_return_variable) (FunctionCall 3 _lfortran_dcos () [((Var 9 x))] (Real 8 []) () ()) ()) (Return)] (Var 9 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__cosh: (Function (SymbolTable 23 {_lpython_return_variable: (Variable 23 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 23 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__cosh [(Var 23 x)] [] [(= (Var 23 _lpython_return_variable) (FunctionCall 3 _lfortran_dcosh () [((Var 23 x))] (Real 8 []) () ()) ()) (Return)] (Var 23 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__degrees: (Function (SymbolTable 56 {_lpython_return_variable: (Variable 56 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 56 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__degrees [(Var 56 x)] [] [(= (Var 56 _lpython_return_variable) (RealBinOp (RealBinOp (Var 56 x) Mul (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) Div (Var 3 pi_64) (Real 8 []) ()) ()) (Return)] (Var 56 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__exp: (Function (SymbolTable 49 {_lpython_return_variable: (Variable 49 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 49 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__exp [(Var 49 x)] [] [(= (Var 49 _lpython_return_variable) (FunctionCall 3 _lfortran_dexp () [((Var 49 x))] (Real 8 []) () ()) ()) (Return)] (Var 49 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__log: (Function (SymbolTable 27 {_lpython_return_variable: (Variable 27 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 27 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__log [(Var 27 x)] [] [(= (Var 27 _lpython_return_variable) (FunctionCall 3 _lfortran_dlog () [((Var 27 x))] (Real 8 []) () ()) ()) (Return)] (Var 27 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__log10: (Function (SymbolTable 31 {_lpython_return_variable: (Variable 31 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 31 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__log10 [(Var 31 x)] [] [(= (Var 31 _lpython_return_variable) (FunctionCall 3 _lfortran_dlog10 () [((Var 31 x))] (Real 8 []) () ()) ()) (Return)] (Var 31 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__log2: (Function (SymbolTable 34 {_lpython_return_variable: (Variable 34 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 34 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__log2 [(Var 34 x)] [] [(= (Var 34 _lpython_return_variable) (RealBinOp (FunctionCall 3 _lfortran_dlog () [((Var 34 x))] (Real 8 []) () ()) Div (FunctionCall 3 _lfortran_dlog () [((RealConstant 2.000000 (Real 8 [])))] (Real 8 []) () ()) (Real 8 []) ()) ()) (Return)] (Var 34 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__radians: (Function (SymbolTable 58 {_lpython_return_variable: (Variable 58 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 58 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__radians [(Var 58 x)] [] [(= (Var 58 _lpython_return_variable) (RealBinOp (RealBinOp (Var 58 x) Mul (Var 3 pi_64) (Real 8 []) ()) Div (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) ()) (Return)] (Var 58 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__sin: (Function (SymbolTable 5 {_lpython_return_variable: (Variable 5 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 5 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__sin [(Var 5 x)] [] [(= (Var 5 _lpython_return_variable) (FunctionCall 3 _lfortran_dsin () [((Var 5 x))] (Real 8 []) () ()) ()) (Return)] (Var 5 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__sinh: (Function (SymbolTable 19 {_lpython_return_variable: (Variable 19 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 19 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__sinh [(Var 19 x)] [] [(= (Var 19 _lpython_return_variable) (FunctionCall 3 _lfortran_dsinh () [((Var 19 x))] (Real 8 []) () ()) ()) (Return)] (Var 19 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__sqrt: (Function (SymbolTable 12 {_lpython_return_variable: (Variable 12 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 12 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__sqrt [(Var 12 x)] [] [(= (Var 12 _lpython_return_variable) (RealBinOp (Var 12 x) Pow (RealBinOp (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToReal (Real 8 []) ()) Div (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) (Real 8 []) ()) ()) (Return)] (Var 12 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__tan: (Function (SymbolTable 15 {_lpython_return_variable: (Variable 15 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 15 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__tan [(Var 15 x)] [] [(= (Var 15 _lpython_return_variable) (FunctionCall 3 _lfortran_dtan () [((Var 15 x))] (Real 8 []) () ()) ()) (Return)] (Var 15 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__tanh: (Function (SymbolTable 45 {_lpython_return_variable: (Variable 45 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 45 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__tanh [(Var 45 x)] [] [(= (Var 45 _lpython_return_variable) (FunctionCall 3 _lfortran_dtanh () [((Var 45 x))] (Real 8 []) () ()) ()) (Return)] (Var 45 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__arccos: (Function (SymbolTable 43 {_lpython_return_variable: (Variable 43 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 43 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__arccos [(Var 43 x)] [] [(= (Var 43 _lpython_return_variable) (FunctionCall 3 _lfortran_sacos () [((Var 43 x))] (Real 4 []) () ()) ()) (Return)] (Var 43 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__arcsin: (Function (SymbolTable 39 {_lpython_return_variable: (Variable 39 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 39 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__arcsin [(Var 39 x)] [] [(= (Var 39 _lpython_return_variable) (FunctionCall 3 _lfortran_sasin () [((Var 39 x))] (Real 4 []) () ()) ()) (Return)] (Var 39 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__arctan: (Function (SymbolTable 55 {_lpython_return_variable: (Variable 55 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 55 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__arctan [(Var 55 x)] [] [(= (Var 55 _lpython_return_variable) (FunctionCall 3 _lfortran_satan () [((Var 55 x))] (Real 4 []) () ()) ()) (Return)] (Var 55 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__cos: (Function (SymbolTable 11 {_lpython_return_variable: (Variable 11 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 11 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__cos [(Var 11 x)] [] [(= (Var 11 _lpython_return_variable) (FunctionCall 3 _lfortran_scos () [((Var 11 x))] (Real 4 []) () ()) ()) (Return)] (Var 11 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__cosh: (Function (SymbolTable 25 {_lpython_return_variable: (Variable 25 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 25 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__cosh [(Var 25 x)] [] [(= (Var 25 _lpython_return_variable) (FunctionCall 3 _lfortran_scosh () [((Var 25 x))] (Real 4 []) () ()) ()) (Return)] (Var 25 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__degrees: (Function (SymbolTable 57 {_lpython_return_variable: (Variable 57 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 57 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__degrees [(Var 57 x)] [] [(= (Var 57 _lpython_return_variable) (RealBinOp (RealBinOp (Var 57 x) Mul (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 4 []) ()) (Real 4 []) ()) Div (Var 3 pi_32) (Real 4 []) ()) ()) (Return)] (Var 57 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__exp: (Function (SymbolTable 51 {_lpython_return_variable: (Variable 51 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 51 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__exp [(Var 51 x)] [] [(= (Var 51 _lpython_return_variable) (FunctionCall 3 _lfortran_sexp () [((Var 51 x))] (Real 4 []) () ()) ()) (Return)] (Var 51 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__log: (Function (SymbolTable 29 {_lpython_return_variable: (Variable 29 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 29 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__log [(Var 29 x)] [] [(= (Var 29 _lpython_return_variable) (FunctionCall 3 _lfortran_slog () [((Var 29 x))] (Real 4 []) () ()) ()) (Return)] (Var 29 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__log10: (Function (SymbolTable 33 {_lpython_return_variable: (Variable 33 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 33 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__log10 [(Var 33 x)] [] [(= (Var 33 _lpython_return_variable) (FunctionCall 3 _lfortran_slog10 () [((Var 33 x))] (Real 4 []) () ()) ()) (Return)] (Var 33 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__log2: (Function (SymbolTable 35 {_lpython_return_variable: (Variable 35 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 35 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__log2 [(Var 35 x)] [] [(= (Var 35 _lpython_return_variable) (RealBinOp (FunctionCall 3 _lfortran_slog () [((Var 35 x))] (Real 4 []) () ()) Div (FunctionCall 3 _lfortran_slog () [((Cast (RealConstant 2.000000 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 2.000000 (Real 4 []))))] (Real 4 []) () ()) (Real 4 []) ()) ()) (Return)] (Var 35 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__radians: (Function (SymbolTable 59 {_lpython_return_variable: (Variable 59 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 59 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__radians [(Var 59 x)] [] [(= (Var 59 _lpython_return_variable) (RealBinOp (RealBinOp (Var 59 x) Mul (Var 3 pi_32) (Real 4 []) ()) Div (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 4 []) ()) (Real 4 []) ()) ()) (Return)] (Var 59 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__sin: (Function (SymbolTable 7 {_lpython_return_variable: (Variable 7 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 7 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__sin [(Var 7 x)] [] [(= (Var 7 _lpython_return_variable) (FunctionCall 3 _lfortran_ssin () [((Var 7 x))] (Real 4 []) () ()) ()) (Return)] (Var 7 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__sinh: (Function (SymbolTable 21 {_lpython_return_variable: (Variable 21 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 21 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__sinh [(Var 21 x)] [] [(= (Var 21 _lpython_return_variable) (FunctionCall 3 _lfortran_ssinh () [((Var 21 x))] (Real 4 []) () ()) ()) (Return)] (Var 21 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__sqrt: (Function (SymbolTable 13 {_lpython_return_variable: (Variable 13 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), result: (Variable 13 result Local () () Default (Real 4 []) Source Public Required .false.), x: (Variable 13 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__sqrt [(Var 13 x)] [] [(= (Var 13 result) (Cast (RealBinOp (Cast (Var 13 x) RealToReal (Real 8 []) ()) Pow (RealBinOp (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToReal (Real 8 []) ()) Div (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) (Real 8 []) ()) RealToReal (Real 4 []) ()) ()) (= (Var 13 _lpython_return_variable) (Var 13 result) ()) (Return)] (Var 13 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__tan: (Function (SymbolTable 17 {_lpython_return_variable: (Variable 17 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 17 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__tan [(Var 17 x)] [] [(= (Var 17 _lpython_return_variable) (FunctionCall 3 _lfortran_stan () [((Var 17 x))] (Real 4 []) () ()) ()) (Return)] (Var 17 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__tanh: (Function (SymbolTable 47 {_lpython_return_variable: (Variable 47 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 47 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__tanh [(Var 47 x)] [] [(= (Var 47 _lpython_return_variable) (FunctionCall 3 _lfortran_stanh () [((Var 47 x))] (Real 4 []) () ()) ()) (Return)] (Var 47 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), _lfortran_dacos: (Function (SymbolTable 40 {_lpython_return_variable: (Variable 40 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 40 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dacos [(Var 40 x)] [] [] (Var 40 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dasin: (Function (SymbolTable 36 {_lpython_return_variable: (Variable 36 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 36 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dasin [(Var 36 x)] [] [] (Var 36 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_datan: (Function (SymbolTable 52 {_lpython_return_variable: (Variable 52 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 52 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_datan [(Var 52 x)] [] [] (Var 52 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dcos: (Function (SymbolTable 8 {_lpython_return_variable: (Variable 8 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 8 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dcos [(Var 8 x)] [] [] (Var 8 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dcosh: (Function (SymbolTable 22 {_lpython_return_variable: (Variable 22 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 22 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dcosh [(Var 22 x)] [] [] (Var 22 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dexp: (Function (SymbolTable 48 {_lpython_return_variable: (Variable 48 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 48 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dexp [(Var 48 x)] [] [] (Var 48 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dlog: (Function (SymbolTable 26 {_lpython_return_variable: (Variable 26 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 26 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dlog [(Var 26 x)] [] [] (Var 26 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dlog10: (Function (SymbolTable 30 {_lpython_return_variable: (Variable 30 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 30 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dlog10 [(Var 30 x)] [] [] (Var 30 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dsin: (Function (SymbolTable 4 {_lpython_return_variable: (Variable 4 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 4 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dsin [(Var 4 x)] [] [] (Var 4 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dsinh: (Function (SymbolTable 18 {_lpython_return_variable: (Variable 18 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 18 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dsinh [(Var 18 x)] [] [] (Var 18 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dtan: (Function (SymbolTable 14 {_lpython_return_variable: (Variable 14 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 14 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dtan [(Var 14 x)] [] [] (Var 14 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dtanh: (Function (SymbolTable 44 {_lpython_return_variable: (Variable 44 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 44 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dtanh [(Var 44 x)] [] [] (Var 44 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_sacos: (Function (SymbolTable 42 {_lpython_return_variable: (Variable 42 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 42 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_sacos [(Var 42 x)] [] [] (Var 42 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_sasin: (Function (SymbolTable 38 {_lpython_return_variable: (Variable 38 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 38 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_sasin [(Var 38 x)] [] [] (Var 38 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_satan: (Function (SymbolTable 54 {_lpython_return_variable: (Variable 54 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 54 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_satan [(Var 54 x)] [] [] (Var 54 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_scos: (Function (SymbolTable 10 {_lpython_return_variable: (Variable 10 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 10 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_scos [(Var 10 x)] [] [] (Var 10 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_scosh: (Function (SymbolTable 24 {_lpython_return_variable: (Variable 24 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 24 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_scosh [(Var 24 x)] [] [] (Var 24 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_sexp: (Function (SymbolTable 50 {_lpython_return_variable: (Variable 50 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 50 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_sexp [(Var 50 x)] [] [] (Var 50 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_slog: (Function (SymbolTable 28 {_lpython_return_variable: (Variable 28 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 28 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_slog [(Var 28 x)] [] [] (Var 28 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_slog10: (Function (SymbolTable 32 {_lpython_return_variable: (Variable 32 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 32 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_slog10 [(Var 32 x)] [] [] (Var 32 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_ssin: (Function (SymbolTable 6 {_lpython_return_variable: (Variable 6 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 6 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_ssin [(Var 6 x)] [] [] (Var 6 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_ssinh: (Function (SymbolTable 20 {_lpython_return_variable: (Variable 20 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 20 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_ssinh [(Var 20 x)] [] [] (Var 20 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_stan: (Function (SymbolTable 16 {_lpython_return_variable: (Variable 16 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 16 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_stan [(Var 16 x)] [] [] (Var 16 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_stanh: (Function (SymbolTable 46 {_lpython_return_variable: (Variable 46 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 46 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_stanh [(Var 46 x)] [] [] (Var 46 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), arccos: (GenericProcedure 3 arccos [3 __lpython_overloaded_0__arccos 3 __lpython_overloaded_1__arccos] Public), arcsin: (GenericProcedure 3 arcsin [3 __lpython_overloaded_0__arcsin 3 __lpython_overloaded_1__arcsin] Public), arctan: (GenericProcedure 3 arctan [3 __lpython_overloaded_0__arctan 3 __lpython_overloaded_1__arctan] Public), cos: (GenericProcedure 3 cos [3 __lpython_overloaded_0__cos 3 __lpython_overloaded_1__cos] Public), cosh: (GenericProcedure 3 cosh [3 __lpython_overloaded_0__cosh 3 __lpython_overloaded_1__cosh] Public), degrees: (GenericProcedure 3 degrees [3 __lpython_overloaded_0__degrees 3 __lpython_overloaded_1__degrees] Public), exp: (GenericProcedure 3 exp [3 __lpython_overloaded_0__exp 3 __lpython_overloaded_1__exp] Public), log: (GenericProcedure 3 log [3 __lpython_overloaded_0__log 3 __lpython_overloaded_1__log] Public), log10: (GenericProcedure 3 log10 [3 __lpython_overloaded_0__log10 3 __lpython_overloaded_1__log10] Public), log2: (GenericProcedure 3 log2 [3 __lpython_overloaded_0__log2 3 __lpython_overloaded_1__log2] Public), pi_32: (Variable 3 pi_32 Local (Cast (RealConstant 3.141593 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 3.141593 (Real 4 []))) () Default (Real 4 []) Source Public Required .false.), pi_64: (Variable 3 pi_64 Local (RealConstant 3.141593 (Real 8 [])) () Default (Real 8 []) Source Public Required .false.), radians: (GenericProcedure 3 radians [3 __lpython_overloaded_0__radians 3 __lpython_overloaded_1__radians] Public), sin: (GenericProcedure 3 sin [3 __lpython_overloaded_0__sin 3 __lpython_overloaded_1__sin] Public), sinh: (GenericProcedure 3 sinh [3 __lpython_overloaded_0__sinh 3 __lpython_overloaded_1__sinh] Public), sqrt: (GenericProcedure 3 sqrt [3 __lpython_overloaded_0__sqrt 3 __lpython_overloaded_1__sqrt] Public), tan: (GenericProcedure 3 tan [3 __lpython_overloaded_0__tan 3 __lpython_overloaded_1__tan] Public), tanh: (GenericProcedure 3 tanh [3 __lpython_overloaded_0__tanh 3 __lpython_overloaded_1__tanh] Public)}) numpy [] .false. .false.)}) []) diff --git a/tests/reference/asr-array_02_decl-e8f6874.json b/tests/reference/asr-array_02_decl-e8f6874.json index bd4b58e821..a5f353339d 100644 --- a/tests/reference/asr-array_02_decl-e8f6874.json +++ b/tests/reference/asr-array_02_decl-e8f6874.json @@ -2,11 +2,11 @@ "basename": "asr-array_02_decl-e8f6874", "cmd": "lpython --show-asr --no-color {infile} -o {outfile}", "infile": "tests/../integration_tests/array_02_decl.py", - "infile_hash": "49bfd0530662b64164eb87c7e1bc53d518a7ccc75469dfb7ced80e5f", + "infile_hash": "a3cd5bb595c7768034df0496eadc70bdf484cd56eeb28fbe4b465b09", "outfile": null, "outfile_hash": null, "stdout": "asr-array_02_decl-e8f6874.stdout", - "stdout_hash": "f4d6d5213a91087f4c3542434b6b73f4d10c40f873b3b469bf298967", + "stdout_hash": "cecd7a33f29f74049dd90b9bc13f8005ad8f0db3cf2bd9ba26a0f3e5", "stderr": null, "stderr_hash": null, "returncode": 0 diff --git a/tests/reference/asr-array_02_decl-e8f6874.stdout b/tests/reference/asr-array_02_decl-e8f6874.stdout index d4eb7faba6..09c7c90642 100644 --- a/tests/reference/asr-array_02_decl-e8f6874.stdout +++ b/tests/reference/asr-array_02_decl-e8f6874.stdout @@ -1 +1 @@ -(TranslationUnit (SymbolTable 1 {_lpython_main_program: (Function (SymbolTable 66 {}) _lpython_main_program [] [] [(SubroutineCall 1 declare_arrays () [] ())] () Source Public Implementation () .false. .false. .false. .false.), accept_multidim_f32_array: (Function (SymbolTable 62 {_lpython_return_variable: (Variable 62 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), xf32: (Variable 62 xf32 InOut () () Default (Real 4 [(() ())]) Source Public Required .false.)}) accept_multidim_f32_array [(Var 62 xf32)] [] [(= (Var 62 _lpython_return_variable) (ArrayItem (Var 62 xf32) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Real 4 []) ()) ()) (Return)] (Var 62 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_multidim_f64_array: (Function (SymbolTable 63 {_lpython_return_variable: (Variable 63 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), xf64: (Variable 63 xf64 InOut () () Default (Real 8 [(() ()) (() ())]) Source Public Required .false.)}) accept_multidim_f64_array [(Var 63 xf64)] [] [(= (Var 63 _lpython_return_variable) (ArrayItem (Var 63 xf64) [(() (IntegerConstant 0 (Integer 4 [])) ()) (() (IntegerConstant 1 (Integer 4 [])) ())] (Real 8 []) ()) ()) (Return)] (Var 63 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_multidim_i32_array: (Function (SymbolTable 60 {_lpython_return_variable: (Variable 60 _lpython_return_variable ReturnVar () () Default (Integer 4 []) Source Public Required .false.), xi32: (Variable 60 xi32 InOut () () Default (Integer 4 [(() ()) (() ())]) Source Public Required .false.)}) accept_multidim_i32_array [(Var 60 xi32)] [] [(= (Var 60 _lpython_return_variable) (ArrayItem (Var 60 xi32) [(() (IntegerConstant 0 (Integer 4 [])) ()) (() (IntegerConstant 0 (Integer 4 [])) ())] (Integer 4 []) ()) ()) (Return)] (Var 60 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_multidim_i64_array: (Function (SymbolTable 61 {_lpython_return_variable: (Variable 61 _lpython_return_variable ReturnVar () () Default (Integer 8 []) Source Public Required .false.), xi64: (Variable 61 xi64 InOut () () Default (Integer 8 [(() ()) (() ()) (() ())]) Source Public Required .false.)}) accept_multidim_i64_array [(Var 61 xi64)] [] [(= (Var 61 _lpython_return_variable) (ArrayItem (Var 61 xi64) [(() (IntegerConstant 9 (Integer 4 [])) ()) (() (IntegerConstant 9 (Integer 4 [])) ()) (() (IntegerConstant 9 (Integer 4 [])) ())] (Integer 8 []) ()) ()) (Return)] (Var 61 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), declare_arrays: (Function (SymbolTable 64 {ac32: (Variable 64 ac32 Local () () Default (Complex 4 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 5 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 99 (Integer 4 [])))]) Source Public Required .false.), ac64: (Variable 64 ac64 Local () () Default (Complex 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 13 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 11 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 16 (Integer 4 [])))]) Source Public Required .false.), af32: (Variable 64 af32 Local () () Default (Real 4 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 [])))]) Source Public Required .false.), af64: (Variable 64 af64 Local () () Default (Real 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 4 (Integer 4 [])))]) Source Public Required .false.), ai32: (Variable 64 ai32 Local () () Default (Integer 4 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 [])))]) Source Public Required .false.), ai64: (Variable 64 ai64 Local () () Default (Integer 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 [])))]) Source Public Required .false.)}) declare_arrays [] [] [(Print () [(FunctionCall 1 accept_multidim_i32_array () [((Var 64 ai32))] (Integer 4 []) () ())] () ()) (Print () [(FunctionCall 1 accept_multidim_i64_array () [((Var 64 ai64))] (Integer 8 []) () ())] () ()) (Print () [(FunctionCall 1 accept_multidim_f32_array () [((Var 64 af32))] (Real 4 []) () ())] () ()) (Print () [(FunctionCall 1 accept_multidim_f64_array () [((Var 64 af64))] (Real 8 []) () ())] () ())] () Source Public Implementation () .false. .false. .false. .false.), main_program: (Program (SymbolTable 65 {}) main_program [] [(SubroutineCall 1 _lpython_main_program () [] ())]), numpy: (Module (SymbolTable 3 {__lpython_overloaded_0__arccos: (Function (SymbolTable 41 {_lpython_return_variable: (Variable 41 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 41 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__arccos [(Var 41 x)] [] [(= (Var 41 _lpython_return_variable) (FunctionCall 3 _lfortran_dacos () [((Var 41 x))] (Real 8 []) () ()) ()) (Return)] (Var 41 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__arcsin: (Function (SymbolTable 37 {_lpython_return_variable: (Variable 37 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 37 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__arcsin [(Var 37 x)] [] [(= (Var 37 _lpython_return_variable) (FunctionCall 3 _lfortran_dasin () [((Var 37 x))] (Real 8 []) () ()) ()) (Return)] (Var 37 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__arctan: (Function (SymbolTable 53 {_lpython_return_variable: (Variable 53 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 53 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__arctan [(Var 53 x)] [] [(= (Var 53 _lpython_return_variable) (FunctionCall 3 _lfortran_datan () [((Var 53 x))] (Real 8 []) () ()) ()) (Return)] (Var 53 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__cos: (Function (SymbolTable 9 {_lpython_return_variable: (Variable 9 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 9 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__cos [(Var 9 x)] [] [(= (Var 9 _lpython_return_variable) (FunctionCall 3 _lfortran_dcos () [((Var 9 x))] (Real 8 []) () ()) ()) (Return)] (Var 9 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__cosh: (Function (SymbolTable 23 {_lpython_return_variable: (Variable 23 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 23 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__cosh [(Var 23 x)] [] [(= (Var 23 _lpython_return_variable) (FunctionCall 3 _lfortran_dcosh () [((Var 23 x))] (Real 8 []) () ()) ()) (Return)] (Var 23 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__degrees: (Function (SymbolTable 56 {_lpython_return_variable: (Variable 56 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 56 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__degrees [(Var 56 x)] [] [(= (Var 56 _lpython_return_variable) (RealBinOp (RealBinOp (Var 56 x) Mul (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) Div (Var 3 pi_64) (Real 8 []) ()) ()) (Return)] (Var 56 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__exp: (Function (SymbolTable 49 {_lpython_return_variable: (Variable 49 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 49 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__exp [(Var 49 x)] [] [(= (Var 49 _lpython_return_variable) (FunctionCall 3 _lfortran_dexp () [((Var 49 x))] (Real 8 []) () ()) ()) (Return)] (Var 49 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__log: (Function (SymbolTable 27 {_lpython_return_variable: (Variable 27 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 27 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__log [(Var 27 x)] [] [(= (Var 27 _lpython_return_variable) (FunctionCall 3 _lfortran_dlog () [((Var 27 x))] (Real 8 []) () ()) ()) (Return)] (Var 27 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__log10: (Function (SymbolTable 31 {_lpython_return_variable: (Variable 31 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 31 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__log10 [(Var 31 x)] [] [(= (Var 31 _lpython_return_variable) (FunctionCall 3 _lfortran_dlog10 () [((Var 31 x))] (Real 8 []) () ()) ()) (Return)] (Var 31 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__log2: (Function (SymbolTable 34 {_lpython_return_variable: (Variable 34 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 34 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__log2 [(Var 34 x)] [] [(= (Var 34 _lpython_return_variable) (RealBinOp (FunctionCall 3 _lfortran_dlog () [((Var 34 x))] (Real 8 []) () ()) Div (FunctionCall 3 _lfortran_dlog () [((RealConstant 2.000000 (Real 8 [])))] (Real 8 []) () ()) (Real 8 []) ()) ()) (Return)] (Var 34 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__radians: (Function (SymbolTable 58 {_lpython_return_variable: (Variable 58 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 58 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__radians [(Var 58 x)] [] [(= (Var 58 _lpython_return_variable) (RealBinOp (RealBinOp (Var 58 x) Mul (Var 3 pi_64) (Real 8 []) ()) Div (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) ()) (Return)] (Var 58 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__sin: (Function (SymbolTable 5 {_lpython_return_variable: (Variable 5 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 5 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__sin [(Var 5 x)] [] [(= (Var 5 _lpython_return_variable) (FunctionCall 3 _lfortran_dsin () [((Var 5 x))] (Real 8 []) () ()) ()) (Return)] (Var 5 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__sinh: (Function (SymbolTable 19 {_lpython_return_variable: (Variable 19 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 19 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__sinh [(Var 19 x)] [] [(= (Var 19 _lpython_return_variable) (FunctionCall 3 _lfortran_dsinh () [((Var 19 x))] (Real 8 []) () ()) ()) (Return)] (Var 19 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__sqrt: (Function (SymbolTable 12 {_lpython_return_variable: (Variable 12 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 12 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__sqrt [(Var 12 x)] [] [(= (Var 12 _lpython_return_variable) (RealBinOp (Var 12 x) Pow (RealBinOp (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToReal (Real 8 []) ()) Div (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) (Real 8 []) ()) ()) (Return)] (Var 12 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__tan: (Function (SymbolTable 15 {_lpython_return_variable: (Variable 15 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 15 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__tan [(Var 15 x)] [] [(= (Var 15 _lpython_return_variable) (FunctionCall 3 _lfortran_dtan () [((Var 15 x))] (Real 8 []) () ()) ()) (Return)] (Var 15 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__tanh: (Function (SymbolTable 45 {_lpython_return_variable: (Variable 45 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 45 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__tanh [(Var 45 x)] [] [(= (Var 45 _lpython_return_variable) (FunctionCall 3 _lfortran_dtanh () [((Var 45 x))] (Real 8 []) () ()) ()) (Return)] (Var 45 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__arccos: (Function (SymbolTable 43 {_lpython_return_variable: (Variable 43 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 43 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__arccos [(Var 43 x)] [] [(= (Var 43 _lpython_return_variable) (FunctionCall 3 _lfortran_sacos () [((Var 43 x))] (Real 4 []) () ()) ()) (Return)] (Var 43 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__arcsin: (Function (SymbolTable 39 {_lpython_return_variable: (Variable 39 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 39 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__arcsin [(Var 39 x)] [] [(= (Var 39 _lpython_return_variable) (FunctionCall 3 _lfortran_sasin () [((Var 39 x))] (Real 4 []) () ()) ()) (Return)] (Var 39 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__arctan: (Function (SymbolTable 55 {_lpython_return_variable: (Variable 55 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 55 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__arctan [(Var 55 x)] [] [(= (Var 55 _lpython_return_variable) (FunctionCall 3 _lfortran_satan () [((Var 55 x))] (Real 4 []) () ()) ()) (Return)] (Var 55 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__cos: (Function (SymbolTable 11 {_lpython_return_variable: (Variable 11 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 11 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__cos [(Var 11 x)] [] [(= (Var 11 _lpython_return_variable) (FunctionCall 3 _lfortran_scos () [((Var 11 x))] (Real 4 []) () ()) ()) (Return)] (Var 11 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__cosh: (Function (SymbolTable 25 {_lpython_return_variable: (Variable 25 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 25 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__cosh [(Var 25 x)] [] [(= (Var 25 _lpython_return_variable) (FunctionCall 3 _lfortran_scosh () [((Var 25 x))] (Real 4 []) () ()) ()) (Return)] (Var 25 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__degrees: (Function (SymbolTable 57 {_lpython_return_variable: (Variable 57 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 57 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__degrees [(Var 57 x)] [] [(= (Var 57 _lpython_return_variable) (RealBinOp (RealBinOp (Var 57 x) Mul (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 4 []) ()) (Real 4 []) ()) Div (Var 3 pi_32) (Real 4 []) ()) ()) (Return)] (Var 57 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__exp: (Function (SymbolTable 51 {_lpython_return_variable: (Variable 51 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 51 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__exp [(Var 51 x)] [] [(= (Var 51 _lpython_return_variable) (FunctionCall 3 _lfortran_sexp () [((Var 51 x))] (Real 4 []) () ()) ()) (Return)] (Var 51 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__log: (Function (SymbolTable 29 {_lpython_return_variable: (Variable 29 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 29 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__log [(Var 29 x)] [] [(= (Var 29 _lpython_return_variable) (FunctionCall 3 _lfortran_slog () [((Var 29 x))] (Real 4 []) () ()) ()) (Return)] (Var 29 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__log10: (Function (SymbolTable 33 {_lpython_return_variable: (Variable 33 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 33 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__log10 [(Var 33 x)] [] [(= (Var 33 _lpython_return_variable) (FunctionCall 3 _lfortran_slog10 () [((Var 33 x))] (Real 4 []) () ()) ()) (Return)] (Var 33 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__log2: (Function (SymbolTable 35 {_lpython_return_variable: (Variable 35 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 35 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__log2 [(Var 35 x)] [] [(= (Var 35 _lpython_return_variable) (RealBinOp (FunctionCall 3 _lfortran_slog () [((Var 35 x))] (Real 4 []) () ()) Div (FunctionCall 3 _lfortran_slog () [((Cast (RealConstant 2.000000 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 2.000000 (Real 4 []))))] (Real 4 []) () ()) (Real 4 []) ()) ()) (Return)] (Var 35 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__radians: (Function (SymbolTable 59 {_lpython_return_variable: (Variable 59 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 59 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__radians [(Var 59 x)] [] [(= (Var 59 _lpython_return_variable) (RealBinOp (RealBinOp (Var 59 x) Mul (Var 3 pi_32) (Real 4 []) ()) Div (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 4 []) ()) (Real 4 []) ()) ()) (Return)] (Var 59 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__sin: (Function (SymbolTable 7 {_lpython_return_variable: (Variable 7 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 7 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__sin [(Var 7 x)] [] [(= (Var 7 _lpython_return_variable) (FunctionCall 3 _lfortran_ssin () [((Var 7 x))] (Real 4 []) () ()) ()) (Return)] (Var 7 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__sinh: (Function (SymbolTable 21 {_lpython_return_variable: (Variable 21 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 21 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__sinh [(Var 21 x)] [] [(= (Var 21 _lpython_return_variable) (FunctionCall 3 _lfortran_ssinh () [((Var 21 x))] (Real 4 []) () ()) ()) (Return)] (Var 21 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__sqrt: (Function (SymbolTable 13 {_lpython_return_variable: (Variable 13 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), result: (Variable 13 result Local () () Default (Real 4 []) Source Public Required .false.), x: (Variable 13 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__sqrt [(Var 13 x)] [] [(= (Var 13 result) (Cast (RealBinOp (Cast (Var 13 x) RealToReal (Real 8 []) ()) Pow (RealBinOp (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToReal (Real 8 []) ()) Div (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) (Real 8 []) ()) RealToReal (Real 4 []) ()) ()) (= (Var 13 _lpython_return_variable) (Var 13 result) ()) (Return)] (Var 13 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__tan: (Function (SymbolTable 17 {_lpython_return_variable: (Variable 17 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 17 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__tan [(Var 17 x)] [] [(= (Var 17 _lpython_return_variable) (FunctionCall 3 _lfortran_stan () [((Var 17 x))] (Real 4 []) () ()) ()) (Return)] (Var 17 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__tanh: (Function (SymbolTable 47 {_lpython_return_variable: (Variable 47 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 47 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__tanh [(Var 47 x)] [] [(= (Var 47 _lpython_return_variable) (FunctionCall 3 _lfortran_stanh () [((Var 47 x))] (Real 4 []) () ()) ()) (Return)] (Var 47 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), _lfortran_dacos: (Function (SymbolTable 40 {_lpython_return_variable: (Variable 40 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 40 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dacos [(Var 40 x)] [] [] (Var 40 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dasin: (Function (SymbolTable 36 {_lpython_return_variable: (Variable 36 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 36 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dasin [(Var 36 x)] [] [] (Var 36 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_datan: (Function (SymbolTable 52 {_lpython_return_variable: (Variable 52 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 52 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_datan [(Var 52 x)] [] [] (Var 52 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dcos: (Function (SymbolTable 8 {_lpython_return_variable: (Variable 8 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 8 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dcos [(Var 8 x)] [] [] (Var 8 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dcosh: (Function (SymbolTable 22 {_lpython_return_variable: (Variable 22 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 22 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dcosh [(Var 22 x)] [] [] (Var 22 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dexp: (Function (SymbolTable 48 {_lpython_return_variable: (Variable 48 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 48 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dexp [(Var 48 x)] [] [] (Var 48 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dlog: (Function (SymbolTable 26 {_lpython_return_variable: (Variable 26 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 26 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dlog [(Var 26 x)] [] [] (Var 26 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dlog10: (Function (SymbolTable 30 {_lpython_return_variable: (Variable 30 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 30 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dlog10 [(Var 30 x)] [] [] (Var 30 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dsin: (Function (SymbolTable 4 {_lpython_return_variable: (Variable 4 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 4 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dsin [(Var 4 x)] [] [] (Var 4 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dsinh: (Function (SymbolTable 18 {_lpython_return_variable: (Variable 18 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 18 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dsinh [(Var 18 x)] [] [] (Var 18 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dtan: (Function (SymbolTable 14 {_lpython_return_variable: (Variable 14 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 14 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dtan [(Var 14 x)] [] [] (Var 14 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dtanh: (Function (SymbolTable 44 {_lpython_return_variable: (Variable 44 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 44 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dtanh [(Var 44 x)] [] [] (Var 44 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_sacos: (Function (SymbolTable 42 {_lpython_return_variable: (Variable 42 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 42 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_sacos [(Var 42 x)] [] [] (Var 42 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_sasin: (Function (SymbolTable 38 {_lpython_return_variable: (Variable 38 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 38 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_sasin [(Var 38 x)] [] [] (Var 38 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_satan: (Function (SymbolTable 54 {_lpython_return_variable: (Variable 54 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 54 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_satan [(Var 54 x)] [] [] (Var 54 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_scos: (Function (SymbolTable 10 {_lpython_return_variable: (Variable 10 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 10 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_scos [(Var 10 x)] [] [] (Var 10 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_scosh: (Function (SymbolTable 24 {_lpython_return_variable: (Variable 24 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 24 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_scosh [(Var 24 x)] [] [] (Var 24 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_sexp: (Function (SymbolTable 50 {_lpython_return_variable: (Variable 50 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 50 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_sexp [(Var 50 x)] [] [] (Var 50 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_slog: (Function (SymbolTable 28 {_lpython_return_variable: (Variable 28 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 28 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_slog [(Var 28 x)] [] [] (Var 28 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_slog10: (Function (SymbolTable 32 {_lpython_return_variable: (Variable 32 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 32 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_slog10 [(Var 32 x)] [] [] (Var 32 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_ssin: (Function (SymbolTable 6 {_lpython_return_variable: (Variable 6 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 6 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_ssin [(Var 6 x)] [] [] (Var 6 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_ssinh: (Function (SymbolTable 20 {_lpython_return_variable: (Variable 20 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 20 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_ssinh [(Var 20 x)] [] [] (Var 20 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_stan: (Function (SymbolTable 16 {_lpython_return_variable: (Variable 16 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 16 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_stan [(Var 16 x)] [] [] (Var 16 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_stanh: (Function (SymbolTable 46 {_lpython_return_variable: (Variable 46 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 46 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_stanh [(Var 46 x)] [] [] (Var 46 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), arccos: (GenericProcedure 3 arccos [3 __lpython_overloaded_0__arccos 3 __lpython_overloaded_1__arccos] Public), arcsin: (GenericProcedure 3 arcsin [3 __lpython_overloaded_0__arcsin 3 __lpython_overloaded_1__arcsin] Public), arctan: (GenericProcedure 3 arctan [3 __lpython_overloaded_0__arctan 3 __lpython_overloaded_1__arctan] Public), cos: (GenericProcedure 3 cos [3 __lpython_overloaded_0__cos 3 __lpython_overloaded_1__cos] Public), cosh: (GenericProcedure 3 cosh [3 __lpython_overloaded_0__cosh 3 __lpython_overloaded_1__cosh] Public), degrees: (GenericProcedure 3 degrees [3 __lpython_overloaded_0__degrees 3 __lpython_overloaded_1__degrees] Public), exp: (GenericProcedure 3 exp [3 __lpython_overloaded_0__exp 3 __lpython_overloaded_1__exp] Public), log: (GenericProcedure 3 log [3 __lpython_overloaded_0__log 3 __lpython_overloaded_1__log] Public), log10: (GenericProcedure 3 log10 [3 __lpython_overloaded_0__log10 3 __lpython_overloaded_1__log10] Public), log2: (GenericProcedure 3 log2 [3 __lpython_overloaded_0__log2 3 __lpython_overloaded_1__log2] Public), pi_32: (Variable 3 pi_32 Local (Cast (RealConstant 3.141593 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 3.141593 (Real 4 []))) () Default (Real 4 []) Source Public Required .false.), pi_64: (Variable 3 pi_64 Local (RealConstant 3.141593 (Real 8 [])) () Default (Real 8 []) Source Public Required .false.), radians: (GenericProcedure 3 radians [3 __lpython_overloaded_0__radians 3 __lpython_overloaded_1__radians] Public), sin: (GenericProcedure 3 sin [3 __lpython_overloaded_0__sin 3 __lpython_overloaded_1__sin] Public), sinh: (GenericProcedure 3 sinh [3 __lpython_overloaded_0__sinh 3 __lpython_overloaded_1__sinh] Public), sqrt: (GenericProcedure 3 sqrt [3 __lpython_overloaded_0__sqrt 3 __lpython_overloaded_1__sqrt] Public), tan: (GenericProcedure 3 tan [3 __lpython_overloaded_0__tan 3 __lpython_overloaded_1__tan] Public), tanh: (GenericProcedure 3 tanh [3 __lpython_overloaded_0__tanh 3 __lpython_overloaded_1__tanh] Public)}) numpy [] .false. .false.)}) []) +(TranslationUnit (SymbolTable 1 {_lpython_main_program: (Function (SymbolTable 68 {}) _lpython_main_program [] [] [(SubroutineCall 1 declare_arrays () [] ())] () Source Public Implementation () .false. .false. .false. .false.), accept_multidim_f32_array: (Function (SymbolTable 63 {_lpython_return_variable: (Variable 63 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), xf32: (Variable 63 xf32 InOut () () Default (Real 4 [(() ())]) Source Public Required .false.)}) accept_multidim_f32_array [(Var 63 xf32)] [] [(= (Var 63 _lpython_return_variable) (ArrayItem (Var 63 xf32) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Real 4 []) ()) ()) (Return)] (Var 63 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_multidim_f64_array: (Function (SymbolTable 64 {_lpython_return_variable: (Variable 64 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), xf64: (Variable 64 xf64 InOut () () Default (Real 8 [(() ()) (() ())]) Source Public Required .false.)}) accept_multidim_f64_array [(Var 64 xf64)] [] [(= (Var 64 _lpython_return_variable) (ArrayItem (Var 64 xf64) [(() (IntegerConstant 0 (Integer 4 [])) ()) (() (IntegerConstant 1 (Integer 4 [])) ())] (Real 8 []) ()) ()) (Return)] (Var 64 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_multidim_f64_array_return_float: (Function (SymbolTable 65 {_lpython_return_variable: (Variable 65 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), xf64: (Variable 65 xf64 InOut () () Default (Real 8 [(() ()) (() ())]) Source Public Required .false.)}) accept_multidim_f64_array_return_float [(Var 65 xf64)] [] [(= (Var 65 _lpython_return_variable) (ArrayItem (Var 65 xf64) [(() (IntegerConstant 0 (Integer 4 [])) ()) (() (IntegerConstant 1 (Integer 4 [])) ())] (Real 8 []) ()) ()) (Return)] (Var 65 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_multidim_i32_array: (Function (SymbolTable 60 {_lpython_return_variable: (Variable 60 _lpython_return_variable ReturnVar () () Default (Integer 4 []) Source Public Required .false.), xi32: (Variable 60 xi32 InOut () () Default (Integer 4 [(() ()) (() ())]) Source Public Required .false.)}) accept_multidim_i32_array [(Var 60 xi32)] [] [(= (Var 60 _lpython_return_variable) (ArrayItem (Var 60 xi32) [(() (IntegerConstant 0 (Integer 4 [])) ()) (() (IntegerConstant 0 (Integer 4 [])) ())] (Integer 4 []) ()) ()) (Return)] (Var 60 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_multidim_i64_array: (Function (SymbolTable 61 {_lpython_return_variable: (Variable 61 _lpython_return_variable ReturnVar () () Default (Integer 8 []) Source Public Required .false.), xi64: (Variable 61 xi64 InOut () () Default (Integer 8 [(() ()) (() ()) (() ())]) Source Public Required .false.)}) accept_multidim_i64_array [(Var 61 xi64)] [] [(= (Var 61 _lpython_return_variable) (ArrayItem (Var 61 xi64) [(() (IntegerConstant 9 (Integer 4 [])) ()) (() (IntegerConstant 9 (Integer 4 [])) ()) (() (IntegerConstant 9 (Integer 4 [])) ())] (Integer 8 []) ()) ()) (Return)] (Var 61 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), accept_multidim_i64_array_return_int: (Function (SymbolTable 62 {_lpython_return_variable: (Variable 62 _lpython_return_variable ReturnVar () () Default (Integer 8 []) Source Public Required .false.), xi64: (Variable 62 xi64 InOut () () Default (Integer 8 [(() ()) (() ()) (() ())]) Source Public Required .false.)}) accept_multidim_i64_array_return_int [(Var 62 xi64)] [] [(= (Var 62 _lpython_return_variable) (ArrayItem (Var 62 xi64) [(() (IntegerConstant 9 (Integer 4 [])) ()) (() (IntegerConstant 9 (Integer 4 [])) ()) (() (IntegerConstant 9 (Integer 4 [])) ())] (Integer 8 []) ()) ()) (Return)] (Var 62 _lpython_return_variable) Source Public Implementation () .false. .false. .false. .false.), declare_arrays: (Function (SymbolTable 66 {ac32: (Variable 66 ac32 Local () () Default (Complex 4 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 5 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 99 (Integer 4 [])))]) Source Public Required .false.), ac64: (Variable 66 ac64 Local () () Default (Complex 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 13 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 11 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 16 (Integer 4 [])))]) Source Public Required .false.), af32: (Variable 66 af32 Local () () Default (Real 4 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 [])))]) Source Public Required .false.), af64: (Variable 66 af64 Local () () Default (Real 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 4 (Integer 4 [])))]) Source Public Required .false.), ai32: (Variable 66 ai32 Local () () Default (Integer 4 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 3 (Integer 4 [])))]) Source Public Required .false.), ai64: (Variable 66 ai64 Local () () Default (Integer 8 [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 []))) ((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 10 (Integer 4 [])))]) Source Public Required .false.)}) declare_arrays [] [] [(Print () [(FunctionCall 1 accept_multidim_i32_array () [((Var 66 ai32))] (Integer 4 []) () ())] () ()) (Print () [(FunctionCall 1 accept_multidim_i64_array () [((Var 66 ai64))] (Integer 8 []) () ())] () ()) (Print () [(FunctionCall 1 accept_multidim_i64_array_return_int () [((Var 66 ai64))] (Integer 8 []) () ())] () ()) (Print () [(FunctionCall 1 accept_multidim_f32_array () [((Var 66 af32))] (Real 4 []) () ())] () ()) (Print () [(FunctionCall 1 accept_multidim_f64_array () [((Var 66 af64))] (Real 8 []) () ())] () ()) (Print () [(FunctionCall 1 accept_multidim_f64_array_return_float () [((Var 66 af64))] (Real 8 []) () ())] () ())] () Source Public Implementation () .false. .false. .false. .false.), main_program: (Program (SymbolTable 67 {}) main_program [] [(SubroutineCall 1 _lpython_main_program () [] ())]), numpy: (Module (SymbolTable 3 {__lpython_overloaded_0__arccos: (Function (SymbolTable 41 {_lpython_return_variable: (Variable 41 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 41 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__arccos [(Var 41 x)] [] [(= (Var 41 _lpython_return_variable) (FunctionCall 3 _lfortran_dacos () [((Var 41 x))] (Real 8 []) () ()) ()) (Return)] (Var 41 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__arcsin: (Function (SymbolTable 37 {_lpython_return_variable: (Variable 37 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 37 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__arcsin [(Var 37 x)] [] [(= (Var 37 _lpython_return_variable) (FunctionCall 3 _lfortran_dasin () [((Var 37 x))] (Real 8 []) () ()) ()) (Return)] (Var 37 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__arctan: (Function (SymbolTable 53 {_lpython_return_variable: (Variable 53 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 53 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__arctan [(Var 53 x)] [] [(= (Var 53 _lpython_return_variable) (FunctionCall 3 _lfortran_datan () [((Var 53 x))] (Real 8 []) () ()) ()) (Return)] (Var 53 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__cos: (Function (SymbolTable 9 {_lpython_return_variable: (Variable 9 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 9 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__cos [(Var 9 x)] [] [(= (Var 9 _lpython_return_variable) (FunctionCall 3 _lfortran_dcos () [((Var 9 x))] (Real 8 []) () ()) ()) (Return)] (Var 9 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__cosh: (Function (SymbolTable 23 {_lpython_return_variable: (Variable 23 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 23 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__cosh [(Var 23 x)] [] [(= (Var 23 _lpython_return_variable) (FunctionCall 3 _lfortran_dcosh () [((Var 23 x))] (Real 8 []) () ()) ()) (Return)] (Var 23 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__degrees: (Function (SymbolTable 56 {_lpython_return_variable: (Variable 56 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 56 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__degrees [(Var 56 x)] [] [(= (Var 56 _lpython_return_variable) (RealBinOp (RealBinOp (Var 56 x) Mul (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) Div (Var 3 pi_64) (Real 8 []) ()) ()) (Return)] (Var 56 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__exp: (Function (SymbolTable 49 {_lpython_return_variable: (Variable 49 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 49 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__exp [(Var 49 x)] [] [(= (Var 49 _lpython_return_variable) (FunctionCall 3 _lfortran_dexp () [((Var 49 x))] (Real 8 []) () ()) ()) (Return)] (Var 49 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__log: (Function (SymbolTable 27 {_lpython_return_variable: (Variable 27 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 27 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__log [(Var 27 x)] [] [(= (Var 27 _lpython_return_variable) (FunctionCall 3 _lfortran_dlog () [((Var 27 x))] (Real 8 []) () ()) ()) (Return)] (Var 27 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__log10: (Function (SymbolTable 31 {_lpython_return_variable: (Variable 31 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 31 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__log10 [(Var 31 x)] [] [(= (Var 31 _lpython_return_variable) (FunctionCall 3 _lfortran_dlog10 () [((Var 31 x))] (Real 8 []) () ()) ()) (Return)] (Var 31 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__log2: (Function (SymbolTable 34 {_lpython_return_variable: (Variable 34 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 34 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__log2 [(Var 34 x)] [] [(= (Var 34 _lpython_return_variable) (RealBinOp (FunctionCall 3 _lfortran_dlog () [((Var 34 x))] (Real 8 []) () ()) Div (FunctionCall 3 _lfortran_dlog () [((RealConstant 2.000000 (Real 8 [])))] (Real 8 []) () ()) (Real 8 []) ()) ()) (Return)] (Var 34 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__radians: (Function (SymbolTable 58 {_lpython_return_variable: (Variable 58 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 58 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__radians [(Var 58 x)] [] [(= (Var 58 _lpython_return_variable) (RealBinOp (RealBinOp (Var 58 x) Mul (Var 3 pi_64) (Real 8 []) ()) Div (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) ()) (Return)] (Var 58 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__sin: (Function (SymbolTable 5 {_lpython_return_variable: (Variable 5 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 5 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__sin [(Var 5 x)] [] [(= (Var 5 _lpython_return_variable) (FunctionCall 3 _lfortran_dsin () [((Var 5 x))] (Real 8 []) () ()) ()) (Return)] (Var 5 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__sinh: (Function (SymbolTable 19 {_lpython_return_variable: (Variable 19 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 19 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__sinh [(Var 19 x)] [] [(= (Var 19 _lpython_return_variable) (FunctionCall 3 _lfortran_dsinh () [((Var 19 x))] (Real 8 []) () ()) ()) (Return)] (Var 19 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__sqrt: (Function (SymbolTable 12 {_lpython_return_variable: (Variable 12 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 12 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__sqrt [(Var 12 x)] [] [(= (Var 12 _lpython_return_variable) (RealBinOp (Var 12 x) Pow (RealBinOp (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToReal (Real 8 []) ()) Div (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) (Real 8 []) ()) ()) (Return)] (Var 12 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__tan: (Function (SymbolTable 15 {_lpython_return_variable: (Variable 15 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 15 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__tan [(Var 15 x)] [] [(= (Var 15 _lpython_return_variable) (FunctionCall 3 _lfortran_dtan () [((Var 15 x))] (Real 8 []) () ()) ()) (Return)] (Var 15 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_0__tanh: (Function (SymbolTable 45 {_lpython_return_variable: (Variable 45 _lpython_return_variable ReturnVar () () Default (Real 8 []) Source Public Required .false.), x: (Variable 45 x In () () Default (Real 8 []) Source Public Required .false.)}) __lpython_overloaded_0__tanh [(Var 45 x)] [] [(= (Var 45 _lpython_return_variable) (FunctionCall 3 _lfortran_dtanh () [((Var 45 x))] (Real 8 []) () ()) ()) (Return)] (Var 45 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__arccos: (Function (SymbolTable 43 {_lpython_return_variable: (Variable 43 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 43 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__arccos [(Var 43 x)] [] [(= (Var 43 _lpython_return_variable) (FunctionCall 3 _lfortran_sacos () [((Var 43 x))] (Real 4 []) () ()) ()) (Return)] (Var 43 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__arcsin: (Function (SymbolTable 39 {_lpython_return_variable: (Variable 39 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 39 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__arcsin [(Var 39 x)] [] [(= (Var 39 _lpython_return_variable) (FunctionCall 3 _lfortran_sasin () [((Var 39 x))] (Real 4 []) () ()) ()) (Return)] (Var 39 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__arctan: (Function (SymbolTable 55 {_lpython_return_variable: (Variable 55 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 55 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__arctan [(Var 55 x)] [] [(= (Var 55 _lpython_return_variable) (FunctionCall 3 _lfortran_satan () [((Var 55 x))] (Real 4 []) () ()) ()) (Return)] (Var 55 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__cos: (Function (SymbolTable 11 {_lpython_return_variable: (Variable 11 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 11 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__cos [(Var 11 x)] [] [(= (Var 11 _lpython_return_variable) (FunctionCall 3 _lfortran_scos () [((Var 11 x))] (Real 4 []) () ()) ()) (Return)] (Var 11 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__cosh: (Function (SymbolTable 25 {_lpython_return_variable: (Variable 25 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 25 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__cosh [(Var 25 x)] [] [(= (Var 25 _lpython_return_variable) (FunctionCall 3 _lfortran_scosh () [((Var 25 x))] (Real 4 []) () ()) ()) (Return)] (Var 25 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__degrees: (Function (SymbolTable 57 {_lpython_return_variable: (Variable 57 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 57 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__degrees [(Var 57 x)] [] [(= (Var 57 _lpython_return_variable) (RealBinOp (RealBinOp (Var 57 x) Mul (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 4 []) ()) (Real 4 []) ()) Div (Var 3 pi_32) (Real 4 []) ()) ()) (Return)] (Var 57 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__exp: (Function (SymbolTable 51 {_lpython_return_variable: (Variable 51 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 51 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__exp [(Var 51 x)] [] [(= (Var 51 _lpython_return_variable) (FunctionCall 3 _lfortran_sexp () [((Var 51 x))] (Real 4 []) () ()) ()) (Return)] (Var 51 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__log: (Function (SymbolTable 29 {_lpython_return_variable: (Variable 29 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 29 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__log [(Var 29 x)] [] [(= (Var 29 _lpython_return_variable) (FunctionCall 3 _lfortran_slog () [((Var 29 x))] (Real 4 []) () ()) ()) (Return)] (Var 29 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__log10: (Function (SymbolTable 33 {_lpython_return_variable: (Variable 33 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 33 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__log10 [(Var 33 x)] [] [(= (Var 33 _lpython_return_variable) (FunctionCall 3 _lfortran_slog10 () [((Var 33 x))] (Real 4 []) () ()) ()) (Return)] (Var 33 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__log2: (Function (SymbolTable 35 {_lpython_return_variable: (Variable 35 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 35 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__log2 [(Var 35 x)] [] [(= (Var 35 _lpython_return_variable) (RealBinOp (FunctionCall 3 _lfortran_slog () [((Var 35 x))] (Real 4 []) () ()) Div (FunctionCall 3 _lfortran_slog () [((Cast (RealConstant 2.000000 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 2.000000 (Real 4 []))))] (Real 4 []) () ()) (Real 4 []) ()) ()) (Return)] (Var 35 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__radians: (Function (SymbolTable 59 {_lpython_return_variable: (Variable 59 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 59 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__radians [(Var 59 x)] [] [(= (Var 59 _lpython_return_variable) (RealBinOp (RealBinOp (Var 59 x) Mul (Var 3 pi_32) (Real 4 []) ()) Div (Cast (IntegerConstant 180 (Integer 4 [])) IntegerToReal (Real 4 []) ()) (Real 4 []) ()) ()) (Return)] (Var 59 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__sin: (Function (SymbolTable 7 {_lpython_return_variable: (Variable 7 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 7 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__sin [(Var 7 x)] [] [(= (Var 7 _lpython_return_variable) (FunctionCall 3 _lfortran_ssin () [((Var 7 x))] (Real 4 []) () ()) ()) (Return)] (Var 7 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__sinh: (Function (SymbolTable 21 {_lpython_return_variable: (Variable 21 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 21 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__sinh [(Var 21 x)] [] [(= (Var 21 _lpython_return_variable) (FunctionCall 3 _lfortran_ssinh () [((Var 21 x))] (Real 4 []) () ()) ()) (Return)] (Var 21 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__sqrt: (Function (SymbolTable 13 {_lpython_return_variable: (Variable 13 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), result: (Variable 13 result Local () () Default (Real 4 []) Source Public Required .false.), x: (Variable 13 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__sqrt [(Var 13 x)] [] [(= (Var 13 result) (Cast (RealBinOp (Cast (Var 13 x) RealToReal (Real 8 []) ()) Pow (RealBinOp (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToReal (Real 8 []) ()) Div (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToReal (Real 8 []) ()) (Real 8 []) ()) (Real 8 []) ()) RealToReal (Real 4 []) ()) ()) (= (Var 13 _lpython_return_variable) (Var 13 result) ()) (Return)] (Var 13 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__tan: (Function (SymbolTable 17 {_lpython_return_variable: (Variable 17 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 17 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__tan [(Var 17 x)] [] [(= (Var 17 _lpython_return_variable) (FunctionCall 3 _lfortran_stan () [((Var 17 x))] (Real 4 []) () ()) ()) (Return)] (Var 17 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), __lpython_overloaded_1__tanh: (Function (SymbolTable 47 {_lpython_return_variable: (Variable 47 _lpython_return_variable ReturnVar () () Default (Real 4 []) Source Public Required .false.), x: (Variable 47 x In () () Default (Real 4 []) Source Public Required .false.)}) __lpython_overloaded_1__tanh [(Var 47 x)] [] [(= (Var 47 _lpython_return_variable) (FunctionCall 3 _lfortran_stanh () [((Var 47 x))] (Real 4 []) () ()) ()) (Return)] (Var 47 _lpython_return_variable) Source Public Implementation () .true. .false. .false. .false.), _lfortran_dacos: (Function (SymbolTable 40 {_lpython_return_variable: (Variable 40 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 40 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dacos [(Var 40 x)] [] [] (Var 40 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dasin: (Function (SymbolTable 36 {_lpython_return_variable: (Variable 36 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 36 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dasin [(Var 36 x)] [] [] (Var 36 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_datan: (Function (SymbolTable 52 {_lpython_return_variable: (Variable 52 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 52 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_datan [(Var 52 x)] [] [] (Var 52 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dcos: (Function (SymbolTable 8 {_lpython_return_variable: (Variable 8 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 8 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dcos [(Var 8 x)] [] [] (Var 8 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dcosh: (Function (SymbolTable 22 {_lpython_return_variable: (Variable 22 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 22 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dcosh [(Var 22 x)] [] [] (Var 22 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dexp: (Function (SymbolTable 48 {_lpython_return_variable: (Variable 48 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 48 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dexp [(Var 48 x)] [] [] (Var 48 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dlog: (Function (SymbolTable 26 {_lpython_return_variable: (Variable 26 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 26 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dlog [(Var 26 x)] [] [] (Var 26 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dlog10: (Function (SymbolTable 30 {_lpython_return_variable: (Variable 30 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 30 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dlog10 [(Var 30 x)] [] [] (Var 30 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dsin: (Function (SymbolTable 4 {_lpython_return_variable: (Variable 4 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 4 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dsin [(Var 4 x)] [] [] (Var 4 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dsinh: (Function (SymbolTable 18 {_lpython_return_variable: (Variable 18 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 18 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dsinh [(Var 18 x)] [] [] (Var 18 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dtan: (Function (SymbolTable 14 {_lpython_return_variable: (Variable 14 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 14 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dtan [(Var 14 x)] [] [] (Var 14 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_dtanh: (Function (SymbolTable 44 {_lpython_return_variable: (Variable 44 _lpython_return_variable ReturnVar () () Default (Real 8 []) BindC Public Required .false.), x: (Variable 44 x In () () Default (Real 8 []) BindC Public Required .true.)}) _lfortran_dtanh [(Var 44 x)] [] [] (Var 44 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_sacos: (Function (SymbolTable 42 {_lpython_return_variable: (Variable 42 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 42 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_sacos [(Var 42 x)] [] [] (Var 42 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_sasin: (Function (SymbolTable 38 {_lpython_return_variable: (Variable 38 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 38 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_sasin [(Var 38 x)] [] [] (Var 38 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_satan: (Function (SymbolTable 54 {_lpython_return_variable: (Variable 54 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 54 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_satan [(Var 54 x)] [] [] (Var 54 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_scos: (Function (SymbolTable 10 {_lpython_return_variable: (Variable 10 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 10 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_scos [(Var 10 x)] [] [] (Var 10 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_scosh: (Function (SymbolTable 24 {_lpython_return_variable: (Variable 24 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 24 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_scosh [(Var 24 x)] [] [] (Var 24 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_sexp: (Function (SymbolTable 50 {_lpython_return_variable: (Variable 50 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 50 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_sexp [(Var 50 x)] [] [] (Var 50 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_slog: (Function (SymbolTable 28 {_lpython_return_variable: (Variable 28 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 28 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_slog [(Var 28 x)] [] [] (Var 28 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_slog10: (Function (SymbolTable 32 {_lpython_return_variable: (Variable 32 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 32 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_slog10 [(Var 32 x)] [] [] (Var 32 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_ssin: (Function (SymbolTable 6 {_lpython_return_variable: (Variable 6 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 6 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_ssin [(Var 6 x)] [] [] (Var 6 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_ssinh: (Function (SymbolTable 20 {_lpython_return_variable: (Variable 20 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 20 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_ssinh [(Var 20 x)] [] [] (Var 20 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_stan: (Function (SymbolTable 16 {_lpython_return_variable: (Variable 16 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 16 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_stan [(Var 16 x)] [] [] (Var 16 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), _lfortran_stanh: (Function (SymbolTable 46 {_lpython_return_variable: (Variable 46 _lpython_return_variable ReturnVar () () Default (Real 4 []) BindC Public Required .false.), x: (Variable 46 x In () () Default (Real 4 []) BindC Public Required .true.)}) _lfortran_stanh [(Var 46 x)] [] [] (Var 46 _lpython_return_variable) BindC Public Interface () .false. .false. .false. .false.), arccos: (GenericProcedure 3 arccos [3 __lpython_overloaded_0__arccos 3 __lpython_overloaded_1__arccos] Public), arcsin: (GenericProcedure 3 arcsin [3 __lpython_overloaded_0__arcsin 3 __lpython_overloaded_1__arcsin] Public), arctan: (GenericProcedure 3 arctan [3 __lpython_overloaded_0__arctan 3 __lpython_overloaded_1__arctan] Public), cos: (GenericProcedure 3 cos [3 __lpython_overloaded_0__cos 3 __lpython_overloaded_1__cos] Public), cosh: (GenericProcedure 3 cosh [3 __lpython_overloaded_0__cosh 3 __lpython_overloaded_1__cosh] Public), degrees: (GenericProcedure 3 degrees [3 __lpython_overloaded_0__degrees 3 __lpython_overloaded_1__degrees] Public), exp: (GenericProcedure 3 exp [3 __lpython_overloaded_0__exp 3 __lpython_overloaded_1__exp] Public), log: (GenericProcedure 3 log [3 __lpython_overloaded_0__log 3 __lpython_overloaded_1__log] Public), log10: (GenericProcedure 3 log10 [3 __lpython_overloaded_0__log10 3 __lpython_overloaded_1__log10] Public), log2: (GenericProcedure 3 log2 [3 __lpython_overloaded_0__log2 3 __lpython_overloaded_1__log2] Public), pi_32: (Variable 3 pi_32 Local (Cast (RealConstant 3.141593 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 3.141593 (Real 4 []))) () Default (Real 4 []) Source Public Required .false.), pi_64: (Variable 3 pi_64 Local (RealConstant 3.141593 (Real 8 [])) () Default (Real 8 []) Source Public Required .false.), radians: (GenericProcedure 3 radians [3 __lpython_overloaded_0__radians 3 __lpython_overloaded_1__radians] Public), sin: (GenericProcedure 3 sin [3 __lpython_overloaded_0__sin 3 __lpython_overloaded_1__sin] Public), sinh: (GenericProcedure 3 sinh [3 __lpython_overloaded_0__sinh 3 __lpython_overloaded_1__sinh] Public), sqrt: (GenericProcedure 3 sqrt [3 __lpython_overloaded_0__sqrt 3 __lpython_overloaded_1__sqrt] Public), tan: (GenericProcedure 3 tan [3 __lpython_overloaded_0__tan 3 __lpython_overloaded_1__tan] Public), tanh: (GenericProcedure 3 tanh [3 __lpython_overloaded_0__tanh 3 __lpython_overloaded_1__tanh] Public)}) numpy [] .false. .false.)}) []) From 8336f96d0dec306687cb66b4a0d95444c813d261 Mon Sep 17 00:00:00 2001 From: Gagandeep Singh Date: Wed, 7 Sep 2022 09:58:39 +0530 Subject: [PATCH 5/7] Support float, int with arrays in CPython --- src/runtime/ltypes/ltypes.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/runtime/ltypes/ltypes.py b/src/runtime/ltypes/ltypes.py index 0fd925ea29..4aa591bb24 100644 --- a/src/runtime/ltypes/ltypes.py +++ b/src/runtime/ltypes/ltypes.py @@ -8,7 +8,10 @@ # TODO: this does not seem to restrict other imports __slots__ = ["i8", "i16", "i32", "i64", "f32", "f64", "c32", "c64", "CPtr", "overload", "ccall", "TypeVar", "pointer", "c_p_pointer", "Pointer", - "p_c_pointer", "vectorize", "inline"] + "p_c_pointer", "vectorize", "inline", "float", "int"] + +py_float = type(0.1) +py_int = type(1) # data-types @@ -19,6 +22,12 @@ def __init__(self, name): def __getitem__(self, params): return Array(self, params) + def __call__(self, arg): + if self._name == "float": + return py_float(arg) + elif self._name == "int": + return py_int(arg) + class Pointer: def __getitem__(self, type): return type @@ -37,6 +46,8 @@ def __init__(self, type, dims): c32 = Type("c32") c64 = Type("c64") CPtr = Type("c_ptr") +int = Type("int") +float = Type("float") # Restrictions @@ -63,9 +74,9 @@ def ltype(x): """ Converts CPython types to LPython types """ - if type(x) == int: + if type(x) == py_int: return i32, i64 - elif type(x) == float: + elif type(x) == py_float: return f32, f64 elif type(x) == complex: return c32, c64 From e7ca35aa592d0112cbe5bd787ffcf730744773ae Mon Sep 17 00:00:00 2001 From: Gagandeep Singh Date: Wed, 7 Sep 2022 09:59:01 +0530 Subject: [PATCH 6/7] Update tests and their references --- integration_tests/array_01_decl.py | 2 +- integration_tests/array_expr_02.py | 2 +- tests/reference/asr-array_01_decl-39cf894.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/integration_tests/array_01_decl.py b/integration_tests/array_01_decl.py index b78dc9c2fa..3acc64dce7 100644 --- a/integration_tests/array_01_decl.py +++ b/integration_tests/array_01_decl.py @@ -1,4 +1,4 @@ -from ltypes import i32, i64, f32, f64, c32, c64 +from ltypes import i32, i64, f32, f64, c32, c64, int, float from numpy import empty def accept_i32_array(xi32: i32[:]) -> i32: diff --git a/integration_tests/array_expr_02.py b/integration_tests/array_expr_02.py index 8a2e8cfd03..34750a8a7b 100644 --- a/integration_tests/array_expr_02.py +++ b/integration_tests/array_expr_02.py @@ -1,4 +1,4 @@ -from ltypes import i32, f32, TypeVar +from ltypes import i32, f32, TypeVar, float from numpy import empty, sqrt, float32 n: i32 diff --git a/tests/reference/asr-array_01_decl-39cf894.json b/tests/reference/asr-array_01_decl-39cf894.json index 291b8d7ffe..8d814ca32d 100644 --- a/tests/reference/asr-array_01_decl-39cf894.json +++ b/tests/reference/asr-array_01_decl-39cf894.json @@ -2,7 +2,7 @@ "basename": "asr-array_01_decl-39cf894", "cmd": "lpython --show-asr --no-color {infile} -o {outfile}", "infile": "tests/../integration_tests/array_01_decl.py", - "infile_hash": "e42041d333ece1938a4829e84891c08925de76890483a9b55638f172", + "infile_hash": "aff2044be01be58d46846039e73055f75af986a6b927c110b46028c8", "outfile": null, "outfile_hash": null, "stdout": "asr-array_01_decl-39cf894.stdout", From 303d8dcc048d1a183f269e92f0c4c0bb114722d6 Mon Sep 17 00:00:00 2001 From: Gagandeep Singh Date: Wed, 7 Sep 2022 10:00:41 +0530 Subject: [PATCH 7/7] Raise exception for calling any type other than float and int --- src/runtime/ltypes/ltypes.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/runtime/ltypes/ltypes.py b/src/runtime/ltypes/ltypes.py index 4aa591bb24..b85dda0cd1 100644 --- a/src/runtime/ltypes/ltypes.py +++ b/src/runtime/ltypes/ltypes.py @@ -27,6 +27,8 @@ def __call__(self, arg): return py_float(arg) elif self._name == "int": return py_int(arg) + raise Exception("Type: %s cannot be called" % str(self._name)) + class Pointer: def __getitem__(self, type):