Frequency Asked Questions
- How does CodeCogs.com work?
- Why C/C++?
- How do I search for code (the cogs)?
- Do I need to register?
- How do I un-register?
- How do I manage my cogs?
- What guarantees / protection is there for me when I use the site?
- What is the forum & how does it work?
- How much does it cost to download code from the codecogs.com library?
- What about software licences?
- How do I download code that I have licences for?
- What is "My CodeCogs Account"?
- How are my Personal and Financial details stored?
- Which currency does the site operate in?
- How can I get more information?
- Do I receive support on the code that I own licences for?
- What is a sub-unit?
How does CodeCogs.com work?
Codecogs.com caters for the technical computing market, providing tools and code to reduce the barriers of access to high performance numerical code. It is an open-source C/C++ software component database, from which scientific, engineering and financial applications can be built. It is also a forum for sharing ideas, posting problems and helping others find solutions.
If you need a piece of code: Search our database to see if it is already there. If you can't find what you are looking for you can place a request on the website and other developers can bid to do the work for you. You then decide which bid to accept. Click here for requesters FAQ's.
If you are a developer: As a developer you can earn money and benefit from CodeCogs.com by contribute code that you've written. Your code will then be put in the database and visitors to the site will be able to browse and download it, either under the GNU General Public Licence (GPL) or through our Commercial Licence (or both). You decide which type of licence(s) you want applied to your code and maintain control over it.
We have chosen to develop all of our software modules in C/C++ because it can be optimised to produce high performance numerical components, while also being easily integrated into all of the major development environments (from C#, VB, Fortran, Perl and R to Excel). We have carefully structured all component code to facilitate the easiest possible integration into your projects - often just 'copy and paste'.
To easy the use of this code in other .NET languages we have created wrappers for most components that can be downloaded along with the project files to allow this code to be very quickly integrated with Visual Basic, C# and any other .NET language.
How do I search for code (the Cogs)?
We have tried to keep searching the cogs as simple as possible. You can either browse them directly via the drop down lists on the left hand side of the page, or type a phrase into the search engine at the top left of the screen. If you know the module that you want then type the category and name into the search engine and if this uniquely identifies a component you will be taken directly to it. As an example try 'bessel/i/i'.
Do I need to register?
No. You are free to look around the site without registering. However, if you would like to start using some of the site's features you will need to register. We only require a username, password and email address for this. We take the security of your details very seriously and never pass them on without your consent. You can also un-register at any time.
Once you are registered you can:
- Buy commercial components.
- Receive email alerts and news.
How do I un-register?
How do I manage my details on CodeCogs?
By clicking the "My Cogs" tab at the top of the page, you will be able to view and modify all details that relate to your account. The local menu on the left side has options for adjusting your home page (including your photo) and private account settings (password, email, address etc).
From the My Cogs areas you can also view all the licences you own, transfer funds, download your code, review bids etc.
What guarantees / protection is there for me when I use the site?
What is the forum and How does it work?
The forum is a place where people can share views, send messages, post comments and help others with their technical problems. To access, simply click on the 'Forums' tab on the main menu bar.
The forum system is also integrated into the bottom of all component and reference pages allowing you to instance express your views about that page. We would encourage all comments and questions.
How much does it cost to download code from CodeCogs.com?
It depends. The majority of the code on the database is free to download and use under the terms of the GNU General Public Licence. However, if you intend to use the code for profit, you must buy a Commercial Licence.
What about software licences?
At CodeCogs.com, we respect copyright and all other intellectual property rights. As a result, we have two basic types of licence that we distribute code under:
How do I download code that I have licences for?
There are several ways that you can access and download code that you have a licence for. Probably the easiest method is by going to the "My Downloads" page on the "My Cogs" tab. Here you will see a list of all of the licences that you own along with the licence types you own.
Similar download buttons are also shown at the top of the each component page that you own licences for. Look for them next to the shoping cart buttons in the top right of each page.
In general you are able to download the source code either as a single text file (e.g. "name.h") or as a .zip file that contains the text file (or files if there are sub units). '.h' is a C/C++ header file. It can be opened in most text editors (e.g. text pad) or C compilers. This makes it easy for you to "cut-n-paste" it into anything that you are writing. You can also download your excel add-ins and .NET wrappers from this page.
What is "My CodeCogs Account"?
We use a range of financial systems to transfer funds to and from your CodeCogs account. You are free to move funds in or out of this account at any time. CodeCogs does not charge for this, although PayPal does require a service charge (typicalled 3.4%). Your CodeCogs account is also used:
- To pay you for any licences sold for work that you submitted (account credited).
- To pay you for any work that you do in response to one of your bids being accepted (account credited)
- To pay for any licences you purchase (account debited).
- To escrow funds when you accept a developer to develop one of your requests. Once the work is completed these funds are transferred to the developer (account debited).
Each time you purchase a licence we will verify if you have sufficient funds in your account to pay for the transaction. If you do not have the amount needed, the difference to be transferred will be calculated. It is possible to also transfer "Additional Funds to add to my CodeCogs Account" at this point, thereby avoiding the complications of having to fund your account during latter purchases.
CodeCogs will never transfer funds out of your account without your authorisation. You will be informed of all transactions.
How are my Personal and Financial details stored?
CodeCogs does not store and Financial details, we use extremely secure 3rd parties such as PayPal or Barclays Bank to process all transactions.
We use "md5" cryptography to authenticate all passwords and prevent unauthorised access to accounts.
We never released any details to any 3rd parties - except under you permission (i.e. when making transferring money).
CodeCogs, through its parent company Zyba Ltd, is governed by the UK Data Protection Act 1998: registration number is Z9501850.
Which currency does the site operate in?
You can view prices in a range of currencies, but internally everything is prices in British Pounds (GBP).
On the My Contact Details page you will see a drop down box that gives you a selection of different currencies. This will convert all prices across the site into that currency, thus enabling you to better view and compare prices. It should be noted though that CodeCogs.com is based in the UK and all final transactions will carried out in British Pounds. This means that when you finally checkout a conversion will be done and you will be charged the equivalent amount in British Pounds. It does not affect the price you pay.
Note: Exchange rates vary. All prices shown, if not in British Pounds, will be converted using our latest exchange rate figures. This means that prices may appear to vary from one day to the next if you are not viewing the site in British Pounds. The official value will always be the price in British Pounds.
How can I get more information?
Do I receive support on the code that I own licences for?
For any piece of code that is in the public domain (under the GNU General Public Licence ) is not required to be supported - although many developers will help you for free. However, if you purchase a Commercial Licence for a piece of code, the developer is required to maintain the code and respond to errors or bugs that you raise. If for some reason they cannot do this then we will take over this role and guarantee support. In almost all cases were an error is reported you will be refunded any monies you have paid.
What is a sub-unit?
Various pieces of code on the site require the use of extra 'bits' of code to work correctly. We call these extra bits 'sub-units'. Each module shows a list of all subunits it requires near the top left of the display. The combined price for everything is then calculated automatically.
If you already own a licence for a sub-unit you will not be charged for it again. The ability of CodeCogs to break complex suite of function into their atomic components is what seperates the CodeCogs from most other libraries - allowing you to download only what you need and nothing more.
How do we calculate the number (and cost) of required subunits?
To use a module, you must own a licence for it. If that module has any subunits, they all count as separate modules so you must also own licences for each one. This is the general case, which applies to both GPL and commercial licences. However, commercial licencing policy requires you to hold one licence for each machine you use the code on, and that if you have several licences for a module, you also need at least that many for each of its subunits. It is possible that you may already hold licences for some or all of a module's subunits, because another module that you bought used them, or perhaps you bought them directly. In this case, the number of licences you already own is taken into account.
When adding a licence for a module to your cart, you are intending to increase the number you own by 1. Lets say you already own 'X' licences for this module and it uses another module, for which you already own 'Y' licences. If Y is less than X+1, you will need to buy extra licences for the subunit. The number required is X+1-Y, which will be added to your cart, minus any already there. More generally, if you are adding N licences (for the module) and have M licences (for the subunit) already in the cart, the number of extra subunit licences that should be added is X+N-Y-M.
Multiplying this number by the subunit's unit cost gives you the total extra cost. If the module has several subunits, then this calculation is repeated for each one and the values added together.
What if I don't want the subunits?
If you want to use a number of licences for a module, you are required to hold at least that many licences for each of its subunits. The only way round this is to substitute your own code in place of the subunit(s). To allow for this, you can manually adjust the number of licences, for any module in your cart, prior to payment.
Why aren't the subunits integrated into the modules that use them?
This would destroy the modularity of our system and result in the duplication of code. Keeping everything separate gives you the greatest flexibility to mix & match to your needs and allows each module's price to more accurately reflect the amount of value it actually adds, rather than how much it incorporates from its subunits. Our system automatically selects and adds all the subunit licences you will need for each module, allowing you to view and download the code, for a module plus its subunits, as an integrated package.