Nothing
# Tests for extended tensor functions (3D, 4D, dup, info)
test_that("3D tensor creation works", {
ctx <- ggml_init(16 * 1024 * 1024)
tensor <- ggml_new_tensor_3d(ctx, GGML_TYPE_F32, 10, 20, 30)
expect_type(tensor, "externalptr")
expect_equal(ggml_nelements(tensor), 10 * 20 * 30)
expect_equal(ggml_n_dims(tensor), 3)
shape <- ggml_tensor_shape(tensor)
expect_equal(shape[1], 10)
expect_equal(shape[2], 20)
expect_equal(shape[3], 30)
expect_equal(shape[4], 1)
ggml_free(ctx)
})
test_that("4D tensor creation works", {
ctx <- ggml_init(16 * 1024 * 1024)
tensor <- ggml_new_tensor_4d(ctx, GGML_TYPE_F32, 2, 3, 4, 5)
expect_type(tensor, "externalptr")
expect_equal(ggml_nelements(tensor), 2 * 3 * 4 * 5)
expect_equal(ggml_n_dims(tensor), 4)
shape <- ggml_tensor_shape(tensor)
expect_equal(shape[1], 2)
expect_equal(shape[2], 3)
expect_equal(shape[3], 4)
expect_equal(shape[4], 5)
ggml_free(ctx)
})
test_that("dup_tensor creates copy with same shape", {
ctx <- ggml_init(4 * 1024 * 1024)
original <- ggml_new_tensor_2d(ctx, GGML_TYPE_F32, 10, 20)
duplicate <- ggml_dup_tensor(ctx, original)
expect_type(duplicate, "externalptr")
expect_equal(ggml_nelements(duplicate), ggml_nelements(original))
expect_equal(ggml_tensor_shape(duplicate), ggml_tensor_shape(original))
expect_equal(ggml_tensor_type(duplicate), ggml_tensor_type(original))
ggml_free(ctx)
})
test_that("tensor info functions work correctly", {
ctx <- ggml_init(4 * 1024 * 1024)
tensor <- ggml_new_tensor_2d(ctx, GGML_TYPE_F32, 10, 20)
# n_dims
expect_equal(ggml_n_dims(tensor), 2)
# is_contiguous (new tensor should be contiguous)
expect_true(ggml_is_contiguous(tensor))
# is_transposed (new tensor should not be transposed)
expect_false(ggml_is_transposed(tensor))
# is_permuted (new tensor should not be permuted)
expect_false(ggml_is_permuted(tensor))
# tensor_type
expect_equal(ggml_tensor_type(tensor), GGML_TYPE_F32)
ggml_free(ctx)
})
test_that("tensor_shape returns correct dimensions", {
ctx <- ggml_init(4 * 1024 * 1024)
# 1D
t1 <- ggml_new_tensor_1d(ctx, GGML_TYPE_F32, 100)
shape1 <- ggml_tensor_shape(t1)
expect_equal(shape1[1], 100)
expect_equal(shape1[2], 1)
# 2D
t2 <- ggml_new_tensor_2d(ctx, GGML_TYPE_F32, 10, 20)
shape2 <- ggml_tensor_shape(t2)
expect_equal(shape2[1], 10)
expect_equal(shape2[2], 20)
ggml_free(ctx)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.