This is an automated email from the ASF dual-hosted git repository.

cmeier pushed a commit to branch 
revert-14800-arthur/clojure-ndarray-api-random-merged
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git

commit 95d624d5d7badd7d3450c6cfc1f8398eb83c723f
Author: Carin Meier <[email protected]>
AuthorDate: Fri Apr 26 13:32:09 2019 -0400

    Revert "[clojure][generator] ndarray/symbol api random merged (#14800)"
    
    This reverts commit 5dd9fa27d8bdd2a8677b7c275a494d17082c0e1c.
---
 contrib/clojure-package/src/dev/generator.clj      | 298 +++++++--------------
 .../src/org/apache/clojure_mxnet/ndarray_api.clj   |   8 +-
 .../apache/clojure_mxnet/ndarray_random_api.clj    |  28 --
 .../org/apache/clojure_mxnet/symbol_random_api.clj |  32 ---
 .../clojure-package/test/dev/generator_test.clj    |  47 +---
 .../test/good-test-ndarray-random-api.clj          |  95 -------
 .../test/good-test-symbol-random-api.clj           | 118 --------
 .../test/test-ndarray-random-api.clj               |  95 -------
 .../test/test-symbol-random-api.clj                | 118 --------
 9 files changed, 108 insertions(+), 731 deletions(-)

diff --git a/contrib/clojure-package/src/dev/generator.clj 
b/contrib/clojure-package/src/dev/generator.clj
index d1f59dc..864c67f 100644
--- a/contrib/clojure-package/src/dev/generator.clj
+++ b/contrib/clojure-package/src/dev/generator.clj
@@ -29,7 +29,6 @@
 
 
 (defn clojure-case
-  "Transforms a scala string (function name) to clojure case"
   [string]
   (-> string
       (clojure.string/replace #"(\s+)([A-Z][a-z]+)" "$1-$2")
@@ -58,9 +57,10 @@
        count
        pos?))
 
+
 (defn increment-param-name [pname]
   (if-let [num-str (re-find #"-\d" pname)]
-    (str
+    (str 
      (first (clojure.string/split pname #"-"))
      "-"
      (inc (Integer/parseInt (last (clojure.string/split num-str #"-")))))
@@ -130,33 +130,15 @@
       (.write w fstr))
     (.write w "\n"))))
 
-(defn remove-prefix
-  [prefix s]
-  (let [regex (re-pattern (str prefix "(.*)"))
-        replacement "$1"]
-  (clojure.string/replace s regex replacement)))
-
-(defn in-namespace-random? [op-name]
-  (or (clojure.string/includes? op-name "random_")
-      (clojure.string/includes? op-name "sample_")))
-
-(defn op-name->namespace-type [op-name]
-  (cond
-    (#{"uniform" "normal"} op-name)              :deprecated
-    (clojure.string/includes? op-name "random_") :random
-    (clojure.string/includes? op-name "sample_") :random
-    :else                                        :core))
-
 ;;;;;;; Common operations
 
 (def libinfo (Base/_LIB))
-
 (def op-names
   (let [l ($ ListBuffer/empty)]
-    (.mxListAllOpNames libinfo l)
-    (->> l
-         (util/buffer->vec)
-         (remove #(or (= "Custom" %) (re-matches #"^_.*" %))))))
+    (do (.mxListAllOpNames libinfo l)
+        (remove #(or (= "Custom" %)
+                     (re-matches #"^_.*" %))
+                (util/buffer->vec l)))))
 
 (defn- parse-arg-type [s]
   (let [[_ var-arg-type _ set-arg-type arg-spec _ type-req _ default-val] 
(re-find 
#"(([\w-\[\]\s]+)|\{([^}]+)\})\s*(\([^)]+\))?(,\s*(optional|required)(,\s*default=(.*))?)?"
 s)]
@@ -306,6 +288,8 @@
      `(~'defn ~function-name
        ~@(remove nil? (gen-symbol-function-arity op-name op-values 
function-name))))))
 
+
+
 (def symbol-gen-ns "(ns org.apache.clojure-mxnet.symbol
   (:refer-clojure :exclude [* - + > >= < <= / cast concat identity flatten 
load max
                             min repeat reverse set sort take to-array empty sin
@@ -316,9 +300,7 @@
 
 (defn generate-symbol-file []
   (println "Generating symbol file")
-  (write-to-file all-symbol-functions
-                 symbol-gen-ns
-                 "src/org/apache/clojure_mxnet/gen/symbol.clj"))
+  (write-to-file all-symbol-functions symbol-gen-ns 
"src/org/apache/clojure_mxnet/gen/symbol.clj"))
 
 ;;;;;;; NDArray
 
@@ -340,17 +322,21 @@
        count
        pos?))
 
+
 (def ndarray-public-to-hand-gen
   (filter is-ndarray-hand-gen? ndarray-public-no-default))
 (def ndarray-public-to-gen
   (get-public-to-gen-methods ndarray-public-to-hand-gen
                              ndarray-public-no-default))
 
+
 (count ndarray-public-to-hand-gen) ;=> 15
 (count ndarray-public-to-gen) ;=> 486
 
 (->> ndarray-public-to-hand-gen (map :name) (into #{}))
 
+
+
 (defn gen-ndarray-function-arity [op-name op-values]
   (for [[param-count info] op-values]
     (let [targets (->> (mapv :parameter-types info)
@@ -394,8 +380,7 @@
 (def all-ndarray-functions
   (gen-ndarray-functions ndarray-public-to-gen))
 
-(def ndarray-gen-ns
-  "(ns org.apache.clojure-mxnet.ndarray
+(def ndarray-gen-ns "(ns org.apache.clojure-mxnet.ndarray
   (:refer-clojure :exclude [* - + > >= < <= / cast concat flatten identity 
load max
                             min repeat reverse set sort take to-array empty 
shuffle
                             ref])
@@ -410,17 +395,6 @@
 
 ;;;;;;; SymbolAPI
 
-(defn fn-name->random-fn-name
-  [fn-name]
-  (cond
-    (clojure.string/starts-with? fn-name "-random-")
-    (remove-prefix "-random-" fn-name)
-
-    (clojure.string/starts-with? fn-name "-sample-")
-    (str (remove-prefix "-sample-" fn-name) "-like")
-
-    :else fn-name))
-
 (defn symbol-api-coerce-param
   [{:keys [name sym type optional?]}]
   (let [coerced-param (case type
@@ -461,80 +435,47 @@
        (~(symbol (str "SymbolAPI/" op-name))
         ~@coerced-params)))))
 
-(defn symbol-api-gen-ns
-  [random-namespace?]
-  (str
-    "(ns\n"
-    "  ^{:doc \"Experimental\"}\n"
-    (if random-namespace?
-      "  org.apache.clojure-mxnet.symbol-random-api\n"
-      "  org.apache.clojure-mxnet.symbol-api\n")
-    "  (:refer-clojure :exclude [* - + > >= < <= / cast concat identity 
flatten load max\n"
-    "                            min repeat reverse set sort take to-array 
empty sin\n"
-    "                            get apply shuffle ref])\n"
-    "  (:require [org.apache.clojure-mxnet.util :as util]\n"
-    "            [org.apache.clojure-mxnet.shape :as mx-shape])\n"
-    "  (:import (org.apache.mxnet SymbolAPI)))"))
-
-(defn make-gen-symbol-api-function
-  [{:keys [fn-name->fn-name] :or {fn-name->fn-name identity}}]
-  (fn [op-name]
-    (let [{:keys [fn-name fn-description args]}
-          (-> op-name (gen-op-info) (update :fn-name fn-name->fn-name))
-          params (mapv (fn [{:keys [name type optional?] :as opts}]
-                         (assoc opts
-                                :sym (symbol name)
-                                :optional? (or optional?
-                                               (= "NDArray-or-Symbol" type))))
-                       (conj args
-                             {:name "name"
-                              :type "String"
-                              :optional? true
-                              :description "Name of the symbol"}
-                             {:name "attr"
-                              :type "Map[String, String]"
-                              :optional? true
-                              :description "Attributes of the symbol"}))
-          doc (clojure.string/join
-                "\n\n  "
-                (-> (gen-symbol-api-doc fn-description params)
-                    (clojure.string/split #"\n")))
-          default-call (gen-symbol-api-default-arity op-name params)]
-      `(~'defn ~(symbol fn-name)
-         ~doc
-         ~@default-call))))
-
-(def gen-symbol-api-function
-  (make-gen-symbol-api-function {}))
-
-(def gen-symbol-random-api-function
-  (make-gen-symbol-api-function {:fn-name->fn-name fn-name->random-fn-name}))
-
-(defn all-symbol-api-functions [op-names]
-  (->> op-names
-       (filter #(= :core (op-name->namespace-type %)))
-       (mapv gen-symbol-api-function)))
-
-(count (all-symbol-api-functions op-names)) ;215
-
-(defn all-symbol-random-api-functions [op-names]
-  (->> op-names
-       (filter #(= :random (op-name->namespace-type %)))
-       (mapv gen-symbol-random-api-function)))
-
-(count (all-symbol-random-api-functions op-names)) ;16
+(defn gen-symbol-api-function [op-name]
+  (let [{:keys [fn-name fn-description args]} (gen-op-info op-name)
+        params (mapv (fn [{:keys [name type optional?] :as opts}]
+                       (assoc opts
+                              :sym (symbol name)
+                              :optional? (or optional?
+                                             (= "NDArray-or-Symbol" type))))
+                     (conj args
+                           {:name "name"
+                            :type "String"
+                            :optional? true
+                            :description "Name of the symbol"}
+                           {:name "attr"
+                            :type "Map[String, String]"
+                            :optional? true
+                            :description "Attributes of the symbol"}))
+        doc (clojure.string/join
+             "\n\n  "
+             (-> (gen-symbol-api-doc fn-description params)
+                 (clojure.string/split #"\n")))
+        default-call (gen-symbol-api-default-arity op-name params)]
+    `(~'defn ~(symbol fn-name)
+      ~doc
+      ~@default-call)))
+
+(def all-symbol-api-functions
+  (mapv gen-symbol-api-function op-names))
+
+(def symbol-api-gen-ns "(ns
+  ^{:doc \"Experimental\"}
+  org.apache.clojure-mxnet.symbol-api
+  (:refer-clojure :exclude [* - + > >= < <= / cast concat identity flatten 
load max
+                            min repeat reverse set sort take to-array empty sin
+                            get apply shuffle ref])
+  (:require [org.apache.clojure-mxnet.util :as util]
+            [org.apache.clojure-mxnet.shape :as mx-shape])
+  (:import (org.apache.mxnet SymbolAPI)))")
 
-(defn generate-symbol-api-file [op-names]
+(defn generate-symbol-api-file []
   (println "Generating symbol-api file")
-  (write-to-file (all-symbol-api-functions op-names)
-                 (symbol-api-gen-ns false)
-                 "src/org/apache/clojure_mxnet/gen/symbol_api.clj"))
-
-(defn generate-symbol-random-api-file [op-names]
-  (println "Generating symbol-random-api file")
-  (write-to-file (all-symbol-random-api-functions op-names)
-                 (symbol-api-gen-ns true)
-                 "src/org/apache/clojure_mxnet/gen/symbol_random_api.clj"))
+  (write-to-file all-symbol-api-functions symbol-api-gen-ns 
"src/org/apache/clojure_mxnet/gen/symbol_api.clj"))
 
 ;;;;;;; NDArrayAPI
 
@@ -578,94 +519,57 @@
     `(~(mapv :sym req-params)
       (~(symbol fn-name) ~req-args))))
 
-(defn make-gen-ndarray-api-function
-  [{:keys [fn-name->fn-name] :or {fn-name->fn-name identity}}]
-  (fn [op-name]
-    (let [{:keys [fn-name fn-description args]}
-          (-> op-name (gen-op-info) (update :fn-name fn-name->fn-name))
-          params (mapv (fn [{:keys [name] :as opts}]
-                         (assoc opts :sym (symbol name)))
-                       (conj args {:name "out"
-                                   :type "NDArray-or-Symbol"
-                                   :optional? true
-                                   :description "Output array."}))
-          doc (clojure.string/join
-                "\n\n  "
-                (-> (gen-ndarray-api-doc fn-description params)
-                    (clojure.string/split #"\n")))
-          opt-params (filter :optional? params)
-          req-params (remove :optional? params)
-          req-call (gen-ndarray-api-required-arity fn-name req-params)
-          default-call (gen-ndarray-api-default-arity op-name params)]
-      (if (= 1 (count req-params))
-        `(~'defn ~(symbol fn-name)
-           ~doc
-           ~@default-call)
-        `(~'defn ~(symbol fn-name)
-           ~doc
-           ~req-call
-           ~default-call)))))
-
-(def gen-ndarray-api-function
-  (make-gen-ndarray-api-function {}))
-
-(def gen-ndarray-random-api-function
-  (make-gen-ndarray-api-function {:fn-name->fn-name fn-name->random-fn-name}))
-
-(defn all-ndarray-api-functions [op-names]
-  (->> op-names
-       (filter #(= :core (op-name->namespace-type %)))
-       (mapv gen-ndarray-api-function)))
-
-(count (all-ndarray-api-functions op-names)) ; 213
-
-(defn all-ndarray-random-api-functions [op-names]
-  (->> op-names
-       (filter #(= :random (op-name->namespace-type %)))
-       (mapv gen-ndarray-random-api-function)))
-
-(count (all-ndarray-random-api-functions op-names)) ;16
-
-(defn ndarray-api-gen-ns [random-namespace?]
-  (str
-    "(ns\n"
-    "  ^{:doc \"Experimental\"}\n"
-    (if random-namespace?
-      "  org.apache.clojure-mxnet.ndarray-random-api\n"
-      "  org.apache.clojure-mxnet.ndarray-api\n")
-    "  (:refer-clojure :exclude [* - + > >= < <= / cast concat flatten 
identity load max\n"
-    "                            min repeat reverse set sort take to-array 
empty shuffle\n"
-    "                            ref])\n"
-    "  (:require [org.apache.clojure-mxnet.shape :as mx-shape]\n"
-    "            [org.apache.clojure-mxnet.util :as util])\n"
-    "  (:import (org.apache.mxnet NDArrayAPI)))"))
-
-(defn generate-ndarray-api-file [op-names]
-  (println "Generating ndarray-api file")
-  (write-to-file (all-ndarray-api-functions op-names)
-                 (ndarray-api-gen-ns false)
-                 "src/org/apache/clojure_mxnet/gen/ndarray_api.clj"))
+(defn gen-ndarray-api-function [op-name]
+  (let [{:keys [fn-name fn-description args]} (gen-op-info op-name)
+        params (mapv (fn [{:keys [name] :as opts}]
+                       (assoc opts :sym (symbol name)))
+                     (conj args {:name "out"
+                                 :type "NDArray-or-Symbol"
+                                 :optional? true
+                                 :description "Output array."}))
+        doc (clojure.string/join
+             "\n\n  "
+             (-> (gen-ndarray-api-doc fn-description params)
+                 (clojure.string/split #"\n")))
+        opt-params (filter :optional? params)
+        req-params (remove :optional? params)
+        req-call (gen-ndarray-api-required-arity fn-name req-params)
+        default-call (gen-ndarray-api-default-arity op-name params)]
+    (if (= 1 (count req-params))
+      `(~'defn ~(symbol fn-name)
+        ~doc
+        ~@default-call)
+      `(~'defn ~(symbol fn-name)
+        ~doc
+        ~req-call
+        ~default-call))))
+
+(def all-ndarray-api-functions
+  (mapv gen-ndarray-api-function op-names))
+
+(def ndarray-api-gen-ns "(ns
+  ^{:doc \"Experimental\"}
+  org.apache.clojure-mxnet.ndarray-api
+  (:refer-clojure :exclude [* - + > >= < <= / cast concat flatten identity 
load max
+                            min repeat reverse set sort take to-array empty 
shuffle
+                            ref])
+  (:require [org.apache.clojure-mxnet.shape :as mx-shape]
+            [org.apache.clojure-mxnet.util :as util])
+  (:import (org.apache.mxnet NDArrayAPI)))")
 
-(defn generate-ndarray-random-api-file [op-names]
-  (println "Generating ndarray-random-api file")
-  (write-to-file (all-ndarray-random-api-functions op-names)
-                 (ndarray-api-gen-ns true)
-                 "src/org/apache/clojure_mxnet/gen/ndarray_random_api.clj"))
 
+(defn generate-ndarray-api-file []
+  (println "Generating ndarray-api file")
+  (write-to-file all-ndarray-api-functions
+                 ndarray-api-gen-ns
+                 "src/org/apache/clojure_mxnet/gen/ndarray_api.clj"))
 
 ;;; autogen the files
 (do
   (generate-ndarray-file)
-
-  ;; NDArrayAPI
-  (generate-ndarray-api-file op-names)
-  (generate-ndarray-random-api-file op-names)
-
+  (generate-ndarray-api-file)
   (generate-symbol-file)
-
-  ;; SymbolAPI
-  (generate-symbol-api-file op-names)
-  (generate-symbol-random-api-file op-names))
+  (generate-symbol-api-file))
 
 
 (comment
@@ -676,14 +580,8 @@
 
   (gen-symbol-api-function "Activation")
 
-  (gen-ndarray-random-api-function "random_randint")
-
-  (gen-ndarray-random-api-function "sample_normal")
-
-  (gen-symbol-random-api-function "random_poisson")
-
   ;; This generates a file with the bulk of the nd-array functions
   (generate-ndarray-file)
 
   ;; This generates a file with the bulk of the symbol functions
-  (generate-symbol-file))
+  (generate-symbol-file)  )
diff --git 
a/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_api.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_api.clj
index e222775..70359a6 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_api.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_api.clj
@@ -16,10 +16,10 @@
 
 (ns org.apache.clojure-mxnet.ndarray-api
   "Experimental NDArray API"
-  (:refer-clojure
-    :exclude [* - + > >= < <= / cast concat flatten identity load max
-              min repeat reverse set sort take to-array empty shuffle
-              ref])
+  (:refer-clojure :exclude [* - + > >= < <= / cast concat flatten identity 
load max
+                            min repeat reverse set sort take to-array empty 
shuffle
+                            ref])
+
   (:require [org.apache.clojure-mxnet.base :as base]
             [org.apache.clojure-mxnet.context :as mx-context]
             [org.apache.clojure-mxnet.shape :as mx-shape]
diff --git 
a/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_random_api.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_random_api.clj
deleted file mode 100644
index 1f45b6d..0000000
--- 
a/contrib/clojure-package/src/org/apache/clojure_mxnet/ndarray_random_api.clj
+++ /dev/null
@@ -1,28 +0,0 @@
-;; Licensed to the Apache Software Foundation (ASF) under one or more
-;; contributor license agreements.  See the NOTICE file distributed with
-;; this work for additional information regarding copyright ownership.
-;; The ASF licenses this file to You under the Apache License, Version 2.0
-;; (the "License"); you may not use this file except in compliance with
-;; the License.  You may obtain a copy of the License at
-;;
-;;    http://www.apache.org/licenses/LICENSE-2.0
-;;
-;; Unless required by applicable law or agreed to in writing, software
-;; distributed under the License is distributed on an "AS IS" BASIS,
-;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-;; See the License for the specific language governing permissions and
-;; limitations under the License.
-;;
-
-(ns org.apache.clojure-mxnet.ndarray-random-api
-  "Experimental NDArray Random API"
-  (:require [org.apache.clojure-mxnet.base :as base]
-            [org.apache.clojure-mxnet.context :as mx-context]
-            [org.apache.clojure-mxnet.shape :as mx-shape]
-            [org.apache.clojure-mxnet.util :as util]
-            [clojure.reflect :as r]
-            [t6.from-scala.core :refer [$] :as $])
-  (:import (org.apache.mxnet NDArrayAPI)))
-
-;; loads the generated functions into the namespace
-(do (clojure.core/load "gen/ndarray_random_api"))
diff --git 
a/contrib/clojure-package/src/org/apache/clojure_mxnet/symbol_random_api.clj 
b/contrib/clojure-package/src/org/apache/clojure_mxnet/symbol_random_api.clj
deleted file mode 100644
index 76f6fde..0000000
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/symbol_random_api.clj
+++ /dev/null
@@ -1,32 +0,0 @@
-;; Licensed to the Apache Software Foundation (ASF) under one or more
-;; contributor license agreements.  See the NOTICE file distributed with
-;; this work for additional information regarding copyright ownership.
-;; The ASF licenses this file to You under the Apache License, Version 2.0
-;; (the "License"); you may not use this file except in compliance with
-;; the License.  You may obtain a copy of the License at
-;;
-;;    http://www.apache.org/licenses/LICENSE-2.0
-;;
-;; Unless required by applicable law or agreed to in writing, software
-;; distributed under the License is distributed on an "AS IS" BASIS,
-;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-;; See the License for the specific language governing permissions and
-;; limitations under the License.
-;;
-
-(ns org.apache.clojure-mxnet.symbol-random-api
-  "Experimental Symbol Random API"
-  (:refer-clojure :exclude [* - + > >= < <= / cast concat identity flatten 
load max
-                            min repeat reverse set sort take to-array empty sin
-                            get apply shuffle ref])
-  (:require [org.apache.clojure-mxnet.base :as base]
-            [org.apache.clojure-mxnet.context :as mx-context]
-            [org.apache.clojure-mxnet.executor :as ex]
-            [org.apache.clojure-mxnet.shape :as mx-shape]
-            [org.apache.clojure-mxnet.util :as util]
-            [t6.from-scala.core :refer [$] :as $]
-            [org.apache.clojure-mxnet.ndarray :as ndarray])
-  (:import (org.apache.mxnet SymbolAPI)))
-
-;; loads the generated functions into the namespace
-(do (clojure.core/load "gen/symbol_random_api"))
diff --git a/contrib/clojure-package/test/dev/generator_test.clj 
b/contrib/clojure-package/test/dev/generator_test.clj
index acc81af..cf28241 100644
--- a/contrib/clojure-package/test/dev/generator_test.clj
+++ b/contrib/clojure-package/test/dev/generator_test.clj
@@ -27,20 +27,6 @@
   (is (= "foo-bar" (gen/clojure-case "Foo_Bar")))
   (is (= "div+" (gen/clojure-case "/+"))))
 
-(deftest fn-name->random-fn-name
-  (is (= "poisson" (gen/fn-name->random-fn-name "-random-poisson")))
-  (is (= "poisson-like" (gen/fn-name->random-fn-name "-sample-poisson"))))
-
-(deftest remove-prefix
-  (is (= "randint" (gen/remove-prefix "-random-" "-random-randint")))
-  (is (= "exponential" (gen/remove-prefix "-sample-" "-sample-exponential"))))
-
-(deftest in-namespace-random?
-  (is (gen/in-namespace-random? "random_randint"))
-  (is (gen/in-namespace-random? "sample_poisson"))
-  (is (not (gen/in-namespace-random? "rnn")))
-  (is (not (gen/in-namespace-random? "activation"))))
-
 (defn ndarray-reflect-info [name]
   (->> gen/ndarray-public-no-default
        (filter #(= name (str (:name %))))
@@ -331,25 +317,14 @@
 (deftest test-write-to-file
   (testing "symbol-api"
     (let [fname "test/test-symbol-api.clj"
-          fns (gen/all-symbol-api-functions gen/op-names)
-          _ (gen/write-to-file [(first fns) (second fns)]
-                               (gen/symbol-api-gen-ns false)
+          _ (gen/write-to-file [(first gen/all-symbol-api-functions)
+                                (second gen/all-symbol-api-functions)]
+                               gen/symbol-api-gen-ns
                                fname)
           good-contents (slurp "test/good-test-symbol-api.clj")
           contents (slurp fname)]
       (is (= good-contents contents))))
 
-  (testing "symbol-random-api"
-    (let [fname "test/test-symbol-random-api.clj"
-          fns (gen/all-symbol-random-api-functions gen/op-names)
-          _ (gen/write-to-file [(first fns) (second fns)]
-                               (gen/symbol-api-gen-ns true)
-                               fname)
-          good-contents (slurp "test/good-test-symbol-random-api.clj")
-          contents (slurp fname)]
-      (is (= good-contents contents))))
-
-
  (testing "symbol"
     (let [fname "test/test-symbol.clj"
           _ (gen/write-to-file [(first gen/all-symbol-functions)]
@@ -361,24 +336,14 @@
 
   (testing "ndarray-api"
     (let [fname "test/test-ndarray-api.clj"
-          fns (gen/all-ndarray-api-functions gen/op-names)
-          _ (gen/write-to-file [(first fns) (second fns)]
-                               (gen/ndarray-api-gen-ns false)
+          _ (gen/write-to-file [(first gen/all-ndarray-api-functions)
+                                (second gen/all-ndarray-api-functions)]
+                               gen/ndarray-api-gen-ns
                                fname)
           good-contents (slurp "test/good-test-ndarray-api.clj")
           contents (slurp fname)]
       (is (= good-contents contents))))
 
-  (testing "ndarray-random-api"
-    (let [fname "test/test-ndarray-random-api.clj"
-          fns (gen/all-ndarray-random-api-functions gen/op-names)
-          _ (gen/write-to-file [(first fns) (second fns)]
-                               (gen/ndarray-api-gen-ns true)
-                               fname)
-          good-contents (slurp "test/good-test-ndarray-random-api.clj")
-          contents (slurp fname)]
-      (is (= good-contents contents))))
-
   (testing "ndarray"
     (let [fname "test/test-ndarray.clj"
           _ (gen/write-to-file [(first gen/all-ndarray-functions)]
diff --git a/contrib/clojure-package/test/good-test-ndarray-random-api.clj 
b/contrib/clojure-package/test/good-test-ndarray-random-api.clj
deleted file mode 100644
index 230e103..0000000
--- a/contrib/clojure-package/test/good-test-ndarray-random-api.clj
+++ /dev/null
@@ -1,95 +0,0 @@
-(ns
-  ^{:doc "Experimental"}
-  org.apache.clojure-mxnet.ndarray-random-api
-  (:refer-clojure :exclude [* - + > >= < <= / cast concat flatten identity 
load max
-                            min repeat reverse set sort take to-array empty 
shuffle
-                            ref])
-  (:require [org.apache.clojure-mxnet.shape :as mx-shape]
-            [org.apache.clojure-mxnet.util :as util])
-  (:import (org.apache.mxnet NDArrayAPI)))
-
-;; Do not edit - this is auto-generated
-
-;; Licensed to the Apache Software Foundation (ASF) under one or more
-;; contributor license agreements.  See the NOTICE file distributed with
-;; this work for additional information regarding copyright ownership.
-;; The ASF licenses this file to You under the Apache License, Version 2.0
-;; (the "License"); you may not use this file except in compliance with
-;; the License.  You may obtain a copy of the License at
-;;
-;;    http://www.apache.org/licenses/LICENSE-2.0
-;;
-;; Unless required by applicable law or agreed to in writing, software
-;; distributed under the License is distributed on an "AS IS" BASIS,
-;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-;; See the License for the specific language governing permissions and
-;; limitations under the License.
-;;
-
-
-
-
-(defn
- exponential
- "Draw random samples from an exponential distribution.
-  
-  Samples are distributed according to an exponential distribution 
parametrized by *lambda* (rate).
-  
-  Example::
-  
-     exponential(lam=4, shape=(2,2)) = [[ 0.0097189 ,  0.08999364],
-                                        [ 0.04146638,  0.31715935]]
-  
-  
-  Defined in src/operator/random/sample_op.cc:L137
-  
-  `lam`: Lambda parameter (rate) of the exponential distribution. (optional)
-  `shape`: Shape of the output. (optional)
-  `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for 
imperative calls. (optional)
-  `dtype`: DType of the output in case this can't be inferred. Defaults to 
float32 if not defined (dtype=None). (optional)
-  `out`: Output array. (optional)"
- ([] (exponential {}))
- ([{:keys [lam shape ctx dtype out],
-    :or {lam nil, shape nil, ctx nil, dtype nil, out nil},
-    :as opts}]
-  (util/coerce-return
-   (NDArrayAPI/random_exponential
-    (util/->option lam)
-    (util/->option (clojure.core/when shape (mx-shape/->shape shape)))
-    (util/->option ctx)
-    (util/->option dtype)
-    (util/->option out)))))
-
-(defn
- gamma
- "Draw random samples from a gamma distribution.
-  
-  Samples are distributed according to a gamma distribution parametrized by 
*alpha* (shape) and *beta* (scale).
-  
-  Example::
-  
-     gamma(alpha=9, beta=0.5, shape=(2,2)) = [[ 7.10486984,  3.37695289],
-                                              [ 3.91697288,  3.65933681]]
-  
-  
-  Defined in src/operator/random/sample_op.cc:L125
-  
-  `alpha`: Alpha parameter (shape) of the gamma distribution. (optional)
-  `beta`: Beta parameter (scale) of the gamma distribution. (optional)
-  `shape`: Shape of the output. (optional)
-  `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for 
imperative calls. (optional)
-  `dtype`: DType of the output in case this can't be inferred. Defaults to 
float32 if not defined (dtype=None). (optional)
-  `out`: Output array. (optional)"
- ([] (gamma {}))
- ([{:keys [alpha beta shape ctx dtype out],
-    :or {alpha nil, beta nil, shape nil, ctx nil, dtype nil, out nil},
-    :as opts}]
-  (util/coerce-return
-   (NDArrayAPI/random_gamma
-    (util/->option alpha)
-    (util/->option beta)
-    (util/->option (clojure.core/when shape (mx-shape/->shape shape)))
-    (util/->option ctx)
-    (util/->option dtype)
-    (util/->option out)))))
-
diff --git a/contrib/clojure-package/test/good-test-symbol-random-api.clj 
b/contrib/clojure-package/test/good-test-symbol-random-api.clj
deleted file mode 100644
index 7202d2e..0000000
--- a/contrib/clojure-package/test/good-test-symbol-random-api.clj
+++ /dev/null
@@ -1,118 +0,0 @@
-(ns
-  ^{:doc "Experimental"}
-  org.apache.clojure-mxnet.symbol-random-api
-  (:refer-clojure :exclude [* - + > >= < <= / cast concat identity flatten 
load max
-                            min repeat reverse set sort take to-array empty sin
-                            get apply shuffle ref])
-  (:require [org.apache.clojure-mxnet.util :as util]
-            [org.apache.clojure-mxnet.shape :as mx-shape])
-  (:import (org.apache.mxnet SymbolAPI)))
-
-;; Do not edit - this is auto-generated
-
-;; Licensed to the Apache Software Foundation (ASF) under one or more
-;; contributor license agreements.  See the NOTICE file distributed with
-;; this work for additional information regarding copyright ownership.
-;; The ASF licenses this file to You under the Apache License, Version 2.0
-;; (the "License"); you may not use this file except in compliance with
-;; the License.  You may obtain a copy of the License at
-;;
-;;    http://www.apache.org/licenses/LICENSE-2.0
-;;
-;; Unless required by applicable law or agreed to in writing, software
-;; distributed under the License is distributed on an "AS IS" BASIS,
-;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-;; See the License for the specific language governing permissions and
-;; limitations under the License.
-;;
-
-
-
-
-(defn
- exponential
- "Draw random samples from an exponential distribution.
-  
-  Samples are distributed according to an exponential distribution 
parametrized by *lambda* (rate).
-  
-  Example::
-  
-     exponential(lam=4, shape=(2,2)) = [[ 0.0097189 ,  0.08999364],
-                                        [ 0.04146638,  0.31715935]]
-  
-  
-  Defined in src/operator/random/sample_op.cc:L137
-  
-  `lam`: Lambda parameter (rate) of the exponential distribution. (optional)
-  `shape`: Shape of the output. (optional)
-  `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for 
imperative calls. (optional)
-  `dtype`: DType of the output in case this can't be inferred. Defaults to 
float32 if not defined (dtype=None). (optional)
-  `name`: Name of the symbol (optional)
-  `attr`: Attributes of the symbol (optional)"
- [{:keys [lam shape ctx dtype name attr],
-   :or {lam nil, shape nil, ctx nil, dtype nil, name nil, attr nil},
-   :as opts}]
- (util/coerce-return
-  (SymbolAPI/random_exponential
-   (util/->option lam)
-   (util/->option (clojure.core/when shape (mx-shape/->shape shape)))
-   (util/->option ctx)
-   (util/->option dtype)
-   name
-   (clojure.core/when
-    attr
-    (clojure.core/->>
-     attr
-     (clojure.core/mapv
-      (clojure.core/fn [[k v]] [k (clojure.core/str v)]))
-     (clojure.core/into {})
-     util/convert-map)))))
-
-(defn
- gamma
- "Draw random samples from a gamma distribution.
-  
-  Samples are distributed according to a gamma distribution parametrized by 
*alpha* (shape) and *beta* (scale).
-  
-  Example::
-  
-     gamma(alpha=9, beta=0.5, shape=(2,2)) = [[ 7.10486984,  3.37695289],
-                                              [ 3.91697288,  3.65933681]]
-  
-  
-  Defined in src/operator/random/sample_op.cc:L125
-  
-  `alpha`: Alpha parameter (shape) of the gamma distribution. (optional)
-  `beta`: Beta parameter (scale) of the gamma distribution. (optional)
-  `shape`: Shape of the output. (optional)
-  `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for 
imperative calls. (optional)
-  `dtype`: DType of the output in case this can't be inferred. Defaults to 
float32 if not defined (dtype=None). (optional)
-  `name`: Name of the symbol (optional)
-  `attr`: Attributes of the symbol (optional)"
- [{:keys [alpha beta shape ctx dtype name attr],
-   :or
-   {alpha nil,
-    beta nil,
-    shape nil,
-    ctx nil,
-    dtype nil,
-    name nil,
-    attr nil},
-   :as opts}]
- (util/coerce-return
-  (SymbolAPI/random_gamma
-   (util/->option alpha)
-   (util/->option beta)
-   (util/->option (clojure.core/when shape (mx-shape/->shape shape)))
-   (util/->option ctx)
-   (util/->option dtype)
-   name
-   (clojure.core/when
-    attr
-    (clojure.core/->>
-     attr
-     (clojure.core/mapv
-      (clojure.core/fn [[k v]] [k (clojure.core/str v)]))
-     (clojure.core/into {})
-     util/convert-map)))))
-
diff --git a/contrib/clojure-package/test/test-ndarray-random-api.clj 
b/contrib/clojure-package/test/test-ndarray-random-api.clj
deleted file mode 100644
index 230e103..0000000
--- a/contrib/clojure-package/test/test-ndarray-random-api.clj
+++ /dev/null
@@ -1,95 +0,0 @@
-(ns
-  ^{:doc "Experimental"}
-  org.apache.clojure-mxnet.ndarray-random-api
-  (:refer-clojure :exclude [* - + > >= < <= / cast concat flatten identity 
load max
-                            min repeat reverse set sort take to-array empty 
shuffle
-                            ref])
-  (:require [org.apache.clojure-mxnet.shape :as mx-shape]
-            [org.apache.clojure-mxnet.util :as util])
-  (:import (org.apache.mxnet NDArrayAPI)))
-
-;; Do not edit - this is auto-generated
-
-;; Licensed to the Apache Software Foundation (ASF) under one or more
-;; contributor license agreements.  See the NOTICE file distributed with
-;; this work for additional information regarding copyright ownership.
-;; The ASF licenses this file to You under the Apache License, Version 2.0
-;; (the "License"); you may not use this file except in compliance with
-;; the License.  You may obtain a copy of the License at
-;;
-;;    http://www.apache.org/licenses/LICENSE-2.0
-;;
-;; Unless required by applicable law or agreed to in writing, software
-;; distributed under the License is distributed on an "AS IS" BASIS,
-;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-;; See the License for the specific language governing permissions and
-;; limitations under the License.
-;;
-
-
-
-
-(defn
- exponential
- "Draw random samples from an exponential distribution.
-  
-  Samples are distributed according to an exponential distribution 
parametrized by *lambda* (rate).
-  
-  Example::
-  
-     exponential(lam=4, shape=(2,2)) = [[ 0.0097189 ,  0.08999364],
-                                        [ 0.04146638,  0.31715935]]
-  
-  
-  Defined in src/operator/random/sample_op.cc:L137
-  
-  `lam`: Lambda parameter (rate) of the exponential distribution. (optional)
-  `shape`: Shape of the output. (optional)
-  `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for 
imperative calls. (optional)
-  `dtype`: DType of the output in case this can't be inferred. Defaults to 
float32 if not defined (dtype=None). (optional)
-  `out`: Output array. (optional)"
- ([] (exponential {}))
- ([{:keys [lam shape ctx dtype out],
-    :or {lam nil, shape nil, ctx nil, dtype nil, out nil},
-    :as opts}]
-  (util/coerce-return
-   (NDArrayAPI/random_exponential
-    (util/->option lam)
-    (util/->option (clojure.core/when shape (mx-shape/->shape shape)))
-    (util/->option ctx)
-    (util/->option dtype)
-    (util/->option out)))))
-
-(defn
- gamma
- "Draw random samples from a gamma distribution.
-  
-  Samples are distributed according to a gamma distribution parametrized by 
*alpha* (shape) and *beta* (scale).
-  
-  Example::
-  
-     gamma(alpha=9, beta=0.5, shape=(2,2)) = [[ 7.10486984,  3.37695289],
-                                              [ 3.91697288,  3.65933681]]
-  
-  
-  Defined in src/operator/random/sample_op.cc:L125
-  
-  `alpha`: Alpha parameter (shape) of the gamma distribution. (optional)
-  `beta`: Beta parameter (scale) of the gamma distribution. (optional)
-  `shape`: Shape of the output. (optional)
-  `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for 
imperative calls. (optional)
-  `dtype`: DType of the output in case this can't be inferred. Defaults to 
float32 if not defined (dtype=None). (optional)
-  `out`: Output array. (optional)"
- ([] (gamma {}))
- ([{:keys [alpha beta shape ctx dtype out],
-    :or {alpha nil, beta nil, shape nil, ctx nil, dtype nil, out nil},
-    :as opts}]
-  (util/coerce-return
-   (NDArrayAPI/random_gamma
-    (util/->option alpha)
-    (util/->option beta)
-    (util/->option (clojure.core/when shape (mx-shape/->shape shape)))
-    (util/->option ctx)
-    (util/->option dtype)
-    (util/->option out)))))
-
diff --git a/contrib/clojure-package/test/test-symbol-random-api.clj 
b/contrib/clojure-package/test/test-symbol-random-api.clj
deleted file mode 100644
index 7202d2e..0000000
--- a/contrib/clojure-package/test/test-symbol-random-api.clj
+++ /dev/null
@@ -1,118 +0,0 @@
-(ns
-  ^{:doc "Experimental"}
-  org.apache.clojure-mxnet.symbol-random-api
-  (:refer-clojure :exclude [* - + > >= < <= / cast concat identity flatten 
load max
-                            min repeat reverse set sort take to-array empty sin
-                            get apply shuffle ref])
-  (:require [org.apache.clojure-mxnet.util :as util]
-            [org.apache.clojure-mxnet.shape :as mx-shape])
-  (:import (org.apache.mxnet SymbolAPI)))
-
-;; Do not edit - this is auto-generated
-
-;; Licensed to the Apache Software Foundation (ASF) under one or more
-;; contributor license agreements.  See the NOTICE file distributed with
-;; this work for additional information regarding copyright ownership.
-;; The ASF licenses this file to You under the Apache License, Version 2.0
-;; (the "License"); you may not use this file except in compliance with
-;; the License.  You may obtain a copy of the License at
-;;
-;;    http://www.apache.org/licenses/LICENSE-2.0
-;;
-;; Unless required by applicable law or agreed to in writing, software
-;; distributed under the License is distributed on an "AS IS" BASIS,
-;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-;; See the License for the specific language governing permissions and
-;; limitations under the License.
-;;
-
-
-
-
-(defn
- exponential
- "Draw random samples from an exponential distribution.
-  
-  Samples are distributed according to an exponential distribution 
parametrized by *lambda* (rate).
-  
-  Example::
-  
-     exponential(lam=4, shape=(2,2)) = [[ 0.0097189 ,  0.08999364],
-                                        [ 0.04146638,  0.31715935]]
-  
-  
-  Defined in src/operator/random/sample_op.cc:L137
-  
-  `lam`: Lambda parameter (rate) of the exponential distribution. (optional)
-  `shape`: Shape of the output. (optional)
-  `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for 
imperative calls. (optional)
-  `dtype`: DType of the output in case this can't be inferred. Defaults to 
float32 if not defined (dtype=None). (optional)
-  `name`: Name of the symbol (optional)
-  `attr`: Attributes of the symbol (optional)"
- [{:keys [lam shape ctx dtype name attr],
-   :or {lam nil, shape nil, ctx nil, dtype nil, name nil, attr nil},
-   :as opts}]
- (util/coerce-return
-  (SymbolAPI/random_exponential
-   (util/->option lam)
-   (util/->option (clojure.core/when shape (mx-shape/->shape shape)))
-   (util/->option ctx)
-   (util/->option dtype)
-   name
-   (clojure.core/when
-    attr
-    (clojure.core/->>
-     attr
-     (clojure.core/mapv
-      (clojure.core/fn [[k v]] [k (clojure.core/str v)]))
-     (clojure.core/into {})
-     util/convert-map)))))
-
-(defn
- gamma
- "Draw random samples from a gamma distribution.
-  
-  Samples are distributed according to a gamma distribution parametrized by 
*alpha* (shape) and *beta* (scale).
-  
-  Example::
-  
-     gamma(alpha=9, beta=0.5, shape=(2,2)) = [[ 7.10486984,  3.37695289],
-                                              [ 3.91697288,  3.65933681]]
-  
-  
-  Defined in src/operator/random/sample_op.cc:L125
-  
-  `alpha`: Alpha parameter (shape) of the gamma distribution. (optional)
-  `beta`: Beta parameter (scale) of the gamma distribution. (optional)
-  `shape`: Shape of the output. (optional)
-  `ctx`: Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for 
imperative calls. (optional)
-  `dtype`: DType of the output in case this can't be inferred. Defaults to 
float32 if not defined (dtype=None). (optional)
-  `name`: Name of the symbol (optional)
-  `attr`: Attributes of the symbol (optional)"
- [{:keys [alpha beta shape ctx dtype name attr],
-   :or
-   {alpha nil,
-    beta nil,
-    shape nil,
-    ctx nil,
-    dtype nil,
-    name nil,
-    attr nil},
-   :as opts}]
- (util/coerce-return
-  (SymbolAPI/random_gamma
-   (util/->option alpha)
-   (util/->option beta)
-   (util/->option (clojure.core/when shape (mx-shape/->shape shape)))
-   (util/->option ctx)
-   (util/->option dtype)
-   name
-   (clojure.core/when
-    attr
-    (clojure.core/->>
-     attr
-     (clojure.core/mapv
-      (clojure.core/fn [[k v]] [k (clojure.core/str v)]))
-     (clojure.core/into {})
-     util/convert-map)))))
-

Reply via email to