Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7866225
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T00:19:43+00:00 2026-06-03T00:19:43+00:00

This should be a trivial question, but didn’t figure out as a beginner. I

  • 0

This should be a trivial question, but didn’t figure out as a beginner.

I have the following Python C-extenstion using numpy arrays:

#include <cmath>
#include <Python.h>
#include <iostream>
#include "numpy/arrayobject.h"

using namespace std;
PyObject *func_calc(PyObject *self, PyObject *args)
{
    PyObject * PO_clmn;
    PyArrayObject * py_clmn;
    if (!PyArg_ParseTuple(args, "O", &PO_clmn))
        return NULL;
    py_clmn = (PyArrayObject*)PyArray_ContiguousFromObject(PO_clmn,PyArray_DOUBLE,1,1);
    double *clmn = (double*)(py_clmn->data);

    int i;
    int N = py_clmn->dimensions[0];
    int flag_threadholds[N_threadholds];
    for (i=0; i<N; i++)
    {
        clmn[i]=1;
    }
    return Py_None;
}

static PyMethodDef exampleMethods[] = 
{
    { "calc", func_calc, METH_VARARGS },
    { NULL, NULL }
} ;

PyMODINIT_FUNC initcalc()
{
    import_array();
    Py_InitModule("calc", exampleMethods);
}

After compiling it as a shared library, I found the following call failed to modify the element clmn array to “1”:

import numpy
from calc import calc
clmn=numpy.zeros(10)
calc(clmn)
print clmn #[0,0...

Thanks in advance!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T00:19:44+00:00Added an answer on June 3, 2026 at 12:19 am

    Depending on the data you pass in, the call to PyArray_ContiguousFromObject may return the original object, or it may return a copy of the object. If it returns a copy, then your code is modifying that copy, not the original object.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I almost didn't dare to ask this question because it looks trivial but after
This might be a trivial question, but I have not found anything about it,
This may be an old and trivial question but I have been struggling to
This is probably a trivial question, but how do I parallelize the following loop
(Sorry if it's a trivial question.) I have documents that looks like this (Python
This should be a very trivial question. i am new to Clojure and writing
This should be a simple question, but I haven't been able to find a
This is a trivial question, but for some reason I am having trouble with
Perhaps this question is trivial, but thinking a second time about it I wonder
This one could be a trivial 'yes or no' question but still could be

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.