public static BlockVector <T> sub <T>(BlockVector <T> x, BlockVector <T> y) where T : unmanaged { var z = x.Replicate(true); return(sub(x, y, ref z)); }
public static BlockVector <N, T> or <N, T>(BlockVector <N, T> x, BlockVector <N, T> y) where N : ITypeNat, new() where T : unmanaged { var dst = x.Replicate(true); return(or(x, y, ref dst)); }
public static BlockVector <T> or <T>(BlockVector <T> lhs, BlockVector <T> rhs) where T : unmanaged { var dst = lhs.Replicate(true); gbitspan.or(lhs.Data, rhs.Data, dst.Data); return(dst); }
public static BlockVector <N, T> srl <N, T>(BlockVector <N, T> src, byte offset) where N : ITypeNat, new() where T : unmanaged { var dst = src.Replicate(true); return(srl(src, offset, ref dst)); }
public static BlockVector <N, T> and <N, T>(BlockVector <N, T> lhs, T rhs) where N : ITypeNat, new() where T : unmanaged { var dst = lhs.Replicate(); gbitspan.and(dst.Data, rhs); return(dst); }
public static BlockVector <N, T> xor <N, T>(BlockVector <N, T> x, BlockVector <N, T> y) where N : ITypeNat, new() where T : unmanaged { var dst = x.Replicate(true); gbitspan.xor(x.Data, y.Data, dst.Data); return(dst); }
public static BlockVector <N, T> add <N, T>(BlockVector <N, T> src, T scalar) where N : ITypeNat, new() where T : unmanaged { var dst = src.Replicate(true); add(src, scalar, ref dst); return(dst); }