예제 #1
0
 public static void TF_SetAttrTypeList(TF_OperationDescription desc, string attr_name, TF_DataType[] values)
 {
     fixed(TF_DataType *ptr = &values[0])
     {
         TF_SetAttrTypeList(desc, attr_name, ptr, values.Length);
     }
 }
예제 #2
0
 public static void TF_SetAttrFuncNames(TF_OperationDescription desc, string attr_name, string[] attr_values)
 {
     for (int i = 0; i < attr_values.Length; i++)
     {
         TF_SetAttrFuncName(desc, attr_name, attr_values[i], Convert.ToUInt64(attr_values[i].Length));
     }
 }
예제 #3
0
        public static void TF_SetAttrString(TF_OperationDescription desc, string attr_name, string attr_value)
        {
            ulong length = Convert.ToUInt64(attr_value.Length);
            var   ptr    = Marshal.StringToHGlobalAnsi(attr_value);

            TF_SetAttrString(desc, attr_name, ptr, length);
        }
예제 #4
0
        public static void TF_SetAttrStringList(TF_OperationDescription desc, string attr_name, string[] attr_values)
        {
            IntPtr[] ptrs    = new IntPtr[attr_values.Length];
            ulong[]  lengths = new ulong[attr_values.Length];
            for (int i = 0; i < attr_values.Length; i++)
            {
                ptrs[i]    = Marshal.StringToHGlobalAnsi(attr_values[i]);
                lengths[i] = Convert.ToUInt64(attr_values[i].Length);
            }

            fixed(IntPtr *p = &ptrs[0])
            {
                TF_SetAttrStringList(desc, attr_name, (void **)p, ref lengths[0], attr_values.Length);
            }
        }
예제 #5
0
        public static void TF_SetAttrShapeList(TF_OperationDescription desc, string attr_name, long[][] dims)
        {
            int[]    num_dims = new int[dims.GetLength(0)];
            IntPtr[] ptr_dims = new IntPtr[dims.GetLength(0)];
            for (int i = 0; i < dims.GetLength(0); i++)
            {
                num_dims[i] = dims[i].Length;
                ptr_dims[i] = Marshal.AllocHGlobal(sizeof(int) * dims[i].Length);
                Marshal.Copy(dims[i], 0, ptr_dims[i], dims[i].Length);
            }

            fixed(IntPtr *ptr = &ptr_dims[0])
            {
                c_api.TF_SetAttrShapeList(desc, attr_name, (long **)ptr, ref num_dims[0], dims.Length);
            }
        }
예제 #6
0
 public static void TF_SetAttrFuncName(TF_OperationDescription desc, string attr_name, string attr_value)
 {
     TF_SetAttrFuncName(desc, attr_name, attr_value, Convert.ToUInt64(attr_value.Length));
 }