An obvious stuff:
> (identity-matrix :ndarray 3)
#<NDArray [[1.0 0.0 0.0] [0.0 1.0 0.0] [0.0 0.0 1.0]]>
> (identity-matrix :ndarray-long 3)
#<NDArrayLong [[1 0 0] [0 1 0] [0 0 1]]>
> (identity-matrix :ndarray-double 3)| -module(tmp). | |
| -behaviour(gen_server). | |
| %% API | |
| -export([start_link/0]). | |
| %% gen_server callbacks | |
| -export([init/1, handle_call/3, handle_cast/2, handle_info/2, | |
| terminate/2, code_change/3]). |
| -module(foobar_tests). | |
| -include_lib("proper/include/proper.hrl"). | |
| -include_lib("eunit/include/eunit.hrl"). | |
| prop_delete() -> | |
| ?FORALL({X,L}, {integer(),list(integer())}, | |
| not lists:member(X, lists:delete(X, L))). | |
| proper_test() -> | |
| ?assertEqual( |
| (defrecord GHCache [^TTLCache ttl-cache etagged cleaner-c]) | |
| (defn init-cache [] | |
| (let [control-c (chan) | |
| old-killer (fn [etagged] | |
| (let [now (System/currentTimeMillis)] | |
| (->> etagged | |
| (filter #(> (- now (-> % value :created-at)) | |
| (* 6 60 60 1000))) | |
| (into {})))) |
| curl -XPOST -d "source=`git config user.name`&from_address=`git config user.email`&subject=pushed to production&content=`git log --pretty=format:'%s %H' -n 1`" https://api.flowdock.com/v1/messages/team_inbox/YOUR_TOKEN_GOES_HERE |
| (defn gaussian [m mu gamma] | |
| (let [m (mp/clone m) | |
| t (/ 1 (* gamma (Math/sqrt (* 2 Math/PI))))] | |
| (magic/specialize :double | |
| (loop-over [m] | |
| (let [x (aget m-data m-idx) | |
| exparg (* -0.5 (Math/pow (/ (- x mu) gamma) 2)) | |
| g (* t (Math/exp exparg))] | |
| (aset m-data m-idx g)))))) |
| (def test-form1 | |
| '(let [^String a "a"] | |
| :ok)) | |
| (def test-form2 | |
| `(let [^String ~'a "a"] | |
| :ok)) | |
| (def test-form3 | |
| `(let [^String a# "a"] |
| vectorz: | |
| n=5: : 266.523286 ns | |
| n=50: : 156.841570 µs | |
| n=500: : 281.972092 ms | |
| n=1000: : 8.218981 sec | |
| persistent vectors: | |
| n=5: : 69.954376 µs | |
| n=50: : 34.461107 ms | |
| ndarray: | |
| n=5: : 15.065835 µs |
| vectorz: | |
| n=5: : 266.523286 ns | |
| n=50: : 156.841570 µs | |
| n=500: : 281.972092 ms | |
| n=1000: : 8.218981 sec | |
| persistent vectors: | |
| n=5: : 69.954376 µs | |
| n=50: : 34.461107 ms | |
| ndarray: | |
| n=5: : 15.065835 µs |